@atproto/bsky 0.0.13 → 0.0.15

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 (51) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/app/bsky/feed/searchPosts.d.ts +3 -0
  3. package/dist/api/com/atproto/temp/fetchLabels.d.ts +3 -0
  4. package/dist/config.d.ts +2 -2
  5. package/dist/context.d.ts +1 -1
  6. package/dist/index.js +723 -443
  7. package/dist/index.js.map +3 -3
  8. package/dist/lexicon/index.d.ts +7 -0
  9. package/dist/lexicon/lexicons.d.ts +63 -0
  10. package/dist/lexicon/types/com/atproto/admin/defs.d.ts +2 -0
  11. package/dist/lexicon/types/com/atproto/server/getSession.d.ts +1 -0
  12. package/dist/lexicon/types/com/atproto/temp/fetchLabels.d.ts +33 -0
  13. package/package.json +10 -11
  14. package/src/api/app/bsky/actor/getSuggestions.ts +45 -21
  15. package/src/api/app/bsky/feed/getPostThread.ts +16 -4
  16. package/src/api/app/bsky/feed/searchPosts.ts +127 -0
  17. package/src/api/com/atproto/admin/reverseModerationAction.ts +3 -3
  18. package/src/api/com/atproto/admin/takeModerationAction.ts +2 -2
  19. package/src/api/com/atproto/admin/util.ts +3 -1
  20. package/src/api/com/atproto/temp/fetchLabels.ts +30 -0
  21. package/src/api/index.ts +4 -0
  22. package/src/config.ts +6 -6
  23. package/src/context.ts +11 -9
  24. package/src/db/periodic-moderation-action-reversal.ts +1 -9
  25. package/src/lexicon/index.ts +22 -0
  26. package/src/lexicon/lexicons.ts +192 -129
  27. package/src/lexicon/types/app/bsky/actor/defs.ts +2 -2
  28. package/src/lexicon/types/app/bsky/actor/searchActors.ts +2 -2
  29. package/src/lexicon/types/app/bsky/actor/searchActorsTypeahead.ts +2 -2
  30. package/src/lexicon/types/app/bsky/feed/searchPosts.ts +3 -3
  31. package/src/lexicon/types/app/bsky/graph/defs.ts +2 -2
  32. package/src/lexicon/types/app/bsky/unspecced/searchActorsSkeleton.ts +4 -4
  33. package/src/lexicon/types/app/bsky/unspecced/searchPostsSkeleton.ts +3 -3
  34. package/src/lexicon/types/com/atproto/admin/defs.ts +5 -3
  35. package/src/lexicon/types/com/atproto/admin/disableAccountInvites.ts +1 -1
  36. package/src/lexicon/types/com/atproto/admin/enableAccountInvites.ts +1 -1
  37. package/src/lexicon/types/com/atproto/admin/getModerationReports.ts +3 -3
  38. package/src/lexicon/types/com/atproto/admin/takeModerationAction.ts +1 -1
  39. package/src/lexicon/types/com/atproto/label/defs.ts +9 -9
  40. package/src/lexicon/types/com/atproto/label/queryLabels.ts +2 -2
  41. package/src/lexicon/types/com/atproto/repo/applyWrites.ts +1 -1
  42. package/src/lexicon/types/com/atproto/repo/createRecord.ts +2 -2
  43. package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +2 -2
  44. package/src/lexicon/types/com/atproto/repo/listRecords.ts +1 -1
  45. package/src/lexicon/types/com/atproto/repo/putRecord.ts +3 -3
  46. package/src/lexicon/types/com/atproto/server/getSession.ts +1 -0
  47. package/src/lexicon/types/com/atproto/sync/listBlobs.ts +1 -1
  48. package/src/lexicon/types/com/atproto/sync/subscribeRepos.ts +4 -4
  49. package/src/lexicon/types/com/atproto/temp/fetchLabels.ts +47 -0
  50. package/tests/admin/get-repo.test.ts +33 -0
  51. package/tests/views/suggestions.test.ts +15 -7
package/dist/index.js CHANGED
@@ -92101,7 +92101,7 @@ var require_utils7 = __commonJS({
92101
92101
  return array2[from3 + Math.floor(Math.random() * (length2 - from3))];
92102
92102
  }
92103
92103
  exports.sample = sample;
92104
- function shuffle(array2) {
92104
+ function shuffle2(array2) {
92105
92105
  let counter = array2.length;
92106
92106
  while (counter > 0) {
92107
92107
  const index = Math.floor(Math.random() * counter);
@@ -92110,7 +92110,7 @@ var require_utils7 = __commonJS({
92110
92110
  }
92111
92111
  return array2;
92112
92112
  }
92113
- exports.shuffle = shuffle;
92113
+ exports.shuffle = shuffle2;
92114
92114
  exports.CONNECTION_CLOSED_ERROR_MSG = "Connection is closed.";
92115
92115
  function zipMap(keys, values) {
92116
92116
  const map = /* @__PURE__ */ new Map();
@@ -99631,11 +99631,23 @@ var verifyDidSig = async (did2, data, sig, opts) => {
99631
99631
  return verifySig(keyBytes, data, sig, opts);
99632
99632
  };
99633
99633
  var verifySig = async (publicKey, data, sig, opts) => {
99634
+ const allowMalleable = opts?.allowMalleableSig ?? false;
99634
99635
  const msgHash = await sha2562(data);
99636
+ if (!allowMalleable && !isCompactFormat(sig)) {
99637
+ return false;
99638
+ }
99635
99639
  return p256.verify(sig, msgHash, publicKey, {
99636
- lowS: opts?.lowS ?? true
99640
+ lowS: !allowMalleable
99637
99641
  });
99638
99642
  };
99643
+ var isCompactFormat = (sig) => {
99644
+ try {
99645
+ const parsed = p256.Signature.fromCompact(sig);
99646
+ return equals(parsed.toCompactRawBytes(), sig);
99647
+ } catch {
99648
+ return false;
99649
+ }
99650
+ };
99639
99651
 
99640
99652
  // ../crypto/src/p256/plugin.ts
99641
99653
  var p256Plugin = {
@@ -99654,11 +99666,23 @@ var verifyDidSig2 = async (did2, data, sig, opts) => {
99654
99666
  return verifySig2(keyBytes, data, sig, opts);
99655
99667
  };
99656
99668
  var verifySig2 = async (publicKey, data, sig, opts) => {
99669
+ const allowMalleable = opts?.allowMalleableSig ?? false;
99657
99670
  const msgHash = await sha2562(data);
99671
+ if (!allowMalleable && !isCompactFormat2(sig)) {
99672
+ return false;
99673
+ }
99658
99674
  return secp256k1.verify(sig, msgHash, publicKey, {
99659
- lowS: opts?.lowS ?? true
99675
+ lowS: !allowMalleable
99660
99676
  });
99661
99677
  };
99678
+ var isCompactFormat2 = (sig) => {
99679
+ try {
99680
+ const parsed = secp256k1.Signature.fromCompact(sig);
99681
+ return equals(parsed.toCompactRawBytes(), sig);
99682
+ } catch {
99683
+ return false;
99684
+ }
99685
+ };
99662
99686
 
99663
99687
  // ../crypto/src/secp256k1/plugin.ts
99664
99688
  var secp256k1Plugin = {
@@ -109981,7 +110005,7 @@ var verifyJwt = async (jwtStr, ownDid, getSigningKey2) => {
109981
110005
  const sigBytes = fromString2(sig, "base64url");
109982
110006
  const verifySignatureWithKey = (key) => {
109983
110007
  return verifySignature(key, msgBytes, sigBytes, {
109984
- lowS: false
110008
+ allowMalleableSig: true
109985
110009
  });
109986
110010
  };
109987
110011
  const signingKey = await getSigningKey2(payload.iss, false);
@@ -110412,7 +110436,7 @@ function decodeQueryParam(type, value) {
110412
110436
  if (type === "float") {
110413
110437
  return Number(String(value));
110414
110438
  } else if (type === "integer") {
110415
- return Number(String(value)) | 0;
110439
+ return parseInt(String(value), 10) || 0;
110416
110440
  } else if (type === "boolean") {
110417
110441
  return value === "true";
110418
110442
  }
@@ -118592,11 +118616,11 @@ var setRepoRev = (res, rev) => {
118592
118616
  };
118593
118617
 
118594
118618
  // src/pipeline.ts
118595
- function createPipeline(skeleton19, hydration19, rules, presentation19) {
118619
+ function createPipeline(skeleton20, hydration20, rules, presentation20) {
118596
118620
  return async (params2, ctx) => {
118597
- const skeletonState = await skeleton19(params2, ctx);
118598
- const hydrationState = await hydration19(skeletonState, ctx);
118599
- return presentation19(rules(hydrationState, ctx), ctx);
118621
+ const skeletonState = await skeleton20(params2, ctx);
118622
+ const hydrationState = await hydration20(skeletonState, ctx);
118623
+ return presentation20(rules(hydrationState, ctx), ctx);
118600
118624
  };
118601
118625
  }
118602
118626
  function noRules(state) {
@@ -118897,7 +118921,7 @@ var schemaDict = {
118897
118921
  },
118898
118922
  durationInHours: {
118899
118923
  type: "integer",
118900
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
118924
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
118901
118925
  },
118902
118926
  subject: {
118903
118927
  type: "union",
@@ -118969,7 +118993,7 @@ var schemaDict = {
118969
118993
  },
118970
118994
  durationInHours: {
118971
118995
  type: "integer",
118972
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
118996
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
118973
118997
  },
118974
118998
  subject: {
118975
118999
  type: "union",
@@ -119036,7 +119060,7 @@ var schemaDict = {
119036
119060
  },
119037
119061
  durationInHours: {
119038
119062
  type: "integer",
119039
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
119063
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
119040
119064
  }
119041
119065
  }
119042
119066
  },
@@ -119281,6 +119305,10 @@ var schemaDict = {
119281
119305
  },
119282
119306
  inviteNote: {
119283
119307
  type: "string"
119308
+ },
119309
+ emailConfirmedAt: {
119310
+ type: "string",
119311
+ format: "datetime"
119284
119312
  }
119285
119313
  }
119286
119314
  },
@@ -119317,6 +119345,10 @@ var schemaDict = {
119317
119345
  invitesDisabled: {
119318
119346
  type: "boolean"
119319
119347
  },
119348
+ emailConfirmedAt: {
119349
+ type: "string",
119350
+ format: "datetime"
119351
+ },
119320
119352
  inviteNote: {
119321
119353
  type: "string"
119322
119354
  }
@@ -119564,7 +119596,7 @@ var schemaDict = {
119564
119596
  defs: {
119565
119597
  main: {
119566
119598
  type: "procedure",
119567
- description: "Disable an account from receiving new invite codes, but does not invalidate existing codes",
119599
+ description: "Disable an account from receiving new invite codes, but does not invalidate existing codes.",
119568
119600
  input: {
119569
119601
  encoding: "application/json",
119570
119602
  schema: {
@@ -119577,7 +119609,7 @@ var schemaDict = {
119577
119609
  },
119578
119610
  note: {
119579
119611
  type: "string",
119580
- description: "Additionally add a note describing why the invites were disabled"
119612
+ description: "Optional reason for disabled invites."
119581
119613
  }
119582
119614
  }
119583
119615
  }
@@ -119591,7 +119623,7 @@ var schemaDict = {
119591
119623
  defs: {
119592
119624
  main: {
119593
119625
  type: "procedure",
119594
- description: "Disable some set of codes and/or all codes associated with a set of users",
119626
+ description: "Disable some set of codes and/or all codes associated with a set of users.",
119595
119627
  input: {
119596
119628
  encoding: "application/json",
119597
119629
  schema: {
@@ -119621,7 +119653,7 @@ var schemaDict = {
119621
119653
  defs: {
119622
119654
  main: {
119623
119655
  type: "procedure",
119624
- description: "Re-enable an accounts ability to receive invite codes",
119656
+ description: "Re-enable an account's ability to receive invite codes.",
119625
119657
  input: {
119626
119658
  encoding: "application/json",
119627
119659
  schema: {
@@ -119634,7 +119666,7 @@ var schemaDict = {
119634
119666
  },
119635
119667
  note: {
119636
119668
  type: "string",
119637
- description: "Additionally add a note describing why the invites were enabled"
119669
+ description: "Optional reason for enabled invites."
119638
119670
  }
119639
119671
  }
119640
119672
  }
@@ -119648,7 +119680,7 @@ var schemaDict = {
119648
119680
  defs: {
119649
119681
  main: {
119650
119682
  type: "query",
119651
- description: "View details about an account.",
119683
+ description: "Get details about an account.",
119652
119684
  parameters: {
119653
119685
  type: "params",
119654
119686
  required: ["did"],
@@ -119675,7 +119707,7 @@ var schemaDict = {
119675
119707
  defs: {
119676
119708
  main: {
119677
119709
  type: "query",
119678
- description: "Admin view of invite codes",
119710
+ description: "Get an admin view of invite codes.",
119679
119711
  parameters: {
119680
119712
  type: "params",
119681
119713
  properties: {
@@ -119723,7 +119755,7 @@ var schemaDict = {
119723
119755
  defs: {
119724
119756
  main: {
119725
119757
  type: "query",
119726
- description: "View details about a moderation action.",
119758
+ description: "Get details about a moderation action.",
119727
119759
  parameters: {
119728
119760
  type: "params",
119729
119761
  required: ["id"],
@@ -119749,7 +119781,7 @@ var schemaDict = {
119749
119781
  defs: {
119750
119782
  main: {
119751
119783
  type: "query",
119752
- description: "List moderation actions related to a subject.",
119784
+ description: "Get a list of moderation actions related to a subject.",
119753
119785
  parameters: {
119754
119786
  type: "params",
119755
119787
  properties: {
@@ -119795,7 +119827,7 @@ var schemaDict = {
119795
119827
  defs: {
119796
119828
  main: {
119797
119829
  type: "query",
119798
- description: "View details about a moderation report.",
119830
+ description: "Get details about a moderation report.",
119799
119831
  parameters: {
119800
119832
  type: "params",
119801
119833
  required: ["id"],
@@ -119821,7 +119853,7 @@ var schemaDict = {
119821
119853
  defs: {
119822
119854
  main: {
119823
119855
  type: "query",
119824
- description: "List moderation reports related to a subject.",
119856
+ description: "Get moderation reports related to a subject.",
119825
119857
  parameters: {
119826
119858
  type: "params",
119827
119859
  properties: {
@@ -119837,14 +119869,14 @@ var schemaDict = {
119837
119869
  actionedBy: {
119838
119870
  type: "string",
119839
119871
  format: "did",
119840
- description: "Get all reports that were actioned by a specific moderator"
119872
+ description: "Get all reports that were actioned by a specific moderator."
119841
119873
  },
119842
119874
  reporters: {
119843
119875
  type: "array",
119844
119876
  items: {
119845
119877
  type: "string"
119846
119878
  },
119847
- description: "Filter reports made by one or more DIDs"
119879
+ description: "Filter reports made by one or more DIDs."
119848
119880
  },
119849
119881
  resolved: {
119850
119882
  type: "boolean"
@@ -119869,7 +119901,7 @@ var schemaDict = {
119869
119901
  },
119870
119902
  reverse: {
119871
119903
  type: "boolean",
119872
- description: "Reverse the order of the returned records? when true, returns reports in chronological order"
119904
+ description: "Reverse the order of the returned records. When true, returns reports in chronological order."
119873
119905
  }
119874
119906
  }
119875
119907
  },
@@ -119901,7 +119933,7 @@ var schemaDict = {
119901
119933
  defs: {
119902
119934
  main: {
119903
119935
  type: "query",
119904
- description: "View details about a record.",
119936
+ description: "Get details about a record.",
119905
119937
  parameters: {
119906
119938
  type: "params",
119907
119939
  required: ["uri"],
@@ -119937,7 +119969,7 @@ var schemaDict = {
119937
119969
  defs: {
119938
119970
  main: {
119939
119971
  type: "query",
119940
- description: "View details about a repository.",
119972
+ description: "Get details about a repository.",
119941
119973
  parameters: {
119942
119974
  type: "params",
119943
119975
  required: ["did"],
@@ -119969,7 +120001,7 @@ var schemaDict = {
119969
120001
  defs: {
119970
120002
  main: {
119971
120003
  type: "query",
119972
- description: "Fetch the service-specific the admin status of a subject (account, record, or blob)",
120004
+ description: "Get the service-specific admin status of a subject (account, record, or blob).",
119973
120005
  parameters: {
119974
120006
  type: "params",
119975
120007
  properties: {
@@ -120142,7 +120174,7 @@ var schemaDict = {
120142
120174
  defs: {
120143
120175
  main: {
120144
120176
  type: "procedure",
120145
- description: "Send email to a user's primary email address",
120177
+ description: "Send email to a user's account email address.",
120146
120178
  input: {
120147
120179
  encoding: "application/json",
120148
120180
  schema: {
@@ -120183,7 +120215,7 @@ var schemaDict = {
120183
120215
  defs: {
120184
120216
  main: {
120185
120217
  type: "procedure",
120186
- description: "Take a moderation action on a repo.",
120218
+ description: "Take a moderation action on an actor.",
120187
120219
  input: {
120188
120220
  encoding: "application/json",
120189
120221
  schema: {
@@ -120229,7 +120261,7 @@ var schemaDict = {
120229
120261
  },
120230
120262
  durationInHours: {
120231
120263
  type: "integer",
120232
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
120264
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
120233
120265
  },
120234
120266
  createdBy: {
120235
120267
  type: "string",
@@ -120259,7 +120291,7 @@ var schemaDict = {
120259
120291
  defs: {
120260
120292
  main: {
120261
120293
  type: "procedure",
120262
- description: "Administrative action to update an account's email",
120294
+ description: "Administrative action to update an account's email.",
120263
120295
  input: {
120264
120296
  encoding: "application/json",
120265
120297
  schema: {
@@ -120286,7 +120318,7 @@ var schemaDict = {
120286
120318
  defs: {
120287
120319
  main: {
120288
120320
  type: "procedure",
120289
- description: "Administrative action to update an account's handle",
120321
+ description: "Administrative action to update an account's handle.",
120290
120322
  input: {
120291
120323
  encoding: "application/json",
120292
120324
  schema: {
@@ -120313,7 +120345,7 @@ var schemaDict = {
120313
120345
  defs: {
120314
120346
  main: {
120315
120347
  type: "procedure",
120316
- description: "Update the service-specific admin status of a subject (account, record, or blob)",
120348
+ description: "Update the service-specific admin status of a subject (account, record, or blob).",
120317
120349
  input: {
120318
120350
  encoding: "application/json",
120319
120351
  schema: {
@@ -120399,7 +120431,7 @@ var schemaDict = {
120399
120431
  defs: {
120400
120432
  main: {
120401
120433
  type: "procedure",
120402
- description: "Updates the handle of the account",
120434
+ description: "Updates the handle of the account.",
120403
120435
  input: {
120404
120436
  encoding: "application/json",
120405
120437
  schema: {
@@ -120422,37 +120454,37 @@ var schemaDict = {
120422
120454
  defs: {
120423
120455
  label: {
120424
120456
  type: "object",
120425
- description: "Metadata tag on an atproto resource (eg, repo or record)",
120457
+ description: "Metadata tag on an atproto resource (eg, repo or record).",
120426
120458
  required: ["src", "uri", "val", "cts"],
120427
120459
  properties: {
120428
120460
  src: {
120429
120461
  type: "string",
120430
120462
  format: "did",
120431
- description: "DID of the actor who created this label"
120463
+ description: "DID of the actor who created this label."
120432
120464
  },
120433
120465
  uri: {
120434
120466
  type: "string",
120435
120467
  format: "uri",
120436
- description: "AT URI of the record, repository (account), or other resource which this label applies to"
120468
+ description: "AT URI of the record, repository (account), or other resource that this label applies to."
120437
120469
  },
120438
120470
  cid: {
120439
120471
  type: "string",
120440
120472
  format: "cid",
120441
- description: "optionally, CID specifying the specific version of 'uri' resource this label applies to"
120473
+ description: "Optionally, CID specifying the specific version of 'uri' resource this label applies to."
120442
120474
  },
120443
120475
  val: {
120444
120476
  type: "string",
120445
120477
  maxLength: 128,
120446
- description: "the short string name of the value or type of this label"
120478
+ description: "The short string name of the value or type of this label."
120447
120479
  },
120448
120480
  neg: {
120449
120481
  type: "boolean",
120450
- description: "if true, this is a negation label, overwriting a previous label"
120482
+ description: "If true, this is a negation label, overwriting a previous label."
120451
120483
  },
120452
120484
  cts: {
120453
120485
  type: "string",
120454
120486
  format: "datetime",
120455
- description: "timestamp when this label was created"
120487
+ description: "Timestamp when this label was created."
120456
120488
  }
120457
120489
  }
120458
120490
  },
@@ -120473,13 +120505,13 @@ var schemaDict = {
120473
120505
  },
120474
120506
  selfLabel: {
120475
120507
  type: "object",
120476
- description: "Metadata tag on an atproto record, published by the author within the record. Note -- schemas should use #selfLabels, not #selfLabel.",
120508
+ description: "Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
120477
120509
  required: ["val"],
120478
120510
  properties: {
120479
120511
  val: {
120480
120512
  type: "string",
120481
120513
  maxLength: 128,
120482
- description: "the short string name of the value or type of this label"
120514
+ description: "The short string name of the value or type of this label."
120483
120515
  }
120484
120516
  }
120485
120517
  }
@@ -120501,7 +120533,7 @@ var schemaDict = {
120501
120533
  items: {
120502
120534
  type: "string"
120503
120535
  },
120504
- description: "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI"
120536
+ description: "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI."
120505
120537
  },
120506
120538
  sources: {
120507
120539
  type: "array",
@@ -120509,7 +120541,7 @@ var schemaDict = {
120509
120541
  type: "string",
120510
120542
  format: "did"
120511
120543
  },
120512
- description: "Optional list of label sources (DIDs) to filter on"
120544
+ description: "Optional list of label sources (DIDs) to filter on."
120513
120545
  },
120514
120546
  limit: {
120515
120547
  type: "integer",
@@ -120550,7 +120582,7 @@ var schemaDict = {
120550
120582
  defs: {
120551
120583
  main: {
120552
120584
  type: "subscription",
120553
- description: "Subscribe to label updates",
120585
+ description: "Subscribe to label updates.",
120554
120586
  parameters: {
120555
120587
  type: "params",
120556
120588
  properties: {
@@ -120743,7 +120775,7 @@ var schemaDict = {
120743
120775
  validate: {
120744
120776
  type: "boolean",
120745
120777
  default: true,
120746
- description: "Validate the records?"
120778
+ description: "Flag for validating the records."
120747
120779
  },
120748
120780
  writes: {
120749
120781
  type: "array",
@@ -120852,7 +120884,7 @@ var schemaDict = {
120852
120884
  validate: {
120853
120885
  type: "boolean",
120854
120886
  default: true,
120855
- description: "Validate the record?"
120887
+ description: "Flag for validating the record."
120856
120888
  },
120857
120889
  record: {
120858
120890
  type: "unknown",
@@ -120861,7 +120893,7 @@ var schemaDict = {
120861
120893
  swapCommit: {
120862
120894
  type: "string",
120863
120895
  format: "cid",
120864
- description: "Compare and swap with the previous commit by cid."
120896
+ description: "Compare and swap with the previous commit by CID."
120865
120897
  }
120866
120898
  }
120867
120899
  }
@@ -120921,12 +120953,12 @@ var schemaDict = {
120921
120953
  swapRecord: {
120922
120954
  type: "string",
120923
120955
  format: "cid",
120924
- description: "Compare and swap with the previous record by cid."
120956
+ description: "Compare and swap with the previous record by CID."
120925
120957
  },
120926
120958
  swapCommit: {
120927
120959
  type: "string",
120928
120960
  format: "cid",
120929
- description: "Compare and swap with the previous commit by cid."
120961
+ description: "Compare and swap with the previous commit by CID."
120930
120962
  }
120931
120963
  }
120932
120964
  }
@@ -121092,7 +121124,7 @@ var schemaDict = {
121092
121124
  },
121093
121125
  reverse: {
121094
121126
  type: "boolean",
121095
- description: "Reverse the order of the returned records?"
121127
+ description: "Flag to reverse the order of the returned records."
121096
121128
  }
121097
121129
  }
121098
121130
  },
@@ -121167,7 +121199,7 @@ var schemaDict = {
121167
121199
  validate: {
121168
121200
  type: "boolean",
121169
121201
  default: true,
121170
- description: "Validate the record?"
121202
+ description: "Flag for validating the record."
121171
121203
  },
121172
121204
  record: {
121173
121205
  type: "unknown",
@@ -121176,12 +121208,12 @@ var schemaDict = {
121176
121208
  swapRecord: {
121177
121209
  type: "string",
121178
121210
  format: "cid",
121179
- description: "Compare and swap with the previous record by cid."
121211
+ description: "Compare and swap with the previous record by CID."
121180
121212
  },
121181
121213
  swapCommit: {
121182
121214
  type: "string",
121183
121215
  format: "cid",
121184
- description: "Compare and swap with the previous commit by cid."
121216
+ description: "Compare and swap with the previous commit by CID."
121185
121217
  }
121186
121218
  }
121187
121219
  }
@@ -121393,7 +121425,7 @@ var schemaDict = {
121393
121425
  defs: {
121394
121426
  main: {
121395
121427
  type: "procedure",
121396
- description: "Create an app-specific password.",
121428
+ description: "Create an App Password.",
121397
121429
  input: {
121398
121430
  encoding: "application/json",
121399
121431
  schema: {
@@ -121481,7 +121513,7 @@ var schemaDict = {
121481
121513
  defs: {
121482
121514
  main: {
121483
121515
  type: "procedure",
121484
- description: "Create an invite code.",
121516
+ description: "Create invite codes.",
121485
121517
  input: {
121486
121518
  encoding: "application/json",
121487
121519
  schema: {
@@ -121668,7 +121700,7 @@ var schemaDict = {
121668
121700
  defs: {
121669
121701
  main: {
121670
121702
  type: "procedure",
121671
- description: "Delete a user account with a token and password.",
121703
+ description: "Delete an actor's account with a token and password.",
121672
121704
  input: {
121673
121705
  encoding: "application/json",
121674
121706
  schema: {
@@ -121758,7 +121790,7 @@ var schemaDict = {
121758
121790
  defs: {
121759
121791
  main: {
121760
121792
  type: "query",
121761
- description: "Get all invite codes for a given account",
121793
+ description: "Get all invite codes for a given account.",
121762
121794
  parameters: {
121763
121795
  type: "params",
121764
121796
  properties: {
@@ -121822,6 +121854,9 @@ var schemaDict = {
121822
121854
  },
121823
121855
  emailConfirmed: {
121824
121856
  type: "boolean"
121857
+ },
121858
+ didDoc: {
121859
+ type: "unknown"
121825
121860
  }
121826
121861
  }
121827
121862
  }
@@ -121835,7 +121870,7 @@ var schemaDict = {
121835
121870
  defs: {
121836
121871
  main: {
121837
121872
  type: "query",
121838
- description: "List all app-specific passwords.",
121873
+ description: "List all App Passwords.",
121839
121874
  output: {
121840
121875
  encoding: "application/json",
121841
121876
  schema: {
@@ -121930,7 +121965,7 @@ var schemaDict = {
121930
121965
  defs: {
121931
121966
  main: {
121932
121967
  type: "procedure",
121933
- description: "Request an email with a code to confirm ownership of email"
121968
+ description: "Request an email with a code to confirm ownership of email."
121934
121969
  }
121935
121970
  }
121936
121971
  },
@@ -122052,7 +122087,7 @@ var schemaDict = {
122052
122087
  defs: {
122053
122088
  main: {
122054
122089
  type: "procedure",
122055
- description: "Revoke an app-specific password by name.",
122090
+ description: "Revoke an App Password by name.",
122056
122091
  input: {
122057
122092
  encoding: "application/json",
122058
122093
  schema: {
@@ -122140,7 +122175,7 @@ var schemaDict = {
122140
122175
  defs: {
122141
122176
  main: {
122142
122177
  type: "query",
122143
- description: "Gets blocks from a given repo.",
122178
+ description: "Get blocks from a given repo.",
122144
122179
  parameters: {
122145
122180
  type: "params",
122146
122181
  required: ["did", "cids"],
@@ -122234,7 +122269,7 @@ var schemaDict = {
122234
122269
  defs: {
122235
122270
  main: {
122236
122271
  type: "query",
122237
- description: "Gets the current commit CID & revision of the repo.",
122272
+ description: "Get the current commit CID & revision of the repo.",
122238
122273
  parameters: {
122239
122274
  type: "params",
122240
122275
  required: ["did"],
@@ -122276,7 +122311,7 @@ var schemaDict = {
122276
122311
  defs: {
122277
122312
  main: {
122278
122313
  type: "query",
122279
- description: "Gets blocks needed for existence or non-existence of record.",
122314
+ description: "Get blocks needed for existence or non-existence of record.",
122280
122315
  parameters: {
122281
122316
  type: "params",
122282
122317
  required: ["did", "collection", "rkey"],
@@ -122312,7 +122347,7 @@ var schemaDict = {
122312
122347
  defs: {
122313
122348
  main: {
122314
122349
  type: "query",
122315
- description: "Gets the did's repo, optionally catching up from a specific revision.",
122350
+ description: "Gets the DID's repo, optionally catching up from a specific revision.",
122316
122351
  parameters: {
122317
122352
  type: "params",
122318
122353
  required: ["did"],
@@ -122340,7 +122375,7 @@ var schemaDict = {
122340
122375
  defs: {
122341
122376
  main: {
122342
122377
  type: "query",
122343
- description: "List blob cids since some revision",
122378
+ description: "List blob CIDs since some revision.",
122344
122379
  parameters: {
122345
122380
  type: "params",
122346
122381
  required: ["did"],
@@ -122352,7 +122387,7 @@ var schemaDict = {
122352
122387
  },
122353
122388
  since: {
122354
122389
  type: "string",
122355
- description: "Optional revision of the repo to list blobs since"
122390
+ description: "Optional revision of the repo to list blobs since."
122356
122391
  },
122357
122392
  limit: {
122358
122393
  type: "integer",
@@ -122393,7 +122428,7 @@ var schemaDict = {
122393
122428
  defs: {
122394
122429
  main: {
122395
122430
  type: "query",
122396
- description: "List dids and root cids of hosted repos",
122431
+ description: "List DIDs and root CIDs of hosted repos.",
122397
122432
  parameters: {
122398
122433
  type: "params",
122399
122434
  properties: {
@@ -122453,7 +122488,7 @@ var schemaDict = {
122453
122488
  defs: {
122454
122489
  main: {
122455
122490
  type: "procedure",
122456
- description: "Notify a crawling service of a recent update. Often when a long break between updates causes the connection with the crawling service to break.",
122491
+ description: "Notify a crawling service of a recent update; often when a long break between updates causes the connection with the crawling service to break.",
122457
122492
  input: {
122458
122493
  encoding: "application/json",
122459
122494
  schema: {
@@ -122499,7 +122534,7 @@ var schemaDict = {
122499
122534
  defs: {
122500
122535
  main: {
122501
122536
  type: "subscription",
122502
- description: "Subscribe to repo updates",
122537
+ description: "Subscribe to repo updates.",
122503
122538
  parameters: {
122504
122539
  type: "params",
122505
122540
  properties: {
@@ -122568,15 +122603,15 @@ var schemaDict = {
122568
122603
  },
122569
122604
  rev: {
122570
122605
  type: "string",
122571
- description: "The rev of the emitted commit"
122606
+ description: "The rev of the emitted commit."
122572
122607
  },
122573
122608
  since: {
122574
122609
  type: "string",
122575
- description: "The rev of the last emitted commit from this repo"
122610
+ description: "The rev of the last emitted commit from this repo."
122576
122611
  },
122577
122612
  blocks: {
122578
122613
  type: "bytes",
122579
- description: "CAR file containing relevant blocks",
122614
+ description: "CAR file containing relevant blocks.",
122580
122615
  maxLength: 1e6
122581
122616
  },
122582
122617
  ops: {
@@ -122673,7 +122708,7 @@ var schemaDict = {
122673
122708
  },
122674
122709
  repoOp: {
122675
122710
  type: "object",
122676
- description: "A repo operation, ie a write of a single record. For creates and updates, cid is the record's CID as of this operation. For deletes, it's null.",
122711
+ description: "A repo operation, ie a write of a single record. For creates and updates, CID is the record's CID as of this operation. For deletes, it's null.",
122677
122712
  required: ["action", "path", "cid"],
122678
122713
  nullable: ["cid"],
122679
122714
  properties: {
@@ -122691,6 +122726,46 @@ var schemaDict = {
122691
122726
  }
122692
122727
  }
122693
122728
  },
122729
+ ComAtprotoTempFetchLabels: {
122730
+ lexicon: 1,
122731
+ id: "com.atproto.temp.fetchLabels",
122732
+ defs: {
122733
+ main: {
122734
+ type: "query",
122735
+ description: "Fetch all labels from a labeler created after a certain date.",
122736
+ parameters: {
122737
+ type: "params",
122738
+ properties: {
122739
+ since: {
122740
+ type: "integer"
122741
+ },
122742
+ limit: {
122743
+ type: "integer",
122744
+ minimum: 1,
122745
+ maximum: 250,
122746
+ default: 50
122747
+ }
122748
+ }
122749
+ },
122750
+ output: {
122751
+ encoding: "application/json",
122752
+ schema: {
122753
+ type: "object",
122754
+ required: ["labels"],
122755
+ properties: {
122756
+ labels: {
122757
+ type: "array",
122758
+ items: {
122759
+ type: "ref",
122760
+ ref: "lex:com.atproto.label.defs#label"
122761
+ }
122762
+ }
122763
+ }
122764
+ }
122765
+ }
122766
+ }
122767
+ }
122768
+ },
122694
122769
  AppBskyActorDefs: {
122695
122770
  lexicon: 1,
122696
122771
  id: "app.bsky.actor.defs",
@@ -122919,7 +122994,7 @@ var schemaDict = {
122919
122994
  birthDate: {
122920
122995
  type: "string",
122921
122996
  format: "datetime",
122922
- description: "The birth date of the owner of the account."
122997
+ description: "The birth date of account owner."
122923
122998
  }
122924
122999
  }
122925
123000
  },
@@ -122958,7 +123033,7 @@ var schemaDict = {
122958
123033
  properties: {
122959
123034
  sort: {
122960
123035
  type: "string",
122961
- description: "Sorting mode.",
123036
+ description: "Sorting mode for threads.",
122962
123037
  knownValues: ["oldest", "newest", "most-likes", "random"]
122963
123038
  },
122964
123039
  prioritizeFollowedUsers: {
@@ -123002,6 +123077,7 @@ var schemaDict = {
123002
123077
  defs: {
123003
123078
  main: {
123004
123079
  type: "query",
123080
+ description: "Get detailed profile view of an actor.",
123005
123081
  parameters: {
123006
123082
  type: "params",
123007
123083
  required: ["actor"],
@@ -123028,6 +123104,7 @@ var schemaDict = {
123028
123104
  defs: {
123029
123105
  main: {
123030
123106
  type: "query",
123107
+ description: "Get detailed profile views of multiple actors.",
123031
123108
  parameters: {
123032
123109
  type: "params",
123033
123110
  required: ["actors"],
@@ -123067,7 +123144,7 @@ var schemaDict = {
123067
123144
  defs: {
123068
123145
  main: {
123069
123146
  type: "query",
123070
- description: "Get a list of actors suggested for following. Used in discovery UIs.",
123147
+ description: "Get a list of suggested actors, used for discovery.",
123071
123148
  parameters: {
123072
123149
  type: "params",
123073
123150
  properties: {
@@ -123110,6 +123187,7 @@ var schemaDict = {
123110
123187
  defs: {
123111
123188
  main: {
123112
123189
  type: "record",
123190
+ description: "A declaration of a profile.",
123113
123191
  key: "literal:self",
123114
123192
  record: {
123115
123193
  type: "object",
@@ -123149,7 +123227,7 @@ var schemaDict = {
123149
123227
  defs: {
123150
123228
  main: {
123151
123229
  type: "procedure",
123152
- description: "Sets the private preferences attached to the account.",
123230
+ description: "Set the private preferences attached to the account.",
123153
123231
  input: {
123154
123232
  encoding: "application/json",
123155
123233
  schema: {
@@ -123178,11 +123256,11 @@ var schemaDict = {
123178
123256
  properties: {
123179
123257
  term: {
123180
123258
  type: "string",
123181
- description: "DEPRECATED: use 'q' instead"
123259
+ description: "DEPRECATED: use 'q' instead."
123182
123260
  },
123183
123261
  q: {
123184
123262
  type: "string",
123185
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
123263
+ description: "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
123186
123264
  },
123187
123265
  limit: {
123188
123266
  type: "integer",
@@ -123223,17 +123301,17 @@ var schemaDict = {
123223
123301
  defs: {
123224
123302
  main: {
123225
123303
  type: "query",
123226
- description: "Find actor suggestions for a search term.",
123304
+ description: "Find actor suggestions for a prefix search term.",
123227
123305
  parameters: {
123228
123306
  type: "params",
123229
123307
  properties: {
123230
123308
  term: {
123231
123309
  type: "string",
123232
- description: "DEPRECATED: use 'q' instead"
123310
+ description: "DEPRECATED: use 'q' instead."
123233
123311
  },
123234
123312
  q: {
123235
123313
  type: "string",
123236
- description: "search query prefix; not a full query string"
123314
+ description: "Search query prefix; not a full query string."
123237
123315
  },
123238
123316
  limit: {
123239
123317
  type: "integer",
@@ -123265,7 +123343,7 @@ var schemaDict = {
123265
123343
  AppBskyEmbedExternal: {
123266
123344
  lexicon: 1,
123267
123345
  id: "app.bsky.embed.external",
123268
- description: "A representation of some externally linked content, embedded in another form of content",
123346
+ description: "A representation of some externally linked content, embedded in another form of content.",
123269
123347
  defs: {
123270
123348
  main: {
123271
123349
  type: "object",
@@ -123332,7 +123410,7 @@ var schemaDict = {
123332
123410
  AppBskyEmbedImages: {
123333
123411
  lexicon: 1,
123334
123412
  id: "app.bsky.embed.images",
123335
- description: "A set of images embedded in some other form of content",
123413
+ description: "A set of images embedded in some other form of content.",
123336
123414
  defs: {
123337
123415
  main: {
123338
123416
  type: "object",
@@ -123419,7 +123497,7 @@ var schemaDict = {
123419
123497
  AppBskyEmbedRecord: {
123420
123498
  lexicon: 1,
123421
123499
  id: "app.bsky.embed.record",
123422
- description: "A representation of a record embedded in another form of content",
123500
+ description: "A representation of a record embedded in another form of content.",
123423
123501
  defs: {
123424
123502
  main: {
123425
123503
  type: "object",
@@ -123528,7 +123606,7 @@ var schemaDict = {
123528
123606
  AppBskyEmbedRecordWithMedia: {
123529
123607
  lexicon: 1,
123530
123608
  id: "app.bsky.embed.recordWithMedia",
123531
- description: "A representation of a record embedded in another form of content, alongside other compatible embeds",
123609
+ description: "A representation of a record embedded in another form of content, alongside other compatible embeds.",
123532
123610
  defs: {
123533
123611
  main: {
123534
123612
  type: "object",
@@ -123895,7 +123973,7 @@ var schemaDict = {
123895
123973
  defs: {
123896
123974
  main: {
123897
123975
  type: "query",
123898
- description: "Returns information about a given feed generator including TOS & offered feed URIs",
123976
+ description: "Get information about a feed generator, including policies and offered feed URIs.",
123899
123977
  output: {
123900
123978
  encoding: "application/json",
123901
123979
  schema: {
@@ -123950,7 +124028,7 @@ var schemaDict = {
123950
124028
  defs: {
123951
124029
  main: {
123952
124030
  type: "record",
123953
- description: "A declaration of the existence of a feed generator",
124031
+ description: "A declaration of the existence of a feed generator.",
123954
124032
  key: "any",
123955
124033
  record: {
123956
124034
  type: "object",
@@ -124001,7 +124079,7 @@ var schemaDict = {
124001
124079
  defs: {
124002
124080
  main: {
124003
124081
  type: "query",
124004
- description: "Retrieve a list of feeds created by a given actor",
124082
+ description: "Get a list of feeds created by the actor.",
124005
124083
  parameters: {
124006
124084
  type: "params",
124007
124085
  required: ["actor"],
@@ -124049,7 +124127,7 @@ var schemaDict = {
124049
124127
  defs: {
124050
124128
  main: {
124051
124129
  type: "query",
124052
- description: "A view of the posts liked by an actor.",
124130
+ description: "Get a list of posts liked by an actor.",
124053
124131
  parameters: {
124054
124132
  type: "params",
124055
124133
  required: ["actor"],
@@ -124105,7 +124183,7 @@ var schemaDict = {
124105
124183
  defs: {
124106
124184
  main: {
124107
124185
  type: "query",
124108
- description: "A view of an actor's feed.",
124186
+ description: "Get a view of an actor's feed.",
124109
124187
  parameters: {
124110
124188
  type: "params",
124111
124189
  required: ["actor"],
@@ -124170,7 +124248,7 @@ var schemaDict = {
124170
124248
  defs: {
124171
124249
  main: {
124172
124250
  type: "query",
124173
- description: "Compose and hydrate a feed from a user's selected feed generator",
124251
+ description: "Get a hydrated feed from an actor's selected feed generator.",
124174
124252
  parameters: {
124175
124253
  type: "params",
124176
124254
  required: ["feed"],
@@ -124223,7 +124301,7 @@ var schemaDict = {
124223
124301
  defs: {
124224
124302
  main: {
124225
124303
  type: "query",
124226
- description: "Get information about a specific feed offered by a feed generator, such as its online status",
124304
+ description: "Get information about a feed generator.",
124227
124305
  parameters: {
124228
124306
  type: "params",
124229
124307
  required: ["feed"],
@@ -124262,7 +124340,7 @@ var schemaDict = {
124262
124340
  defs: {
124263
124341
  main: {
124264
124342
  type: "query",
124265
- description: "Get information about a list of feed generators",
124343
+ description: "Get information about a list of feed generators.",
124266
124344
  parameters: {
124267
124345
  type: "params",
124268
124346
  required: ["feeds"],
@@ -124301,7 +124379,7 @@ var schemaDict = {
124301
124379
  defs: {
124302
124380
  main: {
124303
124381
  type: "query",
124304
- description: "A skeleton of a feed provided by a feed generator",
124382
+ description: "Get a skeleton of a feed provided by a feed generator.",
124305
124383
  parameters: {
124306
124384
  type: "params",
124307
124385
  required: ["feed"],
@@ -124354,6 +124432,7 @@ var schemaDict = {
124354
124432
  defs: {
124355
124433
  main: {
124356
124434
  type: "query",
124435
+ description: "Get the list of likes.",
124357
124436
  parameters: {
124358
124437
  type: "params",
124359
124438
  required: ["uri"],
@@ -124431,7 +124510,7 @@ var schemaDict = {
124431
124510
  defs: {
124432
124511
  main: {
124433
124512
  type: "query",
124434
- description: "A view of a recent posts from actors in a list",
124513
+ description: "Get a view of a recent posts from actors in a list.",
124435
124514
  parameters: {
124436
124515
  type: "params",
124437
124516
  required: ["list"],
@@ -124484,6 +124563,7 @@ var schemaDict = {
124484
124563
  defs: {
124485
124564
  main: {
124486
124565
  type: "query",
124566
+ description: "Get posts in a thread.",
124487
124567
  parameters: {
124488
124568
  type: "params",
124489
124569
  required: ["uri"],
@@ -124537,7 +124617,7 @@ var schemaDict = {
124537
124617
  defs: {
124538
124618
  main: {
124539
124619
  type: "query",
124540
- description: "A view of an actor's feed.",
124620
+ description: "Get a view of an actor's feed.",
124541
124621
  parameters: {
124542
124622
  type: "params",
124543
124623
  required: ["uris"],
@@ -124577,6 +124657,7 @@ var schemaDict = {
124577
124657
  defs: {
124578
124658
  main: {
124579
124659
  type: "query",
124660
+ description: "Get a list of reposts.",
124580
124661
  parameters: {
124581
124662
  type: "params",
124582
124663
  required: ["uri"],
@@ -124679,7 +124760,7 @@ var schemaDict = {
124679
124760
  defs: {
124680
124761
  main: {
124681
124762
  type: "query",
124682
- description: "A view of the user's home timeline.",
124763
+ description: "Get a view of the actor's home timeline.",
124683
124764
  parameters: {
124684
124765
  type: "params",
124685
124766
  properties: {
@@ -124725,6 +124806,7 @@ var schemaDict = {
124725
124806
  defs: {
124726
124807
  main: {
124727
124808
  type: "record",
124809
+ description: "A declaration of a like.",
124728
124810
  key: "tid",
124729
124811
  record: {
124730
124812
  type: "object",
@@ -124749,6 +124831,7 @@ var schemaDict = {
124749
124831
  defs: {
124750
124832
  main: {
124751
124833
  type: "record",
124834
+ description: "A declaration of a post.",
124752
124835
  key: "tid",
124753
124836
  record: {
124754
124837
  type: "object",
@@ -124870,6 +124953,7 @@ var schemaDict = {
124870
124953
  id: "app.bsky.feed.repost",
124871
124954
  defs: {
124872
124955
  main: {
124956
+ description: "A declaration of a repost.",
124873
124957
  type: "record",
124874
124958
  key: "tid",
124875
124959
  record: {
@@ -124895,14 +124979,14 @@ var schemaDict = {
124895
124979
  defs: {
124896
124980
  main: {
124897
124981
  type: "query",
124898
- description: "Find posts matching search criteria",
124982
+ description: "Find posts matching search criteria.",
124899
124983
  parameters: {
124900
124984
  type: "params",
124901
124985
  required: ["q"],
124902
124986
  properties: {
124903
124987
  q: {
124904
124988
  type: "string",
124905
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
124989
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
124906
124990
  },
124907
124991
  limit: {
124908
124992
  type: "integer",
@@ -124912,7 +124996,7 @@ var schemaDict = {
124912
124996
  },
124913
124997
  cursor: {
124914
124998
  type: "string",
124915
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
124999
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
124916
125000
  }
124917
125001
  }
124918
125002
  },
@@ -124927,7 +125011,7 @@ var schemaDict = {
124927
125011
  },
124928
125012
  hitsTotal: {
124929
125013
  type: "integer",
124930
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
125014
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
124931
125015
  },
124932
125016
  posts: {
124933
125017
  type: "array",
@@ -125011,7 +125095,7 @@ var schemaDict = {
125011
125095
  defs: {
125012
125096
  main: {
125013
125097
  type: "record",
125014
- description: "A block.",
125098
+ description: "A declaration of a block.",
125015
125099
  key: "tid",
125016
125100
  record: {
125017
125101
  type: "object",
@@ -125137,11 +125221,11 @@ var schemaDict = {
125137
125221
  },
125138
125222
  modlist: {
125139
125223
  type: "token",
125140
- description: "A list of actors to apply an aggregate moderation action (mute/block) on"
125224
+ description: "A list of actors to apply an aggregate moderation action (mute/block) on."
125141
125225
  },
125142
125226
  curatelist: {
125143
125227
  type: "token",
125144
- description: "A list of actors used for curation purposes such as list feeds or interaction gating"
125228
+ description: "A list of actors used for curation purposes such as list feeds or interaction gating."
125145
125229
  },
125146
125230
  listViewerState: {
125147
125231
  type: "object",
@@ -125163,7 +125247,7 @@ var schemaDict = {
125163
125247
  defs: {
125164
125248
  main: {
125165
125249
  type: "record",
125166
- description: "A social follow.",
125250
+ description: "A declaration of a social follow.",
125167
125251
  key: "tid",
125168
125252
  record: {
125169
125253
  type: "object",
@@ -125188,7 +125272,7 @@ var schemaDict = {
125188
125272
  defs: {
125189
125273
  main: {
125190
125274
  type: "query",
125191
- description: "Who is the requester's account blocking?",
125275
+ description: "Get a list of who the actor is blocking.",
125192
125276
  parameters: {
125193
125277
  type: "params",
125194
125278
  properties: {
@@ -125231,7 +125315,7 @@ var schemaDict = {
125231
125315
  defs: {
125232
125316
  main: {
125233
125317
  type: "query",
125234
- description: "Who is following an actor?",
125318
+ description: "Get a list of an actor's followers.",
125235
125319
  parameters: {
125236
125320
  type: "params",
125237
125321
  required: ["actor"],
@@ -125283,7 +125367,7 @@ var schemaDict = {
125283
125367
  defs: {
125284
125368
  main: {
125285
125369
  type: "query",
125286
- description: "Who is an actor following?",
125370
+ description: "Get a list of who the actor follows.",
125287
125371
  parameters: {
125288
125372
  type: "params",
125289
125373
  required: ["actor"],
@@ -125335,7 +125419,7 @@ var schemaDict = {
125335
125419
  defs: {
125336
125420
  main: {
125337
125421
  type: "query",
125338
- description: "Fetch a list of actors",
125422
+ description: "Get a list of actors.",
125339
125423
  parameters: {
125340
125424
  type: "params",
125341
125425
  required: ["list"],
@@ -125387,7 +125471,7 @@ var schemaDict = {
125387
125471
  defs: {
125388
125472
  main: {
125389
125473
  type: "query",
125390
- description: "Which lists is the requester's account blocking?",
125474
+ description: "Get lists that the actor is blocking.",
125391
125475
  parameters: {
125392
125476
  type: "params",
125393
125477
  properties: {
@@ -125430,7 +125514,7 @@ var schemaDict = {
125430
125514
  defs: {
125431
125515
  main: {
125432
125516
  type: "query",
125433
- description: "Which lists is the requester's account muting?",
125517
+ description: "Get lists that the actor is muting.",
125434
125518
  parameters: {
125435
125519
  type: "params",
125436
125520
  properties: {
@@ -125473,7 +125557,7 @@ var schemaDict = {
125473
125557
  defs: {
125474
125558
  main: {
125475
125559
  type: "query",
125476
- description: "Fetch a list of lists that belong to an actor",
125560
+ description: "Get a list of lists that belong to an actor.",
125477
125561
  parameters: {
125478
125562
  type: "params",
125479
125563
  required: ["actor"],
@@ -125521,7 +125605,7 @@ var schemaDict = {
125521
125605
  defs: {
125522
125606
  main: {
125523
125607
  type: "query",
125524
- description: "Who does the viewer mute?",
125608
+ description: "Get a list of who the actor mutes.",
125525
125609
  parameters: {
125526
125610
  type: "params",
125527
125611
  properties: {
@@ -125676,7 +125760,7 @@ var schemaDict = {
125676
125760
  defs: {
125677
125761
  main: {
125678
125762
  type: "record",
125679
- description: "An item under a declared list of actors",
125763
+ description: "An item under a declared list of actors.",
125680
125764
  key: "tid",
125681
125765
  record: {
125682
125766
  type: "object",
@@ -125705,7 +125789,7 @@ var schemaDict = {
125705
125789
  defs: {
125706
125790
  main: {
125707
125791
  type: "procedure",
125708
- description: "Mute an actor by did or handle.",
125792
+ description: "Mute an actor by DID or handle.",
125709
125793
  input: {
125710
125794
  encoding: "application/json",
125711
125795
  schema: {
@@ -125751,7 +125835,7 @@ var schemaDict = {
125751
125835
  defs: {
125752
125836
  main: {
125753
125837
  type: "procedure",
125754
- description: "Unmute an actor by did or handle.",
125838
+ description: "Unmute an actor by DID or handle.",
125755
125839
  input: {
125756
125840
  encoding: "application/json",
125757
125841
  schema: {
@@ -125797,6 +125881,7 @@ var schemaDict = {
125797
125881
  defs: {
125798
125882
  main: {
125799
125883
  type: "query",
125884
+ description: "Get the count of unread notifications.",
125800
125885
  parameters: {
125801
125886
  type: "params",
125802
125887
  properties: {
@@ -125827,6 +125912,7 @@ var schemaDict = {
125827
125912
  defs: {
125828
125913
  main: {
125829
125914
  type: "query",
125915
+ description: "Get a list of notifications.",
125830
125916
  parameters: {
125831
125917
  type: "params",
125832
125918
  properties: {
@@ -125932,7 +126018,7 @@ var schemaDict = {
125932
126018
  defs: {
125933
126019
  main: {
125934
126020
  type: "procedure",
125935
- description: "Register for push notifications with a service",
126021
+ description: "Register for push notifications with a service.",
125936
126022
  input: {
125937
126023
  encoding: "application/json",
125938
126024
  schema: {
@@ -126090,7 +126176,7 @@ var schemaDict = {
126090
126176
  defs: {
126091
126177
  main: {
126092
126178
  type: "query",
126093
- description: "DEPRECATED: will be removed soon, please find a feed generator alternative",
126179
+ description: "DEPRECATED: will be removed soon. Use a feed generator alternative.",
126094
126180
  parameters: {
126095
126181
  type: "params",
126096
126182
  properties: {
@@ -126137,7 +126223,7 @@ var schemaDict = {
126137
126223
  defs: {
126138
126224
  main: {
126139
126225
  type: "query",
126140
- description: "An unspecced view of globally popular feed generators",
126226
+ description: "An unspecced view of globally popular feed generators.",
126141
126227
  parameters: {
126142
126228
  type: "params",
126143
126229
  properties: {
@@ -126183,7 +126269,7 @@ var schemaDict = {
126183
126269
  defs: {
126184
126270
  main: {
126185
126271
  type: "query",
126186
- description: "A skeleton of a timeline - UNSPECCED & WILL GO AWAY SOON",
126272
+ description: "DEPRECATED: a skeleton of a timeline. Unspecced and will be unavailable soon.",
126187
126273
  parameters: {
126188
126274
  type: "params",
126189
126275
  properties: {
@@ -126231,18 +126317,18 @@ var schemaDict = {
126231
126317
  defs: {
126232
126318
  main: {
126233
126319
  type: "query",
126234
- description: "Backend Actors (profile) search, returning only skeleton",
126320
+ description: "Backend Actors (profile) search, returns only skeleton.",
126235
126321
  parameters: {
126236
126322
  type: "params",
126237
126323
  required: ["q"],
126238
126324
  properties: {
126239
126325
  q: {
126240
126326
  type: "string",
126241
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax"
126327
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax."
126242
126328
  },
126243
126329
  typeahead: {
126244
126330
  type: "boolean",
126245
- description: "if true, acts as fast/simple 'typeahead' query"
126331
+ description: "If true, acts as fast/simple 'typeahead' query."
126246
126332
  },
126247
126333
  limit: {
126248
126334
  type: "integer",
@@ -126252,7 +126338,7 @@ var schemaDict = {
126252
126338
  },
126253
126339
  cursor: {
126254
126340
  type: "string",
126255
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
126341
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
126256
126342
  }
126257
126343
  }
126258
126344
  },
@@ -126267,7 +126353,7 @@ var schemaDict = {
126267
126353
  },
126268
126354
  hitsTotal: {
126269
126355
  type: "integer",
126270
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
126356
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
126271
126357
  },
126272
126358
  actors: {
126273
126359
  type: "array",
@@ -126293,14 +126379,14 @@ var schemaDict = {
126293
126379
  defs: {
126294
126380
  main: {
126295
126381
  type: "query",
126296
- description: "Backend Posts search, returning only skeleton",
126382
+ description: "Backend Posts search, returns only skeleton",
126297
126383
  parameters: {
126298
126384
  type: "params",
126299
126385
  required: ["q"],
126300
126386
  properties: {
126301
126387
  q: {
126302
126388
  type: "string",
126303
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
126389
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
126304
126390
  },
126305
126391
  limit: {
126306
126392
  type: "integer",
@@ -126310,7 +126396,7 @@ var schemaDict = {
126310
126396
  },
126311
126397
  cursor: {
126312
126398
  type: "string",
126313
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
126399
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
126314
126400
  }
126315
126401
  }
126316
126402
  },
@@ -126325,7 +126411,7 @@ var schemaDict = {
126325
126411
  },
126326
126412
  hitsTotal: {
126327
126413
  type: "integer",
126328
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
126414
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
126329
126415
  },
126330
126416
  posts: {
126331
126417
  type: "array",
@@ -127026,69 +127112,76 @@ function toKnownErr64(e) {
127026
127112
  return e;
127027
127113
  }
127028
127114
 
127029
- // ../api/src/client/types/app/bsky/actor/getPreferences.ts
127115
+ // ../api/src/client/types/com/atproto/temp/fetchLabels.ts
127030
127116
  function toKnownErr65(e) {
127031
127117
  if (e instanceof XRPCError) {
127032
127118
  }
127033
127119
  return e;
127034
127120
  }
127035
127121
 
127036
- // ../api/src/client/types/app/bsky/actor/getProfile.ts
127122
+ // ../api/src/client/types/app/bsky/actor/getPreferences.ts
127037
127123
  function toKnownErr66(e) {
127038
127124
  if (e instanceof XRPCError) {
127039
127125
  }
127040
127126
  return e;
127041
127127
  }
127042
127128
 
127043
- // ../api/src/client/types/app/bsky/actor/getProfiles.ts
127129
+ // ../api/src/client/types/app/bsky/actor/getProfile.ts
127044
127130
  function toKnownErr67(e) {
127045
127131
  if (e instanceof XRPCError) {
127046
127132
  }
127047
127133
  return e;
127048
127134
  }
127049
127135
 
127050
- // ../api/src/client/types/app/bsky/actor/getSuggestions.ts
127136
+ // ../api/src/client/types/app/bsky/actor/getProfiles.ts
127051
127137
  function toKnownErr68(e) {
127052
127138
  if (e instanceof XRPCError) {
127053
127139
  }
127054
127140
  return e;
127055
127141
  }
127056
127142
 
127057
- // ../api/src/client/types/app/bsky/actor/putPreferences.ts
127143
+ // ../api/src/client/types/app/bsky/actor/getSuggestions.ts
127058
127144
  function toKnownErr69(e) {
127059
127145
  if (e instanceof XRPCError) {
127060
127146
  }
127061
127147
  return e;
127062
127148
  }
127063
127149
 
127064
- // ../api/src/client/types/app/bsky/actor/searchActors.ts
127150
+ // ../api/src/client/types/app/bsky/actor/putPreferences.ts
127065
127151
  function toKnownErr70(e) {
127066
127152
  if (e instanceof XRPCError) {
127067
127153
  }
127068
127154
  return e;
127069
127155
  }
127070
127156
 
127071
- // ../api/src/client/types/app/bsky/actor/searchActorsTypeahead.ts
127157
+ // ../api/src/client/types/app/bsky/actor/searchActors.ts
127072
127158
  function toKnownErr71(e) {
127073
127159
  if (e instanceof XRPCError) {
127074
127160
  }
127075
127161
  return e;
127076
127162
  }
127077
127163
 
127078
- // ../api/src/client/types/app/bsky/feed/describeFeedGenerator.ts
127164
+ // ../api/src/client/types/app/bsky/actor/searchActorsTypeahead.ts
127079
127165
  function toKnownErr72(e) {
127080
127166
  if (e instanceof XRPCError) {
127081
127167
  }
127082
127168
  return e;
127083
127169
  }
127084
127170
 
127085
- // ../api/src/client/types/app/bsky/feed/getActorFeeds.ts
127171
+ // ../api/src/client/types/app/bsky/feed/describeFeedGenerator.ts
127086
127172
  function toKnownErr73(e) {
127087
127173
  if (e instanceof XRPCError) {
127088
127174
  }
127089
127175
  return e;
127090
127176
  }
127091
127177
 
127178
+ // ../api/src/client/types/app/bsky/feed/getActorFeeds.ts
127179
+ function toKnownErr74(e) {
127180
+ if (e instanceof XRPCError) {
127181
+ }
127182
+ return e;
127183
+ }
127184
+
127092
127185
  // ../api/src/client/types/app/bsky/feed/getActorLikes.ts
127093
127186
  var BlockedActorError = class extends XRPCError {
127094
127187
  constructor(src3) {
@@ -127100,7 +127193,7 @@ var BlockedByActorError = class extends XRPCError {
127100
127193
  super(src3.status, src3.error, src3.message, src3.headers);
127101
127194
  }
127102
127195
  };
127103
- function toKnownErr74(e) {
127196
+ function toKnownErr75(e) {
127104
127197
  if (e instanceof XRPCError) {
127105
127198
  if (e.error === "BlockedActor")
127106
127199
  return new BlockedActorError(e);
@@ -127121,7 +127214,7 @@ var BlockedByActorError2 = class extends XRPCError {
127121
127214
  super(src3.status, src3.error, src3.message, src3.headers);
127122
127215
  }
127123
127216
  };
127124
- function toKnownErr75(e) {
127217
+ function toKnownErr76(e) {
127125
127218
  if (e instanceof XRPCError) {
127126
127219
  if (e.error === "BlockedActor")
127127
127220
  return new BlockedActorError2(e);
@@ -127137,7 +127230,7 @@ var UnknownFeedError = class extends XRPCError {
127137
127230
  super(src3.status, src3.error, src3.message, src3.headers);
127138
127231
  }
127139
127232
  };
127140
- function toKnownErr76(e) {
127233
+ function toKnownErr77(e) {
127141
127234
  if (e instanceof XRPCError) {
127142
127235
  if (e.error === "UnknownFeed")
127143
127236
  return new UnknownFeedError(e);
@@ -127146,14 +127239,14 @@ function toKnownErr76(e) {
127146
127239
  }
127147
127240
 
127148
127241
  // ../api/src/client/types/app/bsky/feed/getFeedGenerator.ts
127149
- function toKnownErr77(e) {
127242
+ function toKnownErr78(e) {
127150
127243
  if (e instanceof XRPCError) {
127151
127244
  }
127152
127245
  return e;
127153
127246
  }
127154
127247
 
127155
127248
  // ../api/src/client/types/app/bsky/feed/getFeedGenerators.ts
127156
- function toKnownErr78(e) {
127249
+ function toKnownErr79(e) {
127157
127250
  if (e instanceof XRPCError) {
127158
127251
  }
127159
127252
  return e;
@@ -127163,14 +127256,14 @@ function toKnownErr78(e) {
127163
127256
  var getFeedSkeleton_exports = {};
127164
127257
  __export(getFeedSkeleton_exports, {
127165
127258
  UnknownFeedError: () => UnknownFeedError2,
127166
- toKnownErr: () => toKnownErr79
127259
+ toKnownErr: () => toKnownErr80
127167
127260
  });
127168
127261
  var UnknownFeedError2 = class extends XRPCError {
127169
127262
  constructor(src3) {
127170
127263
  super(src3.status, src3.error, src3.message, src3.headers);
127171
127264
  }
127172
127265
  };
127173
- function toKnownErr79(e) {
127266
+ function toKnownErr80(e) {
127174
127267
  if (e instanceof XRPCError) {
127175
127268
  if (e.error === "UnknownFeed")
127176
127269
  return new UnknownFeedError2(e);
@@ -127179,7 +127272,7 @@ function toKnownErr79(e) {
127179
127272
  }
127180
127273
 
127181
127274
  // ../api/src/client/types/app/bsky/feed/getLikes.ts
127182
- function toKnownErr80(e) {
127275
+ function toKnownErr81(e) {
127183
127276
  if (e instanceof XRPCError) {
127184
127277
  }
127185
127278
  return e;
@@ -127191,7 +127284,7 @@ var UnknownListError = class extends XRPCError {
127191
127284
  super(src3.status, src3.error, src3.message, src3.headers);
127192
127285
  }
127193
127286
  };
127194
- function toKnownErr81(e) {
127287
+ function toKnownErr82(e) {
127195
127288
  if (e instanceof XRPCError) {
127196
127289
  if (e.error === "UnknownList")
127197
127290
  return new UnknownListError(e);
@@ -127205,7 +127298,7 @@ var NotFoundError = class extends XRPCError {
127205
127298
  super(src3.status, src3.error, src3.message, src3.headers);
127206
127299
  }
127207
127300
  };
127208
- function toKnownErr82(e) {
127301
+ function toKnownErr83(e) {
127209
127302
  if (e instanceof XRPCError) {
127210
127303
  if (e.error === "NotFound")
127211
127304
  return new NotFoundError(e);
@@ -127214,28 +127307,28 @@ function toKnownErr82(e) {
127214
127307
  }
127215
127308
 
127216
127309
  // ../api/src/client/types/app/bsky/feed/getPosts.ts
127217
- function toKnownErr83(e) {
127310
+ function toKnownErr84(e) {
127218
127311
  if (e instanceof XRPCError) {
127219
127312
  }
127220
127313
  return e;
127221
127314
  }
127222
127315
 
127223
127316
  // ../api/src/client/types/app/bsky/feed/getRepostedBy.ts
127224
- function toKnownErr84(e) {
127317
+ function toKnownErr85(e) {
127225
127318
  if (e instanceof XRPCError) {
127226
127319
  }
127227
127320
  return e;
127228
127321
  }
127229
127322
 
127230
127323
  // ../api/src/client/types/app/bsky/feed/getSuggestedFeeds.ts
127231
- function toKnownErr85(e) {
127324
+ function toKnownErr86(e) {
127232
127325
  if (e instanceof XRPCError) {
127233
127326
  }
127234
127327
  return e;
127235
127328
  }
127236
127329
 
127237
127330
  // ../api/src/client/types/app/bsky/feed/getTimeline.ts
127238
- function toKnownErr86(e) {
127331
+ function toKnownErr87(e) {
127239
127332
  if (e instanceof XRPCError) {
127240
127333
  }
127241
127334
  return e;
@@ -127247,7 +127340,7 @@ var BadQueryStringError = class extends XRPCError {
127247
127340
  super(src3.status, src3.error, src3.message, src3.headers);
127248
127341
  }
127249
127342
  };
127250
- function toKnownErr87(e) {
127343
+ function toKnownErr88(e) {
127251
127344
  if (e instanceof XRPCError) {
127252
127345
  if (e.error === "BadQueryString")
127253
127346
  return new BadQueryStringError(e);
@@ -127256,133 +127349,133 @@ function toKnownErr87(e) {
127256
127349
  }
127257
127350
 
127258
127351
  // ../api/src/client/types/app/bsky/graph/getBlocks.ts
127259
- function toKnownErr88(e) {
127352
+ function toKnownErr89(e) {
127260
127353
  if (e instanceof XRPCError) {
127261
127354
  }
127262
127355
  return e;
127263
127356
  }
127264
127357
 
127265
127358
  // ../api/src/client/types/app/bsky/graph/getFollowers.ts
127266
- function toKnownErr89(e) {
127359
+ function toKnownErr90(e) {
127267
127360
  if (e instanceof XRPCError) {
127268
127361
  }
127269
127362
  return e;
127270
127363
  }
127271
127364
 
127272
127365
  // ../api/src/client/types/app/bsky/graph/getFollows.ts
127273
- function toKnownErr90(e) {
127366
+ function toKnownErr91(e) {
127274
127367
  if (e instanceof XRPCError) {
127275
127368
  }
127276
127369
  return e;
127277
127370
  }
127278
127371
 
127279
127372
  // ../api/src/client/types/app/bsky/graph/getList.ts
127280
- function toKnownErr91(e) {
127373
+ function toKnownErr92(e) {
127281
127374
  if (e instanceof XRPCError) {
127282
127375
  }
127283
127376
  return e;
127284
127377
  }
127285
127378
 
127286
127379
  // ../api/src/client/types/app/bsky/graph/getListBlocks.ts
127287
- function toKnownErr92(e) {
127380
+ function toKnownErr93(e) {
127288
127381
  if (e instanceof XRPCError) {
127289
127382
  }
127290
127383
  return e;
127291
127384
  }
127292
127385
 
127293
127386
  // ../api/src/client/types/app/bsky/graph/getListMutes.ts
127294
- function toKnownErr93(e) {
127387
+ function toKnownErr94(e) {
127295
127388
  if (e instanceof XRPCError) {
127296
127389
  }
127297
127390
  return e;
127298
127391
  }
127299
127392
 
127300
127393
  // ../api/src/client/types/app/bsky/graph/getLists.ts
127301
- function toKnownErr94(e) {
127394
+ function toKnownErr95(e) {
127302
127395
  if (e instanceof XRPCError) {
127303
127396
  }
127304
127397
  return e;
127305
127398
  }
127306
127399
 
127307
127400
  // ../api/src/client/types/app/bsky/graph/getMutes.ts
127308
- function toKnownErr95(e) {
127401
+ function toKnownErr96(e) {
127309
127402
  if (e instanceof XRPCError) {
127310
127403
  }
127311
127404
  return e;
127312
127405
  }
127313
127406
 
127314
127407
  // ../api/src/client/types/app/bsky/graph/getSuggestedFollowsByActor.ts
127315
- function toKnownErr96(e) {
127408
+ function toKnownErr97(e) {
127316
127409
  if (e instanceof XRPCError) {
127317
127410
  }
127318
127411
  return e;
127319
127412
  }
127320
127413
 
127321
127414
  // ../api/src/client/types/app/bsky/graph/muteActor.ts
127322
- function toKnownErr97(e) {
127415
+ function toKnownErr98(e) {
127323
127416
  if (e instanceof XRPCError) {
127324
127417
  }
127325
127418
  return e;
127326
127419
  }
127327
127420
 
127328
127421
  // ../api/src/client/types/app/bsky/graph/muteActorList.ts
127329
- function toKnownErr98(e) {
127422
+ function toKnownErr99(e) {
127330
127423
  if (e instanceof XRPCError) {
127331
127424
  }
127332
127425
  return e;
127333
127426
  }
127334
127427
 
127335
127428
  // ../api/src/client/types/app/bsky/graph/unmuteActor.ts
127336
- function toKnownErr99(e) {
127429
+ function toKnownErr100(e) {
127337
127430
  if (e instanceof XRPCError) {
127338
127431
  }
127339
127432
  return e;
127340
127433
  }
127341
127434
 
127342
127435
  // ../api/src/client/types/app/bsky/graph/unmuteActorList.ts
127343
- function toKnownErr100(e) {
127436
+ function toKnownErr101(e) {
127344
127437
  if (e instanceof XRPCError) {
127345
127438
  }
127346
127439
  return e;
127347
127440
  }
127348
127441
 
127349
127442
  // ../api/src/client/types/app/bsky/notification/getUnreadCount.ts
127350
- function toKnownErr101(e) {
127443
+ function toKnownErr102(e) {
127351
127444
  if (e instanceof XRPCError) {
127352
127445
  }
127353
127446
  return e;
127354
127447
  }
127355
127448
 
127356
127449
  // ../api/src/client/types/app/bsky/notification/listNotifications.ts
127357
- function toKnownErr102(e) {
127450
+ function toKnownErr103(e) {
127358
127451
  if (e instanceof XRPCError) {
127359
127452
  }
127360
127453
  return e;
127361
127454
  }
127362
127455
 
127363
127456
  // ../api/src/client/types/app/bsky/notification/registerPush.ts
127364
- function toKnownErr103(e) {
127457
+ function toKnownErr104(e) {
127365
127458
  if (e instanceof XRPCError) {
127366
127459
  }
127367
127460
  return e;
127368
127461
  }
127369
127462
 
127370
127463
  // ../api/src/client/types/app/bsky/notification/updateSeen.ts
127371
- function toKnownErr104(e) {
127464
+ function toKnownErr105(e) {
127372
127465
  if (e instanceof XRPCError) {
127373
127466
  }
127374
127467
  return e;
127375
127468
  }
127376
127469
 
127377
127470
  // ../api/src/client/types/app/bsky/unspecced/getPopular.ts
127378
- function toKnownErr105(e) {
127471
+ function toKnownErr106(e) {
127379
127472
  if (e instanceof XRPCError) {
127380
127473
  }
127381
127474
  return e;
127382
127475
  }
127383
127476
 
127384
127477
  // ../api/src/client/types/app/bsky/unspecced/getPopularFeedGenerators.ts
127385
- function toKnownErr106(e) {
127478
+ function toKnownErr107(e) {
127386
127479
  if (e instanceof XRPCError) {
127387
127480
  }
127388
127481
  return e;
@@ -127394,7 +127487,7 @@ var UnknownFeedError3 = class extends XRPCError {
127394
127487
  super(src3.status, src3.error, src3.message, src3.headers);
127395
127488
  }
127396
127489
  };
127397
- function toKnownErr107(e) {
127490
+ function toKnownErr108(e) {
127398
127491
  if (e instanceof XRPCError) {
127399
127492
  if (e.error === "UnknownFeed")
127400
127493
  return new UnknownFeedError3(e);
@@ -127408,7 +127501,7 @@ var BadQueryStringError2 = class extends XRPCError {
127408
127501
  super(src3.status, src3.error, src3.message, src3.headers);
127409
127502
  }
127410
127503
  };
127411
- function toKnownErr108(e) {
127504
+ function toKnownErr109(e) {
127412
127505
  if (e instanceof XRPCError) {
127413
127506
  if (e.error === "BadQueryString")
127414
127507
  return new BadQueryStringError2(e);
@@ -127422,7 +127515,7 @@ var BadQueryStringError3 = class extends XRPCError {
127422
127515
  super(src3.status, src3.error, src3.message, src3.headers);
127423
127516
  }
127424
127517
  };
127425
- function toKnownErr109(e) {
127518
+ function toKnownErr110(e) {
127426
127519
  if (e instanceof XRPCError) {
127427
127520
  if (e.error === "BadQueryString")
127428
127521
  return new BadQueryStringError3(e);
@@ -127467,6 +127560,7 @@ var AtprotoNS = class {
127467
127560
  this.repo = new RepoNS(service2);
127468
127561
  this.server = new ServerNS(service2);
127469
127562
  this.sync = new SyncNS(service2);
127563
+ this.temp = new TempNS(service2);
127470
127564
  }
127471
127565
  };
127472
127566
  var AdminNS = class {
@@ -127824,6 +127918,16 @@ var SyncNS = class {
127824
127918
  });
127825
127919
  }
127826
127920
  };
127921
+ var TempNS = class {
127922
+ constructor(service2) {
127923
+ this._service = service2;
127924
+ }
127925
+ fetchLabels(params2, opts) {
127926
+ return this._service.xrpc.call("com.atproto.temp.fetchLabels", params2, void 0, opts).catch((e) => {
127927
+ throw toKnownErr65(e);
127928
+ });
127929
+ }
127930
+ };
127827
127931
  var AppNS = class {
127828
127932
  constructor(service2) {
127829
127933
  this._service = service2;
@@ -127849,37 +127953,37 @@ var ActorNS = class {
127849
127953
  }
127850
127954
  getPreferences(params2, opts) {
127851
127955
  return this._service.xrpc.call("app.bsky.actor.getPreferences", params2, void 0, opts).catch((e) => {
127852
- throw toKnownErr65(e);
127956
+ throw toKnownErr66(e);
127853
127957
  });
127854
127958
  }
127855
127959
  getProfile(params2, opts) {
127856
127960
  return this._service.xrpc.call("app.bsky.actor.getProfile", params2, void 0, opts).catch((e) => {
127857
- throw toKnownErr66(e);
127961
+ throw toKnownErr67(e);
127858
127962
  });
127859
127963
  }
127860
127964
  getProfiles(params2, opts) {
127861
127965
  return this._service.xrpc.call("app.bsky.actor.getProfiles", params2, void 0, opts).catch((e) => {
127862
- throw toKnownErr67(e);
127966
+ throw toKnownErr68(e);
127863
127967
  });
127864
127968
  }
127865
127969
  getSuggestions(params2, opts) {
127866
127970
  return this._service.xrpc.call("app.bsky.actor.getSuggestions", params2, void 0, opts).catch((e) => {
127867
- throw toKnownErr68(e);
127971
+ throw toKnownErr69(e);
127868
127972
  });
127869
127973
  }
127870
127974
  putPreferences(data, opts) {
127871
127975
  return this._service.xrpc.call("app.bsky.actor.putPreferences", opts?.qp, data, opts).catch((e) => {
127872
- throw toKnownErr69(e);
127976
+ throw toKnownErr70(e);
127873
127977
  });
127874
127978
  }
127875
127979
  searchActors(params2, opts) {
127876
127980
  return this._service.xrpc.call("app.bsky.actor.searchActors", params2, void 0, opts).catch((e) => {
127877
- throw toKnownErr70(e);
127981
+ throw toKnownErr71(e);
127878
127982
  });
127879
127983
  }
127880
127984
  searchActorsTypeahead(params2, opts) {
127881
127985
  return this._service.xrpc.call("app.bsky.actor.searchActorsTypeahead", params2, void 0, opts).catch((e) => {
127882
- throw toKnownErr71(e);
127986
+ throw toKnownErr72(e);
127883
127987
  });
127884
127988
  }
127885
127989
  };
@@ -127926,82 +128030,82 @@ var FeedNS = class {
127926
128030
  }
127927
128031
  describeFeedGenerator(params2, opts) {
127928
128032
  return this._service.xrpc.call("app.bsky.feed.describeFeedGenerator", params2, void 0, opts).catch((e) => {
127929
- throw toKnownErr72(e);
128033
+ throw toKnownErr73(e);
127930
128034
  });
127931
128035
  }
127932
128036
  getActorFeeds(params2, opts) {
127933
128037
  return this._service.xrpc.call("app.bsky.feed.getActorFeeds", params2, void 0, opts).catch((e) => {
127934
- throw toKnownErr73(e);
128038
+ throw toKnownErr74(e);
127935
128039
  });
127936
128040
  }
127937
128041
  getActorLikes(params2, opts) {
127938
128042
  return this._service.xrpc.call("app.bsky.feed.getActorLikes", params2, void 0, opts).catch((e) => {
127939
- throw toKnownErr74(e);
128043
+ throw toKnownErr75(e);
127940
128044
  });
127941
128045
  }
127942
128046
  getAuthorFeed(params2, opts) {
127943
128047
  return this._service.xrpc.call("app.bsky.feed.getAuthorFeed", params2, void 0, opts).catch((e) => {
127944
- throw toKnownErr75(e);
128048
+ throw toKnownErr76(e);
127945
128049
  });
127946
128050
  }
127947
128051
  getFeed(params2, opts) {
127948
128052
  return this._service.xrpc.call("app.bsky.feed.getFeed", params2, void 0, opts).catch((e) => {
127949
- throw toKnownErr76(e);
128053
+ throw toKnownErr77(e);
127950
128054
  });
127951
128055
  }
127952
128056
  getFeedGenerator(params2, opts) {
127953
128057
  return this._service.xrpc.call("app.bsky.feed.getFeedGenerator", params2, void 0, opts).catch((e) => {
127954
- throw toKnownErr77(e);
128058
+ throw toKnownErr78(e);
127955
128059
  });
127956
128060
  }
127957
128061
  getFeedGenerators(params2, opts) {
127958
128062
  return this._service.xrpc.call("app.bsky.feed.getFeedGenerators", params2, void 0, opts).catch((e) => {
127959
- throw toKnownErr78(e);
128063
+ throw toKnownErr79(e);
127960
128064
  });
127961
128065
  }
127962
128066
  getFeedSkeleton(params2, opts) {
127963
128067
  return this._service.xrpc.call("app.bsky.feed.getFeedSkeleton", params2, void 0, opts).catch((e) => {
127964
- throw toKnownErr79(e);
128068
+ throw toKnownErr80(e);
127965
128069
  });
127966
128070
  }
127967
128071
  getLikes(params2, opts) {
127968
128072
  return this._service.xrpc.call("app.bsky.feed.getLikes", params2, void 0, opts).catch((e) => {
127969
- throw toKnownErr80(e);
128073
+ throw toKnownErr81(e);
127970
128074
  });
127971
128075
  }
127972
128076
  getListFeed(params2, opts) {
127973
128077
  return this._service.xrpc.call("app.bsky.feed.getListFeed", params2, void 0, opts).catch((e) => {
127974
- throw toKnownErr81(e);
128078
+ throw toKnownErr82(e);
127975
128079
  });
127976
128080
  }
127977
128081
  getPostThread(params2, opts) {
127978
128082
  return this._service.xrpc.call("app.bsky.feed.getPostThread", params2, void 0, opts).catch((e) => {
127979
- throw toKnownErr82(e);
128083
+ throw toKnownErr83(e);
127980
128084
  });
127981
128085
  }
127982
128086
  getPosts(params2, opts) {
127983
128087
  return this._service.xrpc.call("app.bsky.feed.getPosts", params2, void 0, opts).catch((e) => {
127984
- throw toKnownErr83(e);
128088
+ throw toKnownErr84(e);
127985
128089
  });
127986
128090
  }
127987
128091
  getRepostedBy(params2, opts) {
127988
128092
  return this._service.xrpc.call("app.bsky.feed.getRepostedBy", params2, void 0, opts).catch((e) => {
127989
- throw toKnownErr84(e);
128093
+ throw toKnownErr85(e);
127990
128094
  });
127991
128095
  }
127992
128096
  getSuggestedFeeds(params2, opts) {
127993
128097
  return this._service.xrpc.call("app.bsky.feed.getSuggestedFeeds", params2, void 0, opts).catch((e) => {
127994
- throw toKnownErr85(e);
128098
+ throw toKnownErr86(e);
127995
128099
  });
127996
128100
  }
127997
128101
  getTimeline(params2, opts) {
127998
128102
  return this._service.xrpc.call("app.bsky.feed.getTimeline", params2, void 0, opts).catch((e) => {
127999
- throw toKnownErr86(e);
128103
+ throw toKnownErr87(e);
128000
128104
  });
128001
128105
  }
128002
128106
  searchPosts(params2, opts) {
128003
128107
  return this._service.xrpc.call("app.bsky.feed.searchPosts", params2, void 0, opts).catch((e) => {
128004
- throw toKnownErr87(e);
128108
+ throw toKnownErr88(e);
128005
128109
  });
128006
128110
  }
128007
128111
  };
@@ -128151,67 +128255,67 @@ var GraphNS = class {
128151
128255
  }
128152
128256
  getBlocks(params2, opts) {
128153
128257
  return this._service.xrpc.call("app.bsky.graph.getBlocks", params2, void 0, opts).catch((e) => {
128154
- throw toKnownErr88(e);
128258
+ throw toKnownErr89(e);
128155
128259
  });
128156
128260
  }
128157
128261
  getFollowers(params2, opts) {
128158
128262
  return this._service.xrpc.call("app.bsky.graph.getFollowers", params2, void 0, opts).catch((e) => {
128159
- throw toKnownErr89(e);
128263
+ throw toKnownErr90(e);
128160
128264
  });
128161
128265
  }
128162
128266
  getFollows(params2, opts) {
128163
128267
  return this._service.xrpc.call("app.bsky.graph.getFollows", params2, void 0, opts).catch((e) => {
128164
- throw toKnownErr90(e);
128268
+ throw toKnownErr91(e);
128165
128269
  });
128166
128270
  }
128167
128271
  getList(params2, opts) {
128168
128272
  return this._service.xrpc.call("app.bsky.graph.getList", params2, void 0, opts).catch((e) => {
128169
- throw toKnownErr91(e);
128273
+ throw toKnownErr92(e);
128170
128274
  });
128171
128275
  }
128172
128276
  getListBlocks(params2, opts) {
128173
128277
  return this._service.xrpc.call("app.bsky.graph.getListBlocks", params2, void 0, opts).catch((e) => {
128174
- throw toKnownErr92(e);
128278
+ throw toKnownErr93(e);
128175
128279
  });
128176
128280
  }
128177
128281
  getListMutes(params2, opts) {
128178
128282
  return this._service.xrpc.call("app.bsky.graph.getListMutes", params2, void 0, opts).catch((e) => {
128179
- throw toKnownErr93(e);
128283
+ throw toKnownErr94(e);
128180
128284
  });
128181
128285
  }
128182
128286
  getLists(params2, opts) {
128183
128287
  return this._service.xrpc.call("app.bsky.graph.getLists", params2, void 0, opts).catch((e) => {
128184
- throw toKnownErr94(e);
128288
+ throw toKnownErr95(e);
128185
128289
  });
128186
128290
  }
128187
128291
  getMutes(params2, opts) {
128188
128292
  return this._service.xrpc.call("app.bsky.graph.getMutes", params2, void 0, opts).catch((e) => {
128189
- throw toKnownErr95(e);
128293
+ throw toKnownErr96(e);
128190
128294
  });
128191
128295
  }
128192
128296
  getSuggestedFollowsByActor(params2, opts) {
128193
128297
  return this._service.xrpc.call("app.bsky.graph.getSuggestedFollowsByActor", params2, void 0, opts).catch((e) => {
128194
- throw toKnownErr96(e);
128298
+ throw toKnownErr97(e);
128195
128299
  });
128196
128300
  }
128197
128301
  muteActor(data, opts) {
128198
128302
  return this._service.xrpc.call("app.bsky.graph.muteActor", opts?.qp, data, opts).catch((e) => {
128199
- throw toKnownErr97(e);
128303
+ throw toKnownErr98(e);
128200
128304
  });
128201
128305
  }
128202
128306
  muteActorList(data, opts) {
128203
128307
  return this._service.xrpc.call("app.bsky.graph.muteActorList", opts?.qp, data, opts).catch((e) => {
128204
- throw toKnownErr98(e);
128308
+ throw toKnownErr99(e);
128205
128309
  });
128206
128310
  }
128207
128311
  unmuteActor(data, opts) {
128208
128312
  return this._service.xrpc.call("app.bsky.graph.unmuteActor", opts?.qp, data, opts).catch((e) => {
128209
- throw toKnownErr99(e);
128313
+ throw toKnownErr100(e);
128210
128314
  });
128211
128315
  }
128212
128316
  unmuteActorList(data, opts) {
128213
128317
  return this._service.xrpc.call("app.bsky.graph.unmuteActorList", opts?.qp, data, opts).catch((e) => {
128214
- throw toKnownErr100(e);
128318
+ throw toKnownErr101(e);
128215
128319
  });
128216
128320
  }
128217
128321
  };
@@ -128356,22 +128460,22 @@ var NotificationNS = class {
128356
128460
  }
128357
128461
  getUnreadCount(params2, opts) {
128358
128462
  return this._service.xrpc.call("app.bsky.notification.getUnreadCount", params2, void 0, opts).catch((e) => {
128359
- throw toKnownErr101(e);
128463
+ throw toKnownErr102(e);
128360
128464
  });
128361
128465
  }
128362
128466
  listNotifications(params2, opts) {
128363
128467
  return this._service.xrpc.call("app.bsky.notification.listNotifications", params2, void 0, opts).catch((e) => {
128364
- throw toKnownErr102(e);
128468
+ throw toKnownErr103(e);
128365
128469
  });
128366
128470
  }
128367
128471
  registerPush(data, opts) {
128368
128472
  return this._service.xrpc.call("app.bsky.notification.registerPush", opts?.qp, data, opts).catch((e) => {
128369
- throw toKnownErr103(e);
128473
+ throw toKnownErr104(e);
128370
128474
  });
128371
128475
  }
128372
128476
  updateSeen(data, opts) {
128373
128477
  return this._service.xrpc.call("app.bsky.notification.updateSeen", opts?.qp, data, opts).catch((e) => {
128374
- throw toKnownErr104(e);
128478
+ throw toKnownErr105(e);
128375
128479
  });
128376
128480
  }
128377
128481
  };
@@ -128386,27 +128490,27 @@ var UnspeccedNS = class {
128386
128490
  }
128387
128491
  getPopular(params2, opts) {
128388
128492
  return this._service.xrpc.call("app.bsky.unspecced.getPopular", params2, void 0, opts).catch((e) => {
128389
- throw toKnownErr105(e);
128493
+ throw toKnownErr106(e);
128390
128494
  });
128391
128495
  }
128392
128496
  getPopularFeedGenerators(params2, opts) {
128393
128497
  return this._service.xrpc.call("app.bsky.unspecced.getPopularFeedGenerators", params2, void 0, opts).catch((e) => {
128394
- throw toKnownErr106(e);
128498
+ throw toKnownErr107(e);
128395
128499
  });
128396
128500
  }
128397
128501
  getTimelineSkeleton(params2, opts) {
128398
128502
  return this._service.xrpc.call("app.bsky.unspecced.getTimelineSkeleton", params2, void 0, opts).catch((e) => {
128399
- throw toKnownErr107(e);
128503
+ throw toKnownErr108(e);
128400
128504
  });
128401
128505
  }
128402
128506
  searchActorsSkeleton(params2, opts) {
128403
128507
  return this._service.xrpc.call("app.bsky.unspecced.searchActorsSkeleton", params2, void 0, opts).catch((e) => {
128404
- throw toKnownErr108(e);
128508
+ throw toKnownErr109(e);
128405
128509
  });
128406
128510
  }
128407
128511
  searchPostsSkeleton(params2, opts) {
128408
128512
  return this._service.xrpc.call("app.bsky.unspecced.searchPostsSkeleton", params2, void 0, opts).catch((e) => {
128409
- throw toKnownErr109(e);
128513
+ throw toKnownErr110(e);
128410
128514
  });
128411
128515
  }
128412
128516
  };
@@ -128503,6 +128607,7 @@ var _AtpAgent = class {
128503
128607
  this.session.email = res.data.email;
128504
128608
  this.session.handle = res.data.handle;
128505
128609
  this.session.emailConfirmed = res.data.emailConfirmed;
128610
+ this._updateApiEndpoint(res.data.didDoc);
128506
128611
  return res;
128507
128612
  } catch (e) {
128508
128613
  this.session = void 0;
@@ -129606,13 +129711,13 @@ var skeletonFromFeedGen = async (ctx, params2) => {
129606
129711
  throw new InvalidRequestError(`invalid feed generator service details in did document: ${feedDid}`);
129607
129712
  }
129608
129713
  const agent = new AtpAgent({ service: fgEndpoint });
129609
- let skeleton19;
129714
+ let skeleton20;
129610
129715
  try {
129611
129716
  const headers = authorization ? { authorization } : {};
129612
129717
  const result = await agent.api.app.bsky.feed.getFeedSkeleton(params2, {
129613
129718
  headers
129614
129719
  });
129615
- skeleton19 = result.data;
129720
+ skeleton20 = result.data;
129616
129721
  } catch (err) {
129617
129722
  if (err instanceof getFeedSkeleton_exports.UnknownFeedError) {
129618
129723
  throw new InvalidRequestError(err.message, "UnknownFeed");
@@ -129627,16 +129732,16 @@ var skeletonFromFeedGen = async (ctx, params2) => {
129627
129732
  }
129628
129733
  throw err;
129629
129734
  }
129630
- const { feed: feedSkele, ...skele } = skeleton19;
129735
+ const { feed: feedSkele, ...skele } = skeleton20;
129631
129736
  const feedItems = await skeletonToFeedItems(feedSkele.slice(0, params2.limit), ctx);
129632
129737
  return { ...skele, feedItems };
129633
129738
  };
129634
- var skeletonToFeedItems = async (skeleton19, ctx) => {
129739
+ var skeletonToFeedItems = async (skeleton20, ctx) => {
129635
129740
  const { feedService } = ctx;
129636
- const feedItemUris = skeleton19.map(getSkeleFeedItemUri);
129741
+ const feedItemUris = skeleton20.map(getSkeleFeedItemUri);
129637
129742
  const feedItemsRaw = await feedService.getFeedItems(feedItemUris);
129638
129743
  const results = [];
129639
- for (const skeleItem of skeleton19) {
129744
+ for (const skeleItem of skeleton20) {
129640
129745
  const feedItem = feedItemsRaw[getSkeleFeedItemUri(skeleItem)];
129641
129746
  if (feedItem && feedItem.postUri === skeleItem.post) {
129642
129747
  results.push(feedItem);
@@ -129960,7 +130065,7 @@ var schemaDict2 = {
129960
130065
  },
129961
130066
  durationInHours: {
129962
130067
  type: "integer",
129963
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
130068
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
129964
130069
  },
129965
130070
  subject: {
129966
130071
  type: "union",
@@ -130032,7 +130137,7 @@ var schemaDict2 = {
130032
130137
  },
130033
130138
  durationInHours: {
130034
130139
  type: "integer",
130035
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
130140
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
130036
130141
  },
130037
130142
  subject: {
130038
130143
  type: "union",
@@ -130099,7 +130204,7 @@ var schemaDict2 = {
130099
130204
  },
130100
130205
  durationInHours: {
130101
130206
  type: "integer",
130102
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
130207
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
130103
130208
  }
130104
130209
  }
130105
130210
  },
@@ -130344,6 +130449,10 @@ var schemaDict2 = {
130344
130449
  },
130345
130450
  inviteNote: {
130346
130451
  type: "string"
130452
+ },
130453
+ emailConfirmedAt: {
130454
+ type: "string",
130455
+ format: "datetime"
130347
130456
  }
130348
130457
  }
130349
130458
  },
@@ -130380,6 +130489,10 @@ var schemaDict2 = {
130380
130489
  invitesDisabled: {
130381
130490
  type: "boolean"
130382
130491
  },
130492
+ emailConfirmedAt: {
130493
+ type: "string",
130494
+ format: "datetime"
130495
+ },
130383
130496
  inviteNote: {
130384
130497
  type: "string"
130385
130498
  }
@@ -130627,7 +130740,7 @@ var schemaDict2 = {
130627
130740
  defs: {
130628
130741
  main: {
130629
130742
  type: "procedure",
130630
- description: "Disable an account from receiving new invite codes, but does not invalidate existing codes",
130743
+ description: "Disable an account from receiving new invite codes, but does not invalidate existing codes.",
130631
130744
  input: {
130632
130745
  encoding: "application/json",
130633
130746
  schema: {
@@ -130640,7 +130753,7 @@ var schemaDict2 = {
130640
130753
  },
130641
130754
  note: {
130642
130755
  type: "string",
130643
- description: "Additionally add a note describing why the invites were disabled"
130756
+ description: "Optional reason for disabled invites."
130644
130757
  }
130645
130758
  }
130646
130759
  }
@@ -130654,7 +130767,7 @@ var schemaDict2 = {
130654
130767
  defs: {
130655
130768
  main: {
130656
130769
  type: "procedure",
130657
- description: "Disable some set of codes and/or all codes associated with a set of users",
130770
+ description: "Disable some set of codes and/or all codes associated with a set of users.",
130658
130771
  input: {
130659
130772
  encoding: "application/json",
130660
130773
  schema: {
@@ -130684,7 +130797,7 @@ var schemaDict2 = {
130684
130797
  defs: {
130685
130798
  main: {
130686
130799
  type: "procedure",
130687
- description: "Re-enable an accounts ability to receive invite codes",
130800
+ description: "Re-enable an account's ability to receive invite codes.",
130688
130801
  input: {
130689
130802
  encoding: "application/json",
130690
130803
  schema: {
@@ -130697,7 +130810,7 @@ var schemaDict2 = {
130697
130810
  },
130698
130811
  note: {
130699
130812
  type: "string",
130700
- description: "Additionally add a note describing why the invites were enabled"
130813
+ description: "Optional reason for enabled invites."
130701
130814
  }
130702
130815
  }
130703
130816
  }
@@ -130711,7 +130824,7 @@ var schemaDict2 = {
130711
130824
  defs: {
130712
130825
  main: {
130713
130826
  type: "query",
130714
- description: "View details about an account.",
130827
+ description: "Get details about an account.",
130715
130828
  parameters: {
130716
130829
  type: "params",
130717
130830
  required: ["did"],
@@ -130738,7 +130851,7 @@ var schemaDict2 = {
130738
130851
  defs: {
130739
130852
  main: {
130740
130853
  type: "query",
130741
- description: "Admin view of invite codes",
130854
+ description: "Get an admin view of invite codes.",
130742
130855
  parameters: {
130743
130856
  type: "params",
130744
130857
  properties: {
@@ -130786,7 +130899,7 @@ var schemaDict2 = {
130786
130899
  defs: {
130787
130900
  main: {
130788
130901
  type: "query",
130789
- description: "View details about a moderation action.",
130902
+ description: "Get details about a moderation action.",
130790
130903
  parameters: {
130791
130904
  type: "params",
130792
130905
  required: ["id"],
@@ -130812,7 +130925,7 @@ var schemaDict2 = {
130812
130925
  defs: {
130813
130926
  main: {
130814
130927
  type: "query",
130815
- description: "List moderation actions related to a subject.",
130928
+ description: "Get a list of moderation actions related to a subject.",
130816
130929
  parameters: {
130817
130930
  type: "params",
130818
130931
  properties: {
@@ -130858,7 +130971,7 @@ var schemaDict2 = {
130858
130971
  defs: {
130859
130972
  main: {
130860
130973
  type: "query",
130861
- description: "View details about a moderation report.",
130974
+ description: "Get details about a moderation report.",
130862
130975
  parameters: {
130863
130976
  type: "params",
130864
130977
  required: ["id"],
@@ -130884,7 +130997,7 @@ var schemaDict2 = {
130884
130997
  defs: {
130885
130998
  main: {
130886
130999
  type: "query",
130887
- description: "List moderation reports related to a subject.",
131000
+ description: "Get moderation reports related to a subject.",
130888
131001
  parameters: {
130889
131002
  type: "params",
130890
131003
  properties: {
@@ -130900,14 +131013,14 @@ var schemaDict2 = {
130900
131013
  actionedBy: {
130901
131014
  type: "string",
130902
131015
  format: "did",
130903
- description: "Get all reports that were actioned by a specific moderator"
131016
+ description: "Get all reports that were actioned by a specific moderator."
130904
131017
  },
130905
131018
  reporters: {
130906
131019
  type: "array",
130907
131020
  items: {
130908
131021
  type: "string"
130909
131022
  },
130910
- description: "Filter reports made by one or more DIDs"
131023
+ description: "Filter reports made by one or more DIDs."
130911
131024
  },
130912
131025
  resolved: {
130913
131026
  type: "boolean"
@@ -130932,7 +131045,7 @@ var schemaDict2 = {
130932
131045
  },
130933
131046
  reverse: {
130934
131047
  type: "boolean",
130935
- description: "Reverse the order of the returned records? when true, returns reports in chronological order"
131048
+ description: "Reverse the order of the returned records. When true, returns reports in chronological order."
130936
131049
  }
130937
131050
  }
130938
131051
  },
@@ -130964,7 +131077,7 @@ var schemaDict2 = {
130964
131077
  defs: {
130965
131078
  main: {
130966
131079
  type: "query",
130967
- description: "View details about a record.",
131080
+ description: "Get details about a record.",
130968
131081
  parameters: {
130969
131082
  type: "params",
130970
131083
  required: ["uri"],
@@ -131000,7 +131113,7 @@ var schemaDict2 = {
131000
131113
  defs: {
131001
131114
  main: {
131002
131115
  type: "query",
131003
- description: "View details about a repository.",
131116
+ description: "Get details about a repository.",
131004
131117
  parameters: {
131005
131118
  type: "params",
131006
131119
  required: ["did"],
@@ -131032,7 +131145,7 @@ var schemaDict2 = {
131032
131145
  defs: {
131033
131146
  main: {
131034
131147
  type: "query",
131035
- description: "Fetch the service-specific the admin status of a subject (account, record, or blob)",
131148
+ description: "Get the service-specific admin status of a subject (account, record, or blob).",
131036
131149
  parameters: {
131037
131150
  type: "params",
131038
131151
  properties: {
@@ -131205,7 +131318,7 @@ var schemaDict2 = {
131205
131318
  defs: {
131206
131319
  main: {
131207
131320
  type: "procedure",
131208
- description: "Send email to a user's primary email address",
131321
+ description: "Send email to a user's account email address.",
131209
131322
  input: {
131210
131323
  encoding: "application/json",
131211
131324
  schema: {
@@ -131246,7 +131359,7 @@ var schemaDict2 = {
131246
131359
  defs: {
131247
131360
  main: {
131248
131361
  type: "procedure",
131249
- description: "Take a moderation action on a repo.",
131362
+ description: "Take a moderation action on an actor.",
131250
131363
  input: {
131251
131364
  encoding: "application/json",
131252
131365
  schema: {
@@ -131292,7 +131405,7 @@ var schemaDict2 = {
131292
131405
  },
131293
131406
  durationInHours: {
131294
131407
  type: "integer",
131295
- description: "Indicates how long this action was meant to be in effect before automatically expiring."
131408
+ description: "Indicates how long this action is meant to be in effect before automatically expiring."
131296
131409
  },
131297
131410
  createdBy: {
131298
131411
  type: "string",
@@ -131322,7 +131435,7 @@ var schemaDict2 = {
131322
131435
  defs: {
131323
131436
  main: {
131324
131437
  type: "procedure",
131325
- description: "Administrative action to update an account's email",
131438
+ description: "Administrative action to update an account's email.",
131326
131439
  input: {
131327
131440
  encoding: "application/json",
131328
131441
  schema: {
@@ -131349,7 +131462,7 @@ var schemaDict2 = {
131349
131462
  defs: {
131350
131463
  main: {
131351
131464
  type: "procedure",
131352
- description: "Administrative action to update an account's handle",
131465
+ description: "Administrative action to update an account's handle.",
131353
131466
  input: {
131354
131467
  encoding: "application/json",
131355
131468
  schema: {
@@ -131376,7 +131489,7 @@ var schemaDict2 = {
131376
131489
  defs: {
131377
131490
  main: {
131378
131491
  type: "procedure",
131379
- description: "Update the service-specific admin status of a subject (account, record, or blob)",
131492
+ description: "Update the service-specific admin status of a subject (account, record, or blob).",
131380
131493
  input: {
131381
131494
  encoding: "application/json",
131382
131495
  schema: {
@@ -131462,7 +131575,7 @@ var schemaDict2 = {
131462
131575
  defs: {
131463
131576
  main: {
131464
131577
  type: "procedure",
131465
- description: "Updates the handle of the account",
131578
+ description: "Updates the handle of the account.",
131466
131579
  input: {
131467
131580
  encoding: "application/json",
131468
131581
  schema: {
@@ -131485,37 +131598,37 @@ var schemaDict2 = {
131485
131598
  defs: {
131486
131599
  label: {
131487
131600
  type: "object",
131488
- description: "Metadata tag on an atproto resource (eg, repo or record)",
131601
+ description: "Metadata tag on an atproto resource (eg, repo or record).",
131489
131602
  required: ["src", "uri", "val", "cts"],
131490
131603
  properties: {
131491
131604
  src: {
131492
131605
  type: "string",
131493
131606
  format: "did",
131494
- description: "DID of the actor who created this label"
131607
+ description: "DID of the actor who created this label."
131495
131608
  },
131496
131609
  uri: {
131497
131610
  type: "string",
131498
131611
  format: "uri",
131499
- description: "AT URI of the record, repository (account), or other resource which this label applies to"
131612
+ description: "AT URI of the record, repository (account), or other resource that this label applies to."
131500
131613
  },
131501
131614
  cid: {
131502
131615
  type: "string",
131503
131616
  format: "cid",
131504
- description: "optionally, CID specifying the specific version of 'uri' resource this label applies to"
131617
+ description: "Optionally, CID specifying the specific version of 'uri' resource this label applies to."
131505
131618
  },
131506
131619
  val: {
131507
131620
  type: "string",
131508
131621
  maxLength: 128,
131509
- description: "the short string name of the value or type of this label"
131622
+ description: "The short string name of the value or type of this label."
131510
131623
  },
131511
131624
  neg: {
131512
131625
  type: "boolean",
131513
- description: "if true, this is a negation label, overwriting a previous label"
131626
+ description: "If true, this is a negation label, overwriting a previous label."
131514
131627
  },
131515
131628
  cts: {
131516
131629
  type: "string",
131517
131630
  format: "datetime",
131518
- description: "timestamp when this label was created"
131631
+ description: "Timestamp when this label was created."
131519
131632
  }
131520
131633
  }
131521
131634
  },
@@ -131536,13 +131649,13 @@ var schemaDict2 = {
131536
131649
  },
131537
131650
  selfLabel: {
131538
131651
  type: "object",
131539
- description: "Metadata tag on an atproto record, published by the author within the record. Note -- schemas should use #selfLabels, not #selfLabel.",
131652
+ description: "Metadata tag on an atproto record, published by the author within the record. Note that schemas should use #selfLabels, not #selfLabel.",
131540
131653
  required: ["val"],
131541
131654
  properties: {
131542
131655
  val: {
131543
131656
  type: "string",
131544
131657
  maxLength: 128,
131545
- description: "the short string name of the value or type of this label"
131658
+ description: "The short string name of the value or type of this label."
131546
131659
  }
131547
131660
  }
131548
131661
  }
@@ -131564,7 +131677,7 @@ var schemaDict2 = {
131564
131677
  items: {
131565
131678
  type: "string"
131566
131679
  },
131567
- description: "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI"
131680
+ description: "List of AT URI patterns to match (boolean 'OR'). Each may be a prefix (ending with '*'; will match inclusive of the string leading to '*'), or a full URI."
131568
131681
  },
131569
131682
  sources: {
131570
131683
  type: "array",
@@ -131572,7 +131685,7 @@ var schemaDict2 = {
131572
131685
  type: "string",
131573
131686
  format: "did"
131574
131687
  },
131575
- description: "Optional list of label sources (DIDs) to filter on"
131688
+ description: "Optional list of label sources (DIDs) to filter on."
131576
131689
  },
131577
131690
  limit: {
131578
131691
  type: "integer",
@@ -131613,7 +131726,7 @@ var schemaDict2 = {
131613
131726
  defs: {
131614
131727
  main: {
131615
131728
  type: "subscription",
131616
- description: "Subscribe to label updates",
131729
+ description: "Subscribe to label updates.",
131617
131730
  parameters: {
131618
131731
  type: "params",
131619
131732
  properties: {
@@ -131806,7 +131919,7 @@ var schemaDict2 = {
131806
131919
  validate: {
131807
131920
  type: "boolean",
131808
131921
  default: true,
131809
- description: "Validate the records?"
131922
+ description: "Flag for validating the records."
131810
131923
  },
131811
131924
  writes: {
131812
131925
  type: "array",
@@ -131915,7 +132028,7 @@ var schemaDict2 = {
131915
132028
  validate: {
131916
132029
  type: "boolean",
131917
132030
  default: true,
131918
- description: "Validate the record?"
132031
+ description: "Flag for validating the record."
131919
132032
  },
131920
132033
  record: {
131921
132034
  type: "unknown",
@@ -131924,7 +132037,7 @@ var schemaDict2 = {
131924
132037
  swapCommit: {
131925
132038
  type: "string",
131926
132039
  format: "cid",
131927
- description: "Compare and swap with the previous commit by cid."
132040
+ description: "Compare and swap with the previous commit by CID."
131928
132041
  }
131929
132042
  }
131930
132043
  }
@@ -131984,12 +132097,12 @@ var schemaDict2 = {
131984
132097
  swapRecord: {
131985
132098
  type: "string",
131986
132099
  format: "cid",
131987
- description: "Compare and swap with the previous record by cid."
132100
+ description: "Compare and swap with the previous record by CID."
131988
132101
  },
131989
132102
  swapCommit: {
131990
132103
  type: "string",
131991
132104
  format: "cid",
131992
- description: "Compare and swap with the previous commit by cid."
132105
+ description: "Compare and swap with the previous commit by CID."
131993
132106
  }
131994
132107
  }
131995
132108
  }
@@ -132155,7 +132268,7 @@ var schemaDict2 = {
132155
132268
  },
132156
132269
  reverse: {
132157
132270
  type: "boolean",
132158
- description: "Reverse the order of the returned records?"
132271
+ description: "Flag to reverse the order of the returned records."
132159
132272
  }
132160
132273
  }
132161
132274
  },
@@ -132230,7 +132343,7 @@ var schemaDict2 = {
132230
132343
  validate: {
132231
132344
  type: "boolean",
132232
132345
  default: true,
132233
- description: "Validate the record?"
132346
+ description: "Flag for validating the record."
132234
132347
  },
132235
132348
  record: {
132236
132349
  type: "unknown",
@@ -132239,12 +132352,12 @@ var schemaDict2 = {
132239
132352
  swapRecord: {
132240
132353
  type: "string",
132241
132354
  format: "cid",
132242
- description: "Compare and swap with the previous record by cid."
132355
+ description: "Compare and swap with the previous record by CID."
132243
132356
  },
132244
132357
  swapCommit: {
132245
132358
  type: "string",
132246
132359
  format: "cid",
132247
- description: "Compare and swap with the previous commit by cid."
132360
+ description: "Compare and swap with the previous commit by CID."
132248
132361
  }
132249
132362
  }
132250
132363
  }
@@ -132456,7 +132569,7 @@ var schemaDict2 = {
132456
132569
  defs: {
132457
132570
  main: {
132458
132571
  type: "procedure",
132459
- description: "Create an app-specific password.",
132572
+ description: "Create an App Password.",
132460
132573
  input: {
132461
132574
  encoding: "application/json",
132462
132575
  schema: {
@@ -132544,7 +132657,7 @@ var schemaDict2 = {
132544
132657
  defs: {
132545
132658
  main: {
132546
132659
  type: "procedure",
132547
- description: "Create an invite code.",
132660
+ description: "Create invite codes.",
132548
132661
  input: {
132549
132662
  encoding: "application/json",
132550
132663
  schema: {
@@ -132731,7 +132844,7 @@ var schemaDict2 = {
132731
132844
  defs: {
132732
132845
  main: {
132733
132846
  type: "procedure",
132734
- description: "Delete a user account with a token and password.",
132847
+ description: "Delete an actor's account with a token and password.",
132735
132848
  input: {
132736
132849
  encoding: "application/json",
132737
132850
  schema: {
@@ -132821,7 +132934,7 @@ var schemaDict2 = {
132821
132934
  defs: {
132822
132935
  main: {
132823
132936
  type: "query",
132824
- description: "Get all invite codes for a given account",
132937
+ description: "Get all invite codes for a given account.",
132825
132938
  parameters: {
132826
132939
  type: "params",
132827
132940
  properties: {
@@ -132885,6 +132998,9 @@ var schemaDict2 = {
132885
132998
  },
132886
132999
  emailConfirmed: {
132887
133000
  type: "boolean"
133001
+ },
133002
+ didDoc: {
133003
+ type: "unknown"
132888
133004
  }
132889
133005
  }
132890
133006
  }
@@ -132898,7 +133014,7 @@ var schemaDict2 = {
132898
133014
  defs: {
132899
133015
  main: {
132900
133016
  type: "query",
132901
- description: "List all app-specific passwords.",
133017
+ description: "List all App Passwords.",
132902
133018
  output: {
132903
133019
  encoding: "application/json",
132904
133020
  schema: {
@@ -132993,7 +133109,7 @@ var schemaDict2 = {
132993
133109
  defs: {
132994
133110
  main: {
132995
133111
  type: "procedure",
132996
- description: "Request an email with a code to confirm ownership of email"
133112
+ description: "Request an email with a code to confirm ownership of email."
132997
133113
  }
132998
133114
  }
132999
133115
  },
@@ -133115,7 +133231,7 @@ var schemaDict2 = {
133115
133231
  defs: {
133116
133232
  main: {
133117
133233
  type: "procedure",
133118
- description: "Revoke an app-specific password by name.",
133234
+ description: "Revoke an App Password by name.",
133119
133235
  input: {
133120
133236
  encoding: "application/json",
133121
133237
  schema: {
@@ -133203,7 +133319,7 @@ var schemaDict2 = {
133203
133319
  defs: {
133204
133320
  main: {
133205
133321
  type: "query",
133206
- description: "Gets blocks from a given repo.",
133322
+ description: "Get blocks from a given repo.",
133207
133323
  parameters: {
133208
133324
  type: "params",
133209
133325
  required: ["did", "cids"],
@@ -133297,7 +133413,7 @@ var schemaDict2 = {
133297
133413
  defs: {
133298
133414
  main: {
133299
133415
  type: "query",
133300
- description: "Gets the current commit CID & revision of the repo.",
133416
+ description: "Get the current commit CID & revision of the repo.",
133301
133417
  parameters: {
133302
133418
  type: "params",
133303
133419
  required: ["did"],
@@ -133339,7 +133455,7 @@ var schemaDict2 = {
133339
133455
  defs: {
133340
133456
  main: {
133341
133457
  type: "query",
133342
- description: "Gets blocks needed for existence or non-existence of record.",
133458
+ description: "Get blocks needed for existence or non-existence of record.",
133343
133459
  parameters: {
133344
133460
  type: "params",
133345
133461
  required: ["did", "collection", "rkey"],
@@ -133375,7 +133491,7 @@ var schemaDict2 = {
133375
133491
  defs: {
133376
133492
  main: {
133377
133493
  type: "query",
133378
- description: "Gets the did's repo, optionally catching up from a specific revision.",
133494
+ description: "Gets the DID's repo, optionally catching up from a specific revision.",
133379
133495
  parameters: {
133380
133496
  type: "params",
133381
133497
  required: ["did"],
@@ -133403,7 +133519,7 @@ var schemaDict2 = {
133403
133519
  defs: {
133404
133520
  main: {
133405
133521
  type: "query",
133406
- description: "List blob cids since some revision",
133522
+ description: "List blob CIDs since some revision.",
133407
133523
  parameters: {
133408
133524
  type: "params",
133409
133525
  required: ["did"],
@@ -133415,7 +133531,7 @@ var schemaDict2 = {
133415
133531
  },
133416
133532
  since: {
133417
133533
  type: "string",
133418
- description: "Optional revision of the repo to list blobs since"
133534
+ description: "Optional revision of the repo to list blobs since."
133419
133535
  },
133420
133536
  limit: {
133421
133537
  type: "integer",
@@ -133456,7 +133572,7 @@ var schemaDict2 = {
133456
133572
  defs: {
133457
133573
  main: {
133458
133574
  type: "query",
133459
- description: "List dids and root cids of hosted repos",
133575
+ description: "List DIDs and root CIDs of hosted repos.",
133460
133576
  parameters: {
133461
133577
  type: "params",
133462
133578
  properties: {
@@ -133516,7 +133632,7 @@ var schemaDict2 = {
133516
133632
  defs: {
133517
133633
  main: {
133518
133634
  type: "procedure",
133519
- description: "Notify a crawling service of a recent update. Often when a long break between updates causes the connection with the crawling service to break.",
133635
+ description: "Notify a crawling service of a recent update; often when a long break between updates causes the connection with the crawling service to break.",
133520
133636
  input: {
133521
133637
  encoding: "application/json",
133522
133638
  schema: {
@@ -133562,7 +133678,7 @@ var schemaDict2 = {
133562
133678
  defs: {
133563
133679
  main: {
133564
133680
  type: "subscription",
133565
- description: "Subscribe to repo updates",
133681
+ description: "Subscribe to repo updates.",
133566
133682
  parameters: {
133567
133683
  type: "params",
133568
133684
  properties: {
@@ -133631,15 +133747,15 @@ var schemaDict2 = {
133631
133747
  },
133632
133748
  rev: {
133633
133749
  type: "string",
133634
- description: "The rev of the emitted commit"
133750
+ description: "The rev of the emitted commit."
133635
133751
  },
133636
133752
  since: {
133637
133753
  type: "string",
133638
- description: "The rev of the last emitted commit from this repo"
133754
+ description: "The rev of the last emitted commit from this repo."
133639
133755
  },
133640
133756
  blocks: {
133641
133757
  type: "bytes",
133642
- description: "CAR file containing relevant blocks",
133758
+ description: "CAR file containing relevant blocks.",
133643
133759
  maxLength: 1e6
133644
133760
  },
133645
133761
  ops: {
@@ -133736,7 +133852,7 @@ var schemaDict2 = {
133736
133852
  },
133737
133853
  repoOp: {
133738
133854
  type: "object",
133739
- description: "A repo operation, ie a write of a single record. For creates and updates, cid is the record's CID as of this operation. For deletes, it's null.",
133855
+ description: "A repo operation, ie a write of a single record. For creates and updates, CID is the record's CID as of this operation. For deletes, it's null.",
133740
133856
  required: ["action", "path", "cid"],
133741
133857
  nullable: ["cid"],
133742
133858
  properties: {
@@ -133754,6 +133870,46 @@ var schemaDict2 = {
133754
133870
  }
133755
133871
  }
133756
133872
  },
133873
+ ComAtprotoTempFetchLabels: {
133874
+ lexicon: 1,
133875
+ id: "com.atproto.temp.fetchLabels",
133876
+ defs: {
133877
+ main: {
133878
+ type: "query",
133879
+ description: "Fetch all labels from a labeler created after a certain date.",
133880
+ parameters: {
133881
+ type: "params",
133882
+ properties: {
133883
+ since: {
133884
+ type: "integer"
133885
+ },
133886
+ limit: {
133887
+ type: "integer",
133888
+ minimum: 1,
133889
+ maximum: 250,
133890
+ default: 50
133891
+ }
133892
+ }
133893
+ },
133894
+ output: {
133895
+ encoding: "application/json",
133896
+ schema: {
133897
+ type: "object",
133898
+ required: ["labels"],
133899
+ properties: {
133900
+ labels: {
133901
+ type: "array",
133902
+ items: {
133903
+ type: "ref",
133904
+ ref: "lex:com.atproto.label.defs#label"
133905
+ }
133906
+ }
133907
+ }
133908
+ }
133909
+ }
133910
+ }
133911
+ }
133912
+ },
133757
133913
  AppBskyActorDefs: {
133758
133914
  lexicon: 1,
133759
133915
  id: "app.bsky.actor.defs",
@@ -133982,7 +134138,7 @@ var schemaDict2 = {
133982
134138
  birthDate: {
133983
134139
  type: "string",
133984
134140
  format: "datetime",
133985
- description: "The birth date of the owner of the account."
134141
+ description: "The birth date of account owner."
133986
134142
  }
133987
134143
  }
133988
134144
  },
@@ -134021,7 +134177,7 @@ var schemaDict2 = {
134021
134177
  properties: {
134022
134178
  sort: {
134023
134179
  type: "string",
134024
- description: "Sorting mode.",
134180
+ description: "Sorting mode for threads.",
134025
134181
  knownValues: ["oldest", "newest", "most-likes", "random"]
134026
134182
  },
134027
134183
  prioritizeFollowedUsers: {
@@ -134065,6 +134221,7 @@ var schemaDict2 = {
134065
134221
  defs: {
134066
134222
  main: {
134067
134223
  type: "query",
134224
+ description: "Get detailed profile view of an actor.",
134068
134225
  parameters: {
134069
134226
  type: "params",
134070
134227
  required: ["actor"],
@@ -134091,6 +134248,7 @@ var schemaDict2 = {
134091
134248
  defs: {
134092
134249
  main: {
134093
134250
  type: "query",
134251
+ description: "Get detailed profile views of multiple actors.",
134094
134252
  parameters: {
134095
134253
  type: "params",
134096
134254
  required: ["actors"],
@@ -134130,7 +134288,7 @@ var schemaDict2 = {
134130
134288
  defs: {
134131
134289
  main: {
134132
134290
  type: "query",
134133
- description: "Get a list of actors suggested for following. Used in discovery UIs.",
134291
+ description: "Get a list of suggested actors, used for discovery.",
134134
134292
  parameters: {
134135
134293
  type: "params",
134136
134294
  properties: {
@@ -134173,6 +134331,7 @@ var schemaDict2 = {
134173
134331
  defs: {
134174
134332
  main: {
134175
134333
  type: "record",
134334
+ description: "A declaration of a profile.",
134176
134335
  key: "literal:self",
134177
134336
  record: {
134178
134337
  type: "object",
@@ -134212,7 +134371,7 @@ var schemaDict2 = {
134212
134371
  defs: {
134213
134372
  main: {
134214
134373
  type: "procedure",
134215
- description: "Sets the private preferences attached to the account.",
134374
+ description: "Set the private preferences attached to the account.",
134216
134375
  input: {
134217
134376
  encoding: "application/json",
134218
134377
  schema: {
@@ -134241,11 +134400,11 @@ var schemaDict2 = {
134241
134400
  properties: {
134242
134401
  term: {
134243
134402
  type: "string",
134244
- description: "DEPRECATED: use 'q' instead"
134403
+ description: "DEPRECATED: use 'q' instead."
134245
134404
  },
134246
134405
  q: {
134247
134406
  type: "string",
134248
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
134407
+ description: "Search query string. Syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
134249
134408
  },
134250
134409
  limit: {
134251
134410
  type: "integer",
@@ -134286,17 +134445,17 @@ var schemaDict2 = {
134286
134445
  defs: {
134287
134446
  main: {
134288
134447
  type: "query",
134289
- description: "Find actor suggestions for a search term.",
134448
+ description: "Find actor suggestions for a prefix search term.",
134290
134449
  parameters: {
134291
134450
  type: "params",
134292
134451
  properties: {
134293
134452
  term: {
134294
134453
  type: "string",
134295
- description: "DEPRECATED: use 'q' instead"
134454
+ description: "DEPRECATED: use 'q' instead."
134296
134455
  },
134297
134456
  q: {
134298
134457
  type: "string",
134299
- description: "search query prefix; not a full query string"
134458
+ description: "Search query prefix; not a full query string."
134300
134459
  },
134301
134460
  limit: {
134302
134461
  type: "integer",
@@ -134328,7 +134487,7 @@ var schemaDict2 = {
134328
134487
  AppBskyEmbedExternal: {
134329
134488
  lexicon: 1,
134330
134489
  id: "app.bsky.embed.external",
134331
- description: "A representation of some externally linked content, embedded in another form of content",
134490
+ description: "A representation of some externally linked content, embedded in another form of content.",
134332
134491
  defs: {
134333
134492
  main: {
134334
134493
  type: "object",
@@ -134395,7 +134554,7 @@ var schemaDict2 = {
134395
134554
  AppBskyEmbedImages: {
134396
134555
  lexicon: 1,
134397
134556
  id: "app.bsky.embed.images",
134398
- description: "A set of images embedded in some other form of content",
134557
+ description: "A set of images embedded in some other form of content.",
134399
134558
  defs: {
134400
134559
  main: {
134401
134560
  type: "object",
@@ -134482,7 +134641,7 @@ var schemaDict2 = {
134482
134641
  AppBskyEmbedRecord: {
134483
134642
  lexicon: 1,
134484
134643
  id: "app.bsky.embed.record",
134485
- description: "A representation of a record embedded in another form of content",
134644
+ description: "A representation of a record embedded in another form of content.",
134486
134645
  defs: {
134487
134646
  main: {
134488
134647
  type: "object",
@@ -134591,7 +134750,7 @@ var schemaDict2 = {
134591
134750
  AppBskyEmbedRecordWithMedia: {
134592
134751
  lexicon: 1,
134593
134752
  id: "app.bsky.embed.recordWithMedia",
134594
- description: "A representation of a record embedded in another form of content, alongside other compatible embeds",
134753
+ description: "A representation of a record embedded in another form of content, alongside other compatible embeds.",
134595
134754
  defs: {
134596
134755
  main: {
134597
134756
  type: "object",
@@ -134958,7 +135117,7 @@ var schemaDict2 = {
134958
135117
  defs: {
134959
135118
  main: {
134960
135119
  type: "query",
134961
- description: "Returns information about a given feed generator including TOS & offered feed URIs",
135120
+ description: "Get information about a feed generator, including policies and offered feed URIs.",
134962
135121
  output: {
134963
135122
  encoding: "application/json",
134964
135123
  schema: {
@@ -135013,7 +135172,7 @@ var schemaDict2 = {
135013
135172
  defs: {
135014
135173
  main: {
135015
135174
  type: "record",
135016
- description: "A declaration of the existence of a feed generator",
135175
+ description: "A declaration of the existence of a feed generator.",
135017
135176
  key: "any",
135018
135177
  record: {
135019
135178
  type: "object",
@@ -135064,7 +135223,7 @@ var schemaDict2 = {
135064
135223
  defs: {
135065
135224
  main: {
135066
135225
  type: "query",
135067
- description: "Retrieve a list of feeds created by a given actor",
135226
+ description: "Get a list of feeds created by the actor.",
135068
135227
  parameters: {
135069
135228
  type: "params",
135070
135229
  required: ["actor"],
@@ -135112,7 +135271,7 @@ var schemaDict2 = {
135112
135271
  defs: {
135113
135272
  main: {
135114
135273
  type: "query",
135115
- description: "A view of the posts liked by an actor.",
135274
+ description: "Get a list of posts liked by an actor.",
135116
135275
  parameters: {
135117
135276
  type: "params",
135118
135277
  required: ["actor"],
@@ -135168,7 +135327,7 @@ var schemaDict2 = {
135168
135327
  defs: {
135169
135328
  main: {
135170
135329
  type: "query",
135171
- description: "A view of an actor's feed.",
135330
+ description: "Get a view of an actor's feed.",
135172
135331
  parameters: {
135173
135332
  type: "params",
135174
135333
  required: ["actor"],
@@ -135233,7 +135392,7 @@ var schemaDict2 = {
135233
135392
  defs: {
135234
135393
  main: {
135235
135394
  type: "query",
135236
- description: "Compose and hydrate a feed from a user's selected feed generator",
135395
+ description: "Get a hydrated feed from an actor's selected feed generator.",
135237
135396
  parameters: {
135238
135397
  type: "params",
135239
135398
  required: ["feed"],
@@ -135286,7 +135445,7 @@ var schemaDict2 = {
135286
135445
  defs: {
135287
135446
  main: {
135288
135447
  type: "query",
135289
- description: "Get information about a specific feed offered by a feed generator, such as its online status",
135448
+ description: "Get information about a feed generator.",
135290
135449
  parameters: {
135291
135450
  type: "params",
135292
135451
  required: ["feed"],
@@ -135325,7 +135484,7 @@ var schemaDict2 = {
135325
135484
  defs: {
135326
135485
  main: {
135327
135486
  type: "query",
135328
- description: "Get information about a list of feed generators",
135487
+ description: "Get information about a list of feed generators.",
135329
135488
  parameters: {
135330
135489
  type: "params",
135331
135490
  required: ["feeds"],
@@ -135364,7 +135523,7 @@ var schemaDict2 = {
135364
135523
  defs: {
135365
135524
  main: {
135366
135525
  type: "query",
135367
- description: "A skeleton of a feed provided by a feed generator",
135526
+ description: "Get a skeleton of a feed provided by a feed generator.",
135368
135527
  parameters: {
135369
135528
  type: "params",
135370
135529
  required: ["feed"],
@@ -135417,6 +135576,7 @@ var schemaDict2 = {
135417
135576
  defs: {
135418
135577
  main: {
135419
135578
  type: "query",
135579
+ description: "Get the list of likes.",
135420
135580
  parameters: {
135421
135581
  type: "params",
135422
135582
  required: ["uri"],
@@ -135494,7 +135654,7 @@ var schemaDict2 = {
135494
135654
  defs: {
135495
135655
  main: {
135496
135656
  type: "query",
135497
- description: "A view of a recent posts from actors in a list",
135657
+ description: "Get a view of a recent posts from actors in a list.",
135498
135658
  parameters: {
135499
135659
  type: "params",
135500
135660
  required: ["list"],
@@ -135547,6 +135707,7 @@ var schemaDict2 = {
135547
135707
  defs: {
135548
135708
  main: {
135549
135709
  type: "query",
135710
+ description: "Get posts in a thread.",
135550
135711
  parameters: {
135551
135712
  type: "params",
135552
135713
  required: ["uri"],
@@ -135600,7 +135761,7 @@ var schemaDict2 = {
135600
135761
  defs: {
135601
135762
  main: {
135602
135763
  type: "query",
135603
- description: "A view of an actor's feed.",
135764
+ description: "Get a view of an actor's feed.",
135604
135765
  parameters: {
135605
135766
  type: "params",
135606
135767
  required: ["uris"],
@@ -135640,6 +135801,7 @@ var schemaDict2 = {
135640
135801
  defs: {
135641
135802
  main: {
135642
135803
  type: "query",
135804
+ description: "Get a list of reposts.",
135643
135805
  parameters: {
135644
135806
  type: "params",
135645
135807
  required: ["uri"],
@@ -135742,7 +135904,7 @@ var schemaDict2 = {
135742
135904
  defs: {
135743
135905
  main: {
135744
135906
  type: "query",
135745
- description: "A view of the user's home timeline.",
135907
+ description: "Get a view of the actor's home timeline.",
135746
135908
  parameters: {
135747
135909
  type: "params",
135748
135910
  properties: {
@@ -135788,6 +135950,7 @@ var schemaDict2 = {
135788
135950
  defs: {
135789
135951
  main: {
135790
135952
  type: "record",
135953
+ description: "A declaration of a like.",
135791
135954
  key: "tid",
135792
135955
  record: {
135793
135956
  type: "object",
@@ -135812,6 +135975,7 @@ var schemaDict2 = {
135812
135975
  defs: {
135813
135976
  main: {
135814
135977
  type: "record",
135978
+ description: "A declaration of a post.",
135815
135979
  key: "tid",
135816
135980
  record: {
135817
135981
  type: "object",
@@ -135933,6 +136097,7 @@ var schemaDict2 = {
135933
136097
  id: "app.bsky.feed.repost",
135934
136098
  defs: {
135935
136099
  main: {
136100
+ description: "A declaration of a repost.",
135936
136101
  type: "record",
135937
136102
  key: "tid",
135938
136103
  record: {
@@ -135958,14 +136123,14 @@ var schemaDict2 = {
135958
136123
  defs: {
135959
136124
  main: {
135960
136125
  type: "query",
135961
- description: "Find posts matching search criteria",
136126
+ description: "Find posts matching search criteria.",
135962
136127
  parameters: {
135963
136128
  type: "params",
135964
136129
  required: ["q"],
135965
136130
  properties: {
135966
136131
  q: {
135967
136132
  type: "string",
135968
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
136133
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
135969
136134
  },
135970
136135
  limit: {
135971
136136
  type: "integer",
@@ -135975,7 +136140,7 @@ var schemaDict2 = {
135975
136140
  },
135976
136141
  cursor: {
135977
136142
  type: "string",
135978
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
136143
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
135979
136144
  }
135980
136145
  }
135981
136146
  },
@@ -135990,7 +136155,7 @@ var schemaDict2 = {
135990
136155
  },
135991
136156
  hitsTotal: {
135992
136157
  type: "integer",
135993
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
136158
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
135994
136159
  },
135995
136160
  posts: {
135996
136161
  type: "array",
@@ -136074,7 +136239,7 @@ var schemaDict2 = {
136074
136239
  defs: {
136075
136240
  main: {
136076
136241
  type: "record",
136077
- description: "A block.",
136242
+ description: "A declaration of a block.",
136078
136243
  key: "tid",
136079
136244
  record: {
136080
136245
  type: "object",
@@ -136200,11 +136365,11 @@ var schemaDict2 = {
136200
136365
  },
136201
136366
  modlist: {
136202
136367
  type: "token",
136203
- description: "A list of actors to apply an aggregate moderation action (mute/block) on"
136368
+ description: "A list of actors to apply an aggregate moderation action (mute/block) on."
136204
136369
  },
136205
136370
  curatelist: {
136206
136371
  type: "token",
136207
- description: "A list of actors used for curation purposes such as list feeds or interaction gating"
136372
+ description: "A list of actors used for curation purposes such as list feeds or interaction gating."
136208
136373
  },
136209
136374
  listViewerState: {
136210
136375
  type: "object",
@@ -136226,7 +136391,7 @@ var schemaDict2 = {
136226
136391
  defs: {
136227
136392
  main: {
136228
136393
  type: "record",
136229
- description: "A social follow.",
136394
+ description: "A declaration of a social follow.",
136230
136395
  key: "tid",
136231
136396
  record: {
136232
136397
  type: "object",
@@ -136251,7 +136416,7 @@ var schemaDict2 = {
136251
136416
  defs: {
136252
136417
  main: {
136253
136418
  type: "query",
136254
- description: "Who is the requester's account blocking?",
136419
+ description: "Get a list of who the actor is blocking.",
136255
136420
  parameters: {
136256
136421
  type: "params",
136257
136422
  properties: {
@@ -136294,7 +136459,7 @@ var schemaDict2 = {
136294
136459
  defs: {
136295
136460
  main: {
136296
136461
  type: "query",
136297
- description: "Who is following an actor?",
136462
+ description: "Get a list of an actor's followers.",
136298
136463
  parameters: {
136299
136464
  type: "params",
136300
136465
  required: ["actor"],
@@ -136346,7 +136511,7 @@ var schemaDict2 = {
136346
136511
  defs: {
136347
136512
  main: {
136348
136513
  type: "query",
136349
- description: "Who is an actor following?",
136514
+ description: "Get a list of who the actor follows.",
136350
136515
  parameters: {
136351
136516
  type: "params",
136352
136517
  required: ["actor"],
@@ -136398,7 +136563,7 @@ var schemaDict2 = {
136398
136563
  defs: {
136399
136564
  main: {
136400
136565
  type: "query",
136401
- description: "Fetch a list of actors",
136566
+ description: "Get a list of actors.",
136402
136567
  parameters: {
136403
136568
  type: "params",
136404
136569
  required: ["list"],
@@ -136450,7 +136615,7 @@ var schemaDict2 = {
136450
136615
  defs: {
136451
136616
  main: {
136452
136617
  type: "query",
136453
- description: "Which lists is the requester's account blocking?",
136618
+ description: "Get lists that the actor is blocking.",
136454
136619
  parameters: {
136455
136620
  type: "params",
136456
136621
  properties: {
@@ -136493,7 +136658,7 @@ var schemaDict2 = {
136493
136658
  defs: {
136494
136659
  main: {
136495
136660
  type: "query",
136496
- description: "Which lists is the requester's account muting?",
136661
+ description: "Get lists that the actor is muting.",
136497
136662
  parameters: {
136498
136663
  type: "params",
136499
136664
  properties: {
@@ -136536,7 +136701,7 @@ var schemaDict2 = {
136536
136701
  defs: {
136537
136702
  main: {
136538
136703
  type: "query",
136539
- description: "Fetch a list of lists that belong to an actor",
136704
+ description: "Get a list of lists that belong to an actor.",
136540
136705
  parameters: {
136541
136706
  type: "params",
136542
136707
  required: ["actor"],
@@ -136584,7 +136749,7 @@ var schemaDict2 = {
136584
136749
  defs: {
136585
136750
  main: {
136586
136751
  type: "query",
136587
- description: "Who does the viewer mute?",
136752
+ description: "Get a list of who the actor mutes.",
136588
136753
  parameters: {
136589
136754
  type: "params",
136590
136755
  properties: {
@@ -136739,7 +136904,7 @@ var schemaDict2 = {
136739
136904
  defs: {
136740
136905
  main: {
136741
136906
  type: "record",
136742
- description: "An item under a declared list of actors",
136907
+ description: "An item under a declared list of actors.",
136743
136908
  key: "tid",
136744
136909
  record: {
136745
136910
  type: "object",
@@ -136768,7 +136933,7 @@ var schemaDict2 = {
136768
136933
  defs: {
136769
136934
  main: {
136770
136935
  type: "procedure",
136771
- description: "Mute an actor by did or handle.",
136936
+ description: "Mute an actor by DID or handle.",
136772
136937
  input: {
136773
136938
  encoding: "application/json",
136774
136939
  schema: {
@@ -136814,7 +136979,7 @@ var schemaDict2 = {
136814
136979
  defs: {
136815
136980
  main: {
136816
136981
  type: "procedure",
136817
- description: "Unmute an actor by did or handle.",
136982
+ description: "Unmute an actor by DID or handle.",
136818
136983
  input: {
136819
136984
  encoding: "application/json",
136820
136985
  schema: {
@@ -136860,6 +137025,7 @@ var schemaDict2 = {
136860
137025
  defs: {
136861
137026
  main: {
136862
137027
  type: "query",
137028
+ description: "Get the count of unread notifications.",
136863
137029
  parameters: {
136864
137030
  type: "params",
136865
137031
  properties: {
@@ -136890,6 +137056,7 @@ var schemaDict2 = {
136890
137056
  defs: {
136891
137057
  main: {
136892
137058
  type: "query",
137059
+ description: "Get a list of notifications.",
136893
137060
  parameters: {
136894
137061
  type: "params",
136895
137062
  properties: {
@@ -136995,7 +137162,7 @@ var schemaDict2 = {
136995
137162
  defs: {
136996
137163
  main: {
136997
137164
  type: "procedure",
136998
- description: "Register for push notifications with a service",
137165
+ description: "Register for push notifications with a service.",
136999
137166
  input: {
137000
137167
  encoding: "application/json",
137001
137168
  schema: {
@@ -137153,7 +137320,7 @@ var schemaDict2 = {
137153
137320
  defs: {
137154
137321
  main: {
137155
137322
  type: "query",
137156
- description: "DEPRECATED: will be removed soon, please find a feed generator alternative",
137323
+ description: "DEPRECATED: will be removed soon. Use a feed generator alternative.",
137157
137324
  parameters: {
137158
137325
  type: "params",
137159
137326
  properties: {
@@ -137200,7 +137367,7 @@ var schemaDict2 = {
137200
137367
  defs: {
137201
137368
  main: {
137202
137369
  type: "query",
137203
- description: "An unspecced view of globally popular feed generators",
137370
+ description: "An unspecced view of globally popular feed generators.",
137204
137371
  parameters: {
137205
137372
  type: "params",
137206
137373
  properties: {
@@ -137246,7 +137413,7 @@ var schemaDict2 = {
137246
137413
  defs: {
137247
137414
  main: {
137248
137415
  type: "query",
137249
- description: "A skeleton of a timeline - UNSPECCED & WILL GO AWAY SOON",
137416
+ description: "DEPRECATED: a skeleton of a timeline. Unspecced and will be unavailable soon.",
137250
137417
  parameters: {
137251
137418
  type: "params",
137252
137419
  properties: {
@@ -137294,18 +137461,18 @@ var schemaDict2 = {
137294
137461
  defs: {
137295
137462
  main: {
137296
137463
  type: "query",
137297
- description: "Backend Actors (profile) search, returning only skeleton",
137464
+ description: "Backend Actors (profile) search, returns only skeleton.",
137298
137465
  parameters: {
137299
137466
  type: "params",
137300
137467
  required: ["q"],
137301
137468
  properties: {
137302
137469
  q: {
137303
137470
  type: "string",
137304
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax"
137471
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended. For typeahead search, only simple term match is supported, not full syntax."
137305
137472
  },
137306
137473
  typeahead: {
137307
137474
  type: "boolean",
137308
- description: "if true, acts as fast/simple 'typeahead' query"
137475
+ description: "If true, acts as fast/simple 'typeahead' query."
137309
137476
  },
137310
137477
  limit: {
137311
137478
  type: "integer",
@@ -137315,7 +137482,7 @@ var schemaDict2 = {
137315
137482
  },
137316
137483
  cursor: {
137317
137484
  type: "string",
137318
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
137485
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
137319
137486
  }
137320
137487
  }
137321
137488
  },
@@ -137330,7 +137497,7 @@ var schemaDict2 = {
137330
137497
  },
137331
137498
  hitsTotal: {
137332
137499
  type: "integer",
137333
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
137500
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
137334
137501
  },
137335
137502
  actors: {
137336
137503
  type: "array",
@@ -137356,14 +137523,14 @@ var schemaDict2 = {
137356
137523
  defs: {
137357
137524
  main: {
137358
137525
  type: "query",
137359
- description: "Backend Posts search, returning only skeleton",
137526
+ description: "Backend Posts search, returns only skeleton",
137360
137527
  parameters: {
137361
137528
  type: "params",
137362
137529
  required: ["q"],
137363
137530
  properties: {
137364
137531
  q: {
137365
137532
  type: "string",
137366
- description: "search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended"
137533
+ description: "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
137367
137534
  },
137368
137535
  limit: {
137369
137536
  type: "integer",
@@ -137373,7 +137540,7 @@ var schemaDict2 = {
137373
137540
  },
137374
137541
  cursor: {
137375
137542
  type: "string",
137376
- description: "optional pagination mechanism; may not necessarily allow scrolling through entire result set"
137543
+ description: "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
137377
137544
  }
137378
137545
  }
137379
137546
  },
@@ -137388,7 +137555,7 @@ var schemaDict2 = {
137388
137555
  },
137389
137556
  hitsTotal: {
137390
137557
  type: "integer",
137391
- description: "count of search hits. optional, may be rounded/truncated, and may not be possible to paginate through all hits"
137558
+ description: "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
137392
137559
  },
137393
137560
  posts: {
137394
137561
  type: "array",
@@ -137483,6 +137650,7 @@ var ids = {
137483
137650
  ComAtprotoSyncNotifyOfUpdate: "com.atproto.sync.notifyOfUpdate",
137484
137651
  ComAtprotoSyncRequestCrawl: "com.atproto.sync.requestCrawl",
137485
137652
  ComAtprotoSyncSubscribeRepos: "com.atproto.sync.subscribeRepos",
137653
+ ComAtprotoTempFetchLabels: "com.atproto.temp.fetchLabels",
137486
137654
  AppBskyActorDefs: "app.bsky.actor.defs",
137487
137655
  AppBskyActorGetPreferences: "app.bsky.actor.getPreferences",
137488
137656
  AppBskyActorGetProfile: "app.bsky.actor.getProfile",
@@ -137816,13 +137984,17 @@ var getThreadData = async (params2, ctx) => {
137816
137984
  getAncestorsAndSelfQb(db.db, { uri: uri2, parentHeight }).selectFrom("ancestor").innerJoin(feedService.selectPostQb().as("post"), "post.uri", "ancestor.uri").selectAll("post").execute(),
137817
137985
  getDescendentsQb(db.db, { uri: uri2, depth }).selectFrom("descendent").innerJoin(feedService.selectPostQb().as("post"), "post.uri", "descendent.uri").selectAll("post").orderBy("sortAt", "desc").execute()
137818
137986
  ]);
137819
- const parentsByUri = parents.reduce((acc, parent) => {
137820
- return Object.assign(acc, { [parent.postUri]: parent });
137987
+ const includedPosts = /* @__PURE__ */ new Set([uri2]);
137988
+ const parentsByUri = parents.reduce((acc, post2) => {
137989
+ return Object.assign(acc, { [post2.uri]: post2 });
137821
137990
  }, {});
137822
137991
  const childrenByParentUri = children.reduce((acc, child) => {
137823
137992
  var _a;
137824
137993
  if (!child.replyParent)
137825
137994
  return acc;
137995
+ if (includedPosts.has(child.uri))
137996
+ return acc;
137997
+ includedPosts.add(child.uri);
137826
137998
  acc[_a = child.replyParent] ?? (acc[_a] = []);
137827
137999
  acc[child.replyParent].push(child);
137828
138000
  return acc;
@@ -137832,19 +138004,22 @@ var getThreadData = async (params2, ctx) => {
137832
138004
  return null;
137833
138005
  return {
137834
138006
  post,
137835
- parent: post.replyParent ? getParentData(parentsByUri, post.replyParent, parentHeight) : void 0,
138007
+ parent: post.replyParent ? getParentData(parentsByUri, includedPosts, post.replyParent, parentHeight) : void 0,
137836
138008
  replies: getChildrenData(childrenByParentUri, uri2, depth)
137837
138009
  };
137838
138010
  };
137839
- var getParentData = (postsByUri, uri2, depth) => {
138011
+ var getParentData = (postsByUri, includedPosts, uri2, depth) => {
137840
138012
  if (depth < 1)
137841
138013
  return void 0;
138014
+ if (includedPosts.has(uri2))
138015
+ return void 0;
138016
+ includedPosts.add(uri2);
137842
138017
  const post = postsByUri[uri2];
137843
138018
  if (!post)
137844
138019
  return new ParentNotFoundError(uri2);
137845
138020
  return {
137846
138021
  post,
137847
- parent: post.replyParent ? getParentData(postsByUri, post.replyParent, depth - 1) : void 0,
138022
+ parent: post.replyParent ? getParentData(postsByUri, includedPosts, post.replyParent, depth - 1) : void 0,
137848
138023
  replies: []
137849
138024
  };
137850
138025
  };
@@ -137927,9 +138102,74 @@ var presentation8 = (state, ctx) => {
137927
138102
  return { posts: postViews };
137928
138103
  };
137929
138104
 
138105
+ // src/api/app/bsky/feed/searchPosts.ts
138106
+ function searchPosts_default(server, ctx) {
138107
+ const searchPosts = createPipeline(skeleton9, hydration9, noBlocks3, presentation9);
138108
+ server.app.bsky.feed.searchPosts({
138109
+ auth: ctx.authOptionalVerifier,
138110
+ handler: async ({ auth, params: params2 }) => {
138111
+ const viewer = auth.credentials.did;
138112
+ const db = ctx.db.getReplica("search");
138113
+ const feedService = ctx.services.feed(db);
138114
+ const actorService = ctx.services.actor(db);
138115
+ const searchAgent = ctx.searchAgent;
138116
+ if (!searchAgent) {
138117
+ throw new InvalidRequestError("Search not available");
138118
+ }
138119
+ const results = await searchPosts({ ...params2, viewer }, { db, feedService, actorService, searchAgent });
138120
+ return {
138121
+ encoding: "application/json",
138122
+ body: results
138123
+ };
138124
+ }
138125
+ });
138126
+ }
138127
+ var skeleton9 = async (params2, ctx) => {
138128
+ const res = await ctx.searchAgent.api.app.bsky.unspecced.searchPostsSkeleton({
138129
+ q: params2.q,
138130
+ cursor: params2.cursor,
138131
+ limit: params2.limit
138132
+ });
138133
+ return {
138134
+ params: params2,
138135
+ postUris: res.data.posts.map((a) => a.uri),
138136
+ cursor: res.data.cursor,
138137
+ hitsTotal: res.data.hitsTotal
138138
+ };
138139
+ };
138140
+ var hydration9 = async (state, ctx) => {
138141
+ const { feedService } = ctx;
138142
+ const { params: params2, postUris } = state;
138143
+ const uris = new Set(postUris);
138144
+ const dids = new Set(postUris.map((uri2) => new AtUri(uri2).hostname));
138145
+ const hydrated = await feedService.feedHydration({
138146
+ uris,
138147
+ dids,
138148
+ viewer: params2.viewer
138149
+ });
138150
+ return { ...state, ...hydrated };
138151
+ };
138152
+ var noBlocks3 = (state) => {
138153
+ const { viewer } = state.params;
138154
+ state.postUris = state.postUris.filter((uri2) => {
138155
+ const post = state.posts[uri2];
138156
+ if (!viewer || !post)
138157
+ return true;
138158
+ return !state.bam.block([viewer, post.creator]);
138159
+ });
138160
+ return state;
138161
+ };
138162
+ var presentation9 = (state, ctx) => {
138163
+ const { feedService, actorService } = ctx;
138164
+ const { postUris, profiles, params: params2 } = state;
138165
+ const actors = actorService.views.profileBasicPresentation(Object.keys(profiles), state, { viewer: params2.viewer });
138166
+ const postViews = mapDefined(postUris, (uri2) => feedService.views.formatPostView(uri2, actors, state.posts, state.threadgates, state.embeds, state.labels, state.lists));
138167
+ return { posts: postViews, cursor: state.cursor, hitsTotal: state.hitsTotal };
138168
+ };
138169
+
137930
138170
  // src/api/app/bsky/feed/getActorLikes.ts
137931
138171
  function getActorLikes_default(server, ctx) {
137932
- const getActorLikes = createPipeline(skeleton9, hydration9, noPostBlocks, presentation9);
138172
+ const getActorLikes = createPipeline(skeleton10, hydration10, noPostBlocks, presentation10);
137933
138173
  server.app.bsky.feed.getActorLikes({
137934
138174
  auth: ctx.authOptionalVerifier,
137935
138175
  handler: async ({ params: params2, auth, res }) => {
@@ -137950,7 +138190,7 @@ function getActorLikes_default(server, ctx) {
137950
138190
  }
137951
138191
  });
137952
138192
  }
137953
- var skeleton9 = async (params2, ctx) => {
138193
+ var skeleton10 = async (params2, ctx) => {
137954
138194
  const { db, actorService, feedService } = ctx;
137955
138195
  const { actor, limit, cursor, viewer } = params2;
137956
138196
  const { ref } = db.db.dynamic;
@@ -137972,7 +138212,7 @@ var skeleton9 = async (params2, ctx) => {
137972
138212
  const feedItems = await feedItemsQb.execute();
137973
138213
  return { params: params2, feedItems, cursor: keyset.packFromResult(feedItems) };
137974
138214
  };
137975
- var hydration9 = async (state, ctx) => {
138215
+ var hydration10 = async (state, ctx) => {
137976
138216
  const { feedService } = ctx;
137977
138217
  const { params: params2, feedItems } = state;
137978
138218
  const refs = feedService.feedItemRefs(feedItems);
@@ -137987,7 +138227,7 @@ var noPostBlocks = (state) => {
137987
138227
  state.feedItems = state.feedItems.filter((item) => !viewer || !state.bam.block([viewer, item.postAuthorDid]));
137988
138228
  return state;
137989
138229
  };
137990
- var presentation9 = (state, ctx) => {
138230
+ var presentation10 = (state, ctx) => {
137991
138231
  const { feedService } = ctx;
137992
138232
  const { feedItems, cursor, params: params2 } = state;
137993
138233
  const feed = feedService.views.formatFeed(feedItems, state, {
@@ -137998,7 +138238,7 @@ var presentation9 = (state, ctx) => {
137998
138238
 
137999
138239
  // src/api/app/bsky/actor/getProfile.ts
138000
138240
  function getProfile_default(server, ctx) {
138001
- const getProfile = createPipeline(skeleton10, hydration10, noRules, presentation10);
138241
+ const getProfile = createPipeline(skeleton11, hydration11, noRules, presentation11);
138002
138242
  server.app.bsky.actor.getProfile({
138003
138243
  auth: ctx.authOptionalAccessOrRoleVerifier,
138004
138244
  handler: async ({ auth, params: params2, res }) => {
@@ -138023,7 +138263,7 @@ function getProfile_default(server, ctx) {
138023
138263
  }
138024
138264
  });
138025
138265
  }
138026
- var skeleton10 = async (params2, ctx) => {
138266
+ var skeleton11 = async (params2, ctx) => {
138027
138267
  const { actorService } = ctx;
138028
138268
  const { canViewTakendownProfile } = params2;
138029
138269
  const actor = await actorService.getActor(params2.actor, true);
@@ -138035,14 +138275,14 @@ var skeleton10 = async (params2, ctx) => {
138035
138275
  }
138036
138276
  return { params: params2, actor };
138037
138277
  };
138038
- var hydration10 = async (state, ctx) => {
138278
+ var hydration11 = async (state, ctx) => {
138039
138279
  const { actorService } = ctx;
138040
138280
  const { params: params2, actor } = state;
138041
138281
  const { viewer, canViewTakendownProfile } = params2;
138042
- const hydration19 = await actorService.views.profileDetailHydration([actor.did], { viewer, includeSoftDeleted: canViewTakendownProfile });
138043
- return { ...state, ...hydration19 };
138282
+ const hydration20 = await actorService.views.profileDetailHydration([actor.did], { viewer, includeSoftDeleted: canViewTakendownProfile });
138283
+ return { ...state, ...hydration20 };
138044
138284
  };
138045
- var presentation10 = (state, ctx) => {
138285
+ var presentation11 = (state, ctx) => {
138046
138286
  const { actorService } = ctx;
138047
138287
  const { params: params2, actor } = state;
138048
138288
  const { viewer } = params2;
@@ -138056,7 +138296,7 @@ var presentation10 = (state, ctx) => {
138056
138296
 
138057
138297
  // src/api/app/bsky/actor/getProfiles.ts
138058
138298
  function getProfiles_default(server, ctx) {
138059
- const getProfile = createPipeline(skeleton11, hydration11, noRules, presentation11);
138299
+ const getProfile = createPipeline(skeleton12, hydration12, noRules, presentation12);
138060
138300
  server.app.bsky.actor.getProfiles({
138061
138301
  auth: ctx.authOptionalVerifier,
138062
138302
  handler: async ({ auth, params: params2, res }) => {
@@ -138075,21 +138315,21 @@ function getProfiles_default(server, ctx) {
138075
138315
  }
138076
138316
  });
138077
138317
  }
138078
- var skeleton11 = async (params2, ctx) => {
138318
+ var skeleton12 = async (params2, ctx) => {
138079
138319
  const { actorService } = ctx;
138080
138320
  const actors = await actorService.getActors(params2.actors);
138081
138321
  return { params: params2, dids: actors.map((a) => a.did) };
138082
138322
  };
138083
- var hydration11 = async (state, ctx) => {
138323
+ var hydration12 = async (state, ctx) => {
138084
138324
  const { actorService } = ctx;
138085
138325
  const { params: params2, dids } = state;
138086
138326
  const { viewer } = params2;
138087
- const hydration19 = await actorService.views.profileDetailHydration(dids, {
138327
+ const hydration20 = await actorService.views.profileDetailHydration(dids, {
138088
138328
  viewer
138089
138329
  });
138090
- return { ...state, ...hydration19 };
138330
+ return { ...state, ...hydration20 };
138091
138331
  };
138092
- var presentation11 = (state, ctx) => {
138332
+ var presentation12 = (state, ctx) => {
138093
138333
  const { actorService } = ctx;
138094
138334
  const { params: params2, dids } = state;
138095
138335
  const { viewer } = params2;
@@ -138102,7 +138342,7 @@ var presentation11 = (state, ctx) => {
138102
138342
 
138103
138343
  // src/api/app/bsky/feed/getRepostedBy.ts
138104
138344
  function getRepostedBy_default(server, ctx) {
138105
- const getRepostedBy = createPipeline(skeleton12, hydration12, noBlocks3, presentation12);
138345
+ const getRepostedBy = createPipeline(skeleton13, hydration13, noBlocks4, presentation13);
138106
138346
  server.app.bsky.feed.getRepostedBy({
138107
138347
  auth: ctx.authOptionalVerifier,
138108
138348
  handler: async ({ params: params2, auth }) => {
@@ -138118,7 +138358,7 @@ function getRepostedBy_default(server, ctx) {
138118
138358
  }
138119
138359
  });
138120
138360
  }
138121
- var skeleton12 = async (params2, ctx) => {
138361
+ var skeleton13 = async (params2, ctx) => {
138122
138362
  const { db } = ctx;
138123
138363
  const { limit, cursor, uri: uri2, cid: cid2 } = params2;
138124
138364
  const { ref } = db.db.dynamic;
@@ -138135,7 +138375,7 @@ var skeleton12 = async (params2, ctx) => {
138135
138375
  const repostedBy = await builder.execute();
138136
138376
  return { params: params2, repostedBy, cursor: keyset.packFromResult(repostedBy) };
138137
138377
  };
138138
- var hydration12 = async (state, ctx) => {
138378
+ var hydration13 = async (state, ctx) => {
138139
138379
  const { graphService, actorService } = ctx;
138140
138380
  const { params: params2, repostedBy } = state;
138141
138381
  const { viewer } = params2;
@@ -138145,14 +138385,14 @@ var hydration12 = async (state, ctx) => {
138145
138385
  ]);
138146
138386
  return { ...state, bam, actors };
138147
138387
  };
138148
- var noBlocks3 = (state) => {
138388
+ var noBlocks4 = (state) => {
138149
138389
  const { viewer } = state.params;
138150
138390
  if (!viewer)
138151
138391
  return state;
138152
138392
  state.repostedBy = state.repostedBy.filter((item) => !state.bam.block([viewer, item.did]));
138153
138393
  return state;
138154
138394
  };
138155
- var presentation12 = (state) => {
138395
+ var presentation13 = (state) => {
138156
138396
  const { params: params2, repostedBy, actors, cursor } = state;
138157
138397
  const { uri: uri2, cid: cid2 } = params2;
138158
138398
  const repostedByView = mapDefined(repostedBy, (item) => actors[item.did]);
@@ -138191,7 +138431,7 @@ function getBlocks_default(server, ctx) {
138191
138431
 
138192
138432
  // src/api/app/bsky/graph/getListBlocks.ts
138193
138433
  function getListBlocks_default(server, ctx) {
138194
- const getListBlocks = createPipeline(skeleton13, hydration13, noRules, presentation13);
138434
+ const getListBlocks = createPipeline(skeleton14, hydration14, noRules, presentation14);
138195
138435
  server.app.bsky.graph.getListBlocks({
138196
138436
  auth: ctx.authVerifier,
138197
138437
  handler: async ({ params: params2, auth }) => {
@@ -138207,7 +138447,7 @@ function getListBlocks_default(server, ctx) {
138207
138447
  }
138208
138448
  });
138209
138449
  }
138210
- var skeleton13 = async (params2, ctx) => {
138450
+ var skeleton14 = async (params2, ctx) => {
138211
138451
  const { db, graphService } = ctx;
138212
138452
  const { limit, cursor, viewer } = params2;
138213
138453
  const { ref } = db.db.dynamic;
@@ -138225,13 +138465,13 @@ var skeleton13 = async (params2, ctx) => {
138225
138465
  cursor: keyset.packFromResult(listInfos)
138226
138466
  };
138227
138467
  };
138228
- var hydration13 = async (state, ctx) => {
138468
+ var hydration14 = async (state, ctx) => {
138229
138469
  const { actorService } = ctx;
138230
138470
  const { params: params2, listInfos } = state;
138231
138471
  const profileState = await actorService.views.profileHydration(listInfos.map((list) => list.creator), { viewer: params2.viewer });
138232
138472
  return { ...state, ...profileState };
138233
138473
  };
138234
- var presentation13 = (state, ctx) => {
138474
+ var presentation14 = (state, ctx) => {
138235
138475
  const { actorService, graphService } = ctx;
138236
138476
  const { params: params2, listInfos, cursor, ...profileState } = state;
138237
138477
  const actors = actorService.views.profilePresentation(Object.keys(profileState.profiles), profileState, { viewer: params2.viewer });
@@ -138241,7 +138481,7 @@ var presentation13 = (state, ctx) => {
138241
138481
 
138242
138482
  // src/api/app/bsky/graph/getFollowers.ts
138243
138483
  function getFollowers_default(server, ctx) {
138244
- const getFollowers = createPipeline(skeleton14, hydration14, noBlocksInclInvalid, presentation14);
138484
+ const getFollowers = createPipeline(skeleton15, hydration15, noBlocksInclInvalid, presentation15);
138245
138485
  server.app.bsky.graph.getFollowers({
138246
138486
  auth: ctx.authOptionalAccessOrRoleVerifier,
138247
138487
  handler: async ({ params: params2, auth }) => {
@@ -138258,7 +138498,7 @@ function getFollowers_default(server, ctx) {
138258
138498
  }
138259
138499
  });
138260
138500
  }
138261
- var skeleton14 = async (params2, ctx) => {
138501
+ var skeleton15 = async (params2, ctx) => {
138262
138502
  const { db, actorService } = ctx;
138263
138503
  const { limit, cursor, actor, canViewTakendownProfile } = params2;
138264
138504
  const { ref } = db.db.dynamic;
@@ -138281,7 +138521,7 @@ var skeleton14 = async (params2, ctx) => {
138281
138521
  cursor: keyset.packFromResult(followers)
138282
138522
  };
138283
138523
  };
138284
- var hydration14 = async (state, ctx) => {
138524
+ var hydration15 = async (state, ctx) => {
138285
138525
  const { graphService, actorService } = ctx;
138286
138526
  const { params: params2, followers, subject } = state;
138287
138527
  const { viewer } = params2;
@@ -138305,7 +138545,7 @@ var noBlocksInclInvalid = (state) => {
138305
138545
  state.followers = state.followers.filter((item) => !state.bam.block([subject.did, item.did]) && (!viewer || !state.bam.block([viewer, item.did])));
138306
138546
  return state;
138307
138547
  };
138308
- var presentation14 = (state) => {
138548
+ var presentation15 = (state) => {
138309
138549
  const { params: params2, followers, subject, actors, cursor } = state;
138310
138550
  const subjectView = actors[subject.did];
138311
138551
  const followersView = mapDefined(followers, (item) => actors[item.did]);
@@ -138317,7 +138557,7 @@ var presentation14 = (state) => {
138317
138557
 
138318
138558
  // src/api/app/bsky/graph/getFollows.ts
138319
138559
  function getFollows_default(server, ctx) {
138320
- const getFollows = createPipeline(skeleton15, hydration15, noBlocksInclInvalid2, presentation15);
138560
+ const getFollows = createPipeline(skeleton16, hydration16, noBlocksInclInvalid2, presentation16);
138321
138561
  server.app.bsky.graph.getFollows({
138322
138562
  auth: ctx.authOptionalAccessOrRoleVerifier,
138323
138563
  handler: async ({ params: params2, auth }) => {
@@ -138334,7 +138574,7 @@ function getFollows_default(server, ctx) {
138334
138574
  }
138335
138575
  });
138336
138576
  }
138337
- var skeleton15 = async (params2, ctx) => {
138577
+ var skeleton16 = async (params2, ctx) => {
138338
138578
  const { db, actorService } = ctx;
138339
138579
  const { limit, cursor, actor, canViewTakendownProfile } = params2;
138340
138580
  const { ref } = db.db.dynamic;
@@ -138357,7 +138597,7 @@ var skeleton15 = async (params2, ctx) => {
138357
138597
  cursor: keyset.packFromResult(follows)
138358
138598
  };
138359
138599
  };
138360
- var hydration15 = async (state, ctx) => {
138600
+ var hydration16 = async (state, ctx) => {
138361
138601
  const { graphService, actorService } = ctx;
138362
138602
  const { params: params2, follows, creator } = state;
138363
138603
  const { viewer } = params2;
@@ -138381,7 +138621,7 @@ var noBlocksInclInvalid2 = (state) => {
138381
138621
  state.follows = state.follows.filter((item) => !state.bam.block([creator.did, item.did]) && (!viewer || !state.bam.block([viewer, item.did])));
138382
138622
  return state;
138383
138623
  };
138384
- var presentation15 = (state) => {
138624
+ var presentation16 = (state) => {
138385
138625
  const { params: params2, follows, creator, actors, cursor } = state;
138386
138626
  const creatorView = actors[creator.did];
138387
138627
  const followsView = mapDefined(follows, (item) => actors[item.did]);
@@ -138393,7 +138633,7 @@ var presentation15 = (state) => {
138393
138633
 
138394
138634
  // src/api/app/bsky/graph/getList.ts
138395
138635
  function getList_default(server, ctx) {
138396
- const getList = createPipeline(skeleton16, hydration16, noRules, presentation16);
138636
+ const getList = createPipeline(skeleton17, hydration17, noRules, presentation17);
138397
138637
  server.app.bsky.graph.getList({
138398
138638
  auth: ctx.authOptionalVerifier,
138399
138639
  handler: async ({ params: params2, auth }) => {
@@ -138409,7 +138649,7 @@ function getList_default(server, ctx) {
138409
138649
  }
138410
138650
  });
138411
138651
  }
138412
- var skeleton16 = async (params2, ctx) => {
138652
+ var skeleton17 = async (params2, ctx) => {
138413
138653
  const { db, graphService } = ctx;
138414
138654
  const { list, limit, cursor, viewer } = params2;
138415
138655
  const { ref } = db.db.dynamic;
@@ -138432,13 +138672,13 @@ var skeleton16 = async (params2, ctx) => {
138432
138672
  cursor: keyset.packFromResult(listItems)
138433
138673
  };
138434
138674
  };
138435
- var hydration16 = async (state, ctx) => {
138675
+ var hydration17 = async (state, ctx) => {
138436
138676
  const { actorService } = ctx;
138437
138677
  const { params: params2, list, listItems } = state;
138438
138678
  const profileState = await actorService.views.profileHydration([list, ...listItems].map((x) => x.did), { viewer: params2.viewer });
138439
138679
  return { ...state, ...profileState };
138440
138680
  };
138441
- var presentation16 = (state, ctx) => {
138681
+ var presentation17 = (state, ctx) => {
138442
138682
  const { actorService, graphService } = ctx;
138443
138683
  const { params: params2, list, listItems, cursor, ...profileState } = state;
138444
138684
  const actors = actorService.views.profilePresentation(Object.keys(profileState.profiles), profileState, { viewer: params2.viewer });
@@ -138660,15 +138900,15 @@ function getSuggestedFollowsByActor_default(server, ctx) {
138660
138900
  if (!actorDid) {
138661
138901
  throw new InvalidRequestError("Actor not found");
138662
138902
  }
138663
- const skeleton19 = await getSkeleton({
138903
+ const skeleton20 = await getSkeleton({
138664
138904
  actor: actorDid,
138665
138905
  viewer
138666
138906
  }, {
138667
138907
  db,
138668
138908
  actorService
138669
138909
  });
138670
- const hydrationState = await actorService.views.profileDetailHydration(skeleton19.map((a) => a.did), { viewer });
138671
- const presentationState = actorService.views.profileDetailPresentation(skeleton19.map((a) => a.did), hydrationState, { viewer });
138910
+ const hydrationState = await actorService.views.profileDetailHydration(skeleton20.map((a) => a.did), { viewer });
138911
+ const presentationState = actorService.views.profileDetailPresentation(skeleton20.map((a) => a.did), hydrationState, { viewer });
138672
138912
  const suggestions = Object.values(presentationState).filter((profile) => {
138673
138913
  return !profile.viewer?.muted && !profile.viewer?.mutedByList && !profile.viewer?.blocking && !profile.viewer?.blockedBy;
138674
138914
  });
@@ -138868,7 +139108,7 @@ function searchActorsTypeahead_default(server, ctx) {
138868
139108
 
138869
139109
  // src/api/app/bsky/actor/getSuggestions.ts
138870
139110
  function getSuggestions_default(server, ctx) {
138871
- const getSuggestions = createPipeline(skeleton17, hydration17, noBlocksOrMutes4, presentation17);
139111
+ const getSuggestions = createPipeline(skeleton18, hydration18, noBlocksOrMutes4, presentation18);
138872
139112
  server.app.bsky.actor.getSuggestions({
138873
139113
  auth: ctx.authOptionalVerifier,
138874
139114
  handler: async ({ params: params2, auth }) => {
@@ -138884,21 +139124,19 @@ function getSuggestions_default(server, ctx) {
138884
139124
  }
138885
139125
  });
138886
139126
  }
138887
- var skeleton17 = async (params2, ctx) => {
139127
+ var skeleton18 = async (params2, ctx) => {
138888
139128
  const { db } = ctx;
138889
- const { limit, cursor, viewer } = params2;
139129
+ const { viewer } = params2;
139130
+ const alreadyIncluded = parseCursor(params2.cursor);
138890
139131
  const { ref } = db.db.dynamic;
138891
- let suggestionsQb = db.db.selectFrom("suggested_follow").innerJoin("actor", "actor.did", "suggested_follow.did").innerJoin("profile_agg", "profile_agg.did", "actor.did").where(notSoftDeletedClause(ref("actor"))).where("suggested_follow.did", "!=", viewer ?? "").whereNotExists((qb) => qb.selectFrom("follow").selectAll().where("creator", "=", viewer ?? "").whereRef("subjectDid", "=", ref("actor.did"))).selectAll().select("profile_agg.postsCount as postsCount").limit(limit).orderBy("suggested_follow.order", "asc");
138892
- if (cursor) {
138893
- const cursorRow = await db.db.selectFrom("suggested_follow").where("did", "=", cursor).selectAll().executeTakeFirst();
138894
- if (cursorRow) {
138895
- suggestionsQb = suggestionsQb.where("suggested_follow.order", ">", cursorRow.order);
138896
- }
138897
- }
138898
- const suggestions = await suggestionsQb.execute();
138899
- return { params: params2, suggestions, cursor: suggestions.at(-1)?.did };
139132
+ const suggestions = await db.db.selectFrom("suggested_follow").innerJoin("actor", "actor.did", "suggested_follow.did").where(notSoftDeletedClause(ref("actor"))).where("suggested_follow.did", "!=", viewer ?? "").whereNotExists((qb) => qb.selectFrom("follow").selectAll().where("creator", "=", viewer ?? "").whereRef("subjectDid", "=", ref("actor.did"))).if(alreadyIncluded.length > 0, (qb) => qb.where("suggested_follow.order", "not in", alreadyIncluded)).selectAll().orderBy("suggested_follow.order", "asc").execute();
139133
+ const firstTwo = suggestions.filter((row) => row.order === 1 || row.order === 2);
139134
+ const rest = suggestions.filter((row) => row.order !== 1 && row.order !== 2);
139135
+ const limited = firstTwo.concat(shuffle(rest)).slice(0, params2.limit);
139136
+ const cursor = limited.length > 0 ? limited.map((row) => row.order.toString()).concat(alreadyIncluded.map((id) => id.toString())).join(":") : void 0;
139137
+ return { params: params2, suggestions: limited, cursor };
138900
139138
  };
138901
- var hydration17 = async (state, ctx) => {
139139
+ var hydration18 = async (state, ctx) => {
138902
139140
  const { graphService, actorService } = ctx;
138903
139141
  const { params: params2, suggestions } = state;
138904
139142
  const { viewer } = params2;
@@ -138915,11 +139153,24 @@ var noBlocksOrMutes4 = (state) => {
138915
139153
  state.suggestions = state.suggestions.filter((item) => !state.bam.block([viewer, item.did]) && !state.bam.mute([viewer, item.did]));
138916
139154
  return state;
138917
139155
  };
138918
- var presentation17 = (state) => {
139156
+ var presentation18 = (state) => {
138919
139157
  const { suggestions, actors, cursor } = state;
138920
139158
  const suggestedActors = mapDefined(suggestions, (sug) => actors[sug.did]);
138921
139159
  return { actors: suggestedActors, cursor };
138922
139160
  };
139161
+ var parseCursor = (cursor) => {
139162
+ if (!cursor) {
139163
+ return [];
139164
+ }
139165
+ try {
139166
+ return cursor.split(":").map((id) => parseInt(id, 10)).filter((id) => !isNaN(id));
139167
+ } catch {
139168
+ return [];
139169
+ }
139170
+ };
139171
+ var shuffle = (arr) => {
139172
+ return arr.map((value) => ({ value, sort: Math.random() })).sort((a, b) => a.sort - b.sort).map(({ value }) => value);
139173
+ };
138923
139174
 
138924
139175
  // src/api/app/bsky/notification/getUnreadCount.ts
138925
139176
  function getUnreadCount_default(server, ctx) {
@@ -139059,7 +139310,7 @@ function getSelfLabels(details) {
139059
139310
 
139060
139311
  // src/api/app/bsky/notification/listNotifications.ts
139061
139312
  function listNotifications_default(server, ctx) {
139062
- const listNotifications = createPipeline(skeleton18, hydration18, noBlockOrMutes, presentation18);
139313
+ const listNotifications = createPipeline(skeleton19, hydration19, noBlockOrMutes, presentation19);
139063
139314
  server.app.bsky.notification.listNotifications({
139064
139315
  auth: ctx.authVerifier,
139065
139316
  handler: async ({ params: params2, auth }) => {
@@ -139076,7 +139327,7 @@ function listNotifications_default(server, ctx) {
139076
139327
  }
139077
139328
  });
139078
139329
  }
139079
- var skeleton18 = async (params2, ctx) => {
139330
+ var skeleton19 = async (params2, ctx) => {
139080
139331
  const { db } = ctx;
139081
139332
  const { limit, cursor, viewer } = params2;
139082
139333
  const { ref } = db.db.dynamic;
@@ -139110,7 +139361,7 @@ var skeleton18 = async (params2, ctx) => {
139110
139361
  lastSeenNotifs: actorState?.lastSeenNotifs
139111
139362
  };
139112
139363
  };
139113
- var hydration18 = async (state, ctx) => {
139364
+ var hydration19 = async (state, ctx) => {
139114
139365
  const { graphService, actorService, labelService, db } = ctx;
139115
139366
  const { params: params2, notifs } = state;
139116
139367
  const { viewer } = params2;
@@ -139129,7 +139380,7 @@ var noBlockOrMutes = (state) => {
139129
139380
  state.notifs = state.notifs.filter((item) => !state.bam.block([viewer, item.authorDid]) && !state.bam.mute([viewer, item.authorDid]));
139130
139381
  return state;
139131
139382
  };
139132
- var presentation18 = (state) => {
139383
+ var presentation19 = (state) => {
139133
139384
  const { notifs, cursor, actors, records, labels, lastSeenNotifs } = state;
139134
139385
  const notifications = mapDefined(notifs, (notif) => {
139135
139386
  const author = actors[notif.authorDid];
@@ -139506,9 +139757,9 @@ function reverseModerationAction_default(server, ctx) {
139506
139757
  await labelTxn.formatAndCreate(ctx.cfg.labelerDid, result2.subjectUri ?? result2.subjectDid, result2.subjectCid, { create: create3, negate });
139507
139758
  return { result: result2, restored: restored2 };
139508
139759
  });
139509
- if (restored) {
139510
- const { did: did2, subjects } = restored;
139511
- const agent = await ctx.pdsAdminAgent(did2);
139760
+ if (restored && ctx.moderationPushAgent) {
139761
+ const agent = ctx.moderationPushAgent;
139762
+ const { subjects } = restored;
139512
139763
  const results = await Promise.allSettled(subjects.map((subject) => retryHttp(() => agent.api.com.atproto.admin.updateSubjectStatus({
139513
139764
  subject,
139514
139765
  takedown: {
@@ -139587,10 +139838,10 @@ function takeModerationAction_default(server, ctx) {
139587
139838
  await labelTxn.formatAndCreate(ctx.cfg.labelerDid, result2.subjectUri ?? result2.subjectDid, result2.subjectCid, { create: createLabelVals, negate: negateLabelVals });
139588
139839
  return { result: result2, takenDown: takenDown2 };
139589
139840
  });
139590
- if (takenDown) {
139841
+ if (takenDown && ctx.moderationPushAgent) {
139842
+ const agent = ctx.moderationPushAgent;
139591
139843
  const { did: did2, subjects } = takenDown;
139592
139844
  if (did2 && subjects.length > 0) {
139593
- const agent = await ctx.pdsAdminAgent(did2);
139594
139845
  const results = await Promise.allSettled(subjects.map((subject2) => retryHttp(() => agent.api.com.atproto.admin.updateSubjectStatus({
139595
139846
  subject: subject2,
139596
139847
  takedown: {
@@ -139645,8 +139896,10 @@ function searchRepos_default(server, ctx) {
139645
139896
 
139646
139897
  // src/api/com/atproto/admin/util.ts
139647
139898
  var getPdsAccountInfo = async (ctx, did2) => {
139899
+ const agent = ctx.moderationPushAgent;
139900
+ if (!agent)
139901
+ return null;
139648
139902
  try {
139649
- const agent = await ctx.pdsAdminAgent(did2);
139650
139903
  const res = await agent.api.com.atproto.admin.getAccountInfo({ did: did2 });
139651
139904
  return res.data;
139652
139905
  } catch (err) {
@@ -139662,7 +139915,8 @@ var addAccountInfoToRepoViewDetail = (repoView, accountInfo, includeEmail = fals
139662
139915
  invitedBy: accountInfo.invitedBy,
139663
139916
  invitesDisabled: accountInfo.invitesDisabled,
139664
139917
  inviteNote: accountInfo.inviteNote,
139665
- invites: accountInfo.invites
139918
+ invites: accountInfo.invites,
139919
+ emailConfirmedAt: accountInfo.emailConfirmedAt
139666
139920
  };
139667
139921
  };
139668
139922
  var addAccountInfoToRepoView = (repoView, accountInfo, includeEmail = false) => {
@@ -139896,6 +140150,26 @@ function getRecord_default2(server, ctx) {
139896
140150
  });
139897
140151
  }
139898
140152
 
140153
+ // src/api/com/atproto/temp/fetchLabels.ts
140154
+ function fetchLabels_default(server, ctx) {
140155
+ server.com.atproto.temp.fetchLabels(async ({ params: params2 }) => {
140156
+ const { limit } = params2;
140157
+ const db = ctx.db.getReplica();
140158
+ const since = params2.since !== void 0 ? new Date(params2.since).toISOString() : "";
140159
+ const labelRes = await db.db.selectFrom("label").selectAll().orderBy("label.cts", "asc").where("cts", ">", since).limit(limit).execute();
140160
+ const labels = labelRes.map((l) => ({
140161
+ ...l,
140162
+ cid: l.cid === "" ? void 0 : l.cid
140163
+ }));
140164
+ return {
140165
+ encoding: "application/json",
140166
+ body: {
140167
+ labels
140168
+ }
140169
+ };
140170
+ });
140171
+ }
140172
+
139899
140173
  // src/api/health.ts
139900
140174
  var health_exports = {};
139901
140175
  __export(health_exports, {
@@ -140075,6 +140349,7 @@ function api_default(server, ctx) {
140075
140349
  getListFeed_default(server, ctx);
140076
140350
  getPostThread_default(server, ctx);
140077
140351
  getPosts_default(server, ctx);
140352
+ searchPosts_default(server, ctx);
140078
140353
  getActorLikes_default(server, ctx);
140079
140354
  getProfile_default(server, ctx);
140080
140355
  getProfiles_default(server, ctx);
@@ -140114,6 +140389,7 @@ function api_default(server, ctx) {
140114
140389
  getModerationReports_default(server, ctx);
140115
140390
  resolveHandle_default(server, ctx);
140116
140391
  getRecord_default2(server, ctx);
140392
+ fetchLabels_default(server, ctx);
140117
140393
  return server;
140118
140394
  }
140119
140395
 
@@ -140154,6 +140430,7 @@ var AtprotoNS2 = class {
140154
140430
  this.repo = new RepoNS2(server);
140155
140431
  this.server = new ServerNS2(server);
140156
140432
  this.sync = new SyncNS2(server);
140433
+ this.temp = new TempNS2(server);
140157
140434
  }
140158
140435
  };
140159
140436
  var AdminNS2 = class {
@@ -140455,6 +140732,15 @@ var SyncNS2 = class {
140455
140732
  return this._server.xrpc.streamMethod(nsid2, cfg);
140456
140733
  }
140457
140734
  };
140735
+ var TempNS2 = class {
140736
+ constructor(server) {
140737
+ this._server = server;
140738
+ }
140739
+ fetchLabels(cfg) {
140740
+ const nsid2 = "com.atproto.temp.fetchLabels";
140741
+ return this._server.xrpc.method(nsid2, cfg);
140742
+ }
140743
+ };
140458
140744
  var AppNS2 = class {
140459
140745
  constructor(server) {
140460
140746
  this._server = server;
@@ -144742,6 +145028,11 @@ var getJwtStrFromReq = (req) => {
144742
145028
  var AppContext = class {
144743
145029
  constructor(opts) {
144744
145030
  this.opts = opts;
145031
+ if (opts.cfg.moderationPushUrl) {
145032
+ const url = new URL(opts.cfg.moderationPushUrl);
145033
+ this.moderationPushAgent = new AtpAgent({ service: url.origin });
145034
+ this.moderationPushAgent.api.setHeader("authorization", buildBasicAuth(url.username, url.password));
145035
+ }
144745
145036
  }
144746
145037
  get db() {
144747
145038
  return this.opts.db;
@@ -144801,13 +145092,6 @@ var AppContext = class {
144801
145092
  keypair: this.signingKey
144802
145093
  });
144803
145094
  }
144804
- async pdsAdminAgent(did2) {
144805
- const data = await this.idResolver.did.resolveAtprotoData(did2);
144806
- const agent = new AtpAgent({ service: data.pds });
144807
- const jwt = await this.serviceAuthJwt(did2);
144808
- agent.api.setHeader("authorization", `Bearer ${jwt}`);
144809
- return agent;
144810
- }
144811
145095
  get backgroundQueue() {
144812
145096
  return this.opts.backgroundQueue;
144813
145097
  }
@@ -145254,7 +145538,7 @@ var ServerConfig = class {
145254
145538
  const moderatorPassword = process.env.MODERATOR_PASSWORD || void 0;
145255
145539
  const triagePassword = process.env.TRIAGE_PASSWORD || void 0;
145256
145540
  const labelerDid = process.env.LABELER_DID || "did:example:labeler";
145257
- const moderationActionReverseUrl = overrides?.moderationActionReverseUrl || process.env.MODERATION_PUSH_URL || void 0;
145541
+ const moderationPushUrl = overrides?.moderationPushUrl || process.env.MODERATION_PUSH_URL || void 0;
145258
145542
  return new ServerConfig({
145259
145543
  version: version2,
145260
145544
  debugMode,
@@ -145277,7 +145561,7 @@ var ServerConfig = class {
145277
145561
  adminPassword,
145278
145562
  moderatorPassword,
145279
145563
  triagePassword,
145280
- moderationActionReverseUrl,
145564
+ moderationPushUrl,
145281
145565
  ...stripUndefineds(overrides ?? {})
145282
145566
  });
145283
145567
  }
@@ -145352,8 +145636,8 @@ var ServerConfig = class {
145352
145636
  get triagePassword() {
145353
145637
  return this.cfg.triagePassword;
145354
145638
  }
145355
- get moderationActionReverseUrl() {
145356
- return this.cfg.moderationActionReverseUrl;
145639
+ get moderationPushUrl() {
145640
+ return this.cfg.moderationPushUrl;
145357
145641
  }
145358
145642
  };
145359
145643
  function getTagIdxs(str) {
@@ -146228,11 +146512,7 @@ var PeriodicModerationActionReversal = class {
146228
146512
  this.appContext = appContext;
146229
146513
  this.leader = new Leader(MODERATION_ACTION_REVERSAL_ID, this.appContext.db.getPrimary());
146230
146514
  this.destroyed = false;
146231
- if (appContext.cfg.moderationActionReverseUrl) {
146232
- const url = new URL(appContext.cfg.moderationActionReverseUrl);
146233
- this.pushAgent = new AtpAgent({ service: url.origin });
146234
- this.pushAgent.api.setHeader("authorization", buildBasicAuth(url.username, url.password));
146235
- }
146515
+ this.pushAgent = appContext.moderationPushAgent;
146236
146516
  }
146237
146517
  async reverseLabels(labelTxn, actionRow) {
146238
146518
  let uri2;