@atproto/api 0.20.15 → 0.20.16

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 (135) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/agent.d.ts +1 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js.map +1 -1
  5. package/dist/atp-agent.d.ts.map +1 -1
  6. package/dist/atp-agent.js.map +1 -1
  7. package/dist/bsky-agent.d.ts.map +1 -1
  8. package/dist/client/index.d.ts.map +1 -1
  9. package/dist/client/lexicons.d.ts +17122 -17122
  10. package/dist/client/lexicons.d.ts.map +1 -1
  11. package/dist/client/types/app/bsky/ageassurance/begin.d.ts.map +1 -1
  12. package/dist/client/types/app/bsky/bookmark/createBookmark.d.ts.map +1 -1
  13. package/dist/client/types/app/bsky/bookmark/deleteBookmark.d.ts.map +1 -1
  14. package/dist/client/types/app/bsky/contact/dismissMatch.d.ts.map +1 -1
  15. package/dist/client/types/app/bsky/contact/getMatches.d.ts.map +1 -1
  16. package/dist/client/types/app/bsky/contact/getSyncStatus.d.ts.map +1 -1
  17. package/dist/client/types/app/bsky/contact/importContacts.d.ts.map +1 -1
  18. package/dist/client/types/app/bsky/contact/removeData.d.ts.map +1 -1
  19. package/dist/client/types/app/bsky/contact/startPhoneVerification.d.ts.map +1 -1
  20. package/dist/client/types/app/bsky/contact/verifyPhone.d.ts.map +1 -1
  21. package/dist/client/types/app/bsky/draft/createDraft.d.ts.map +1 -1
  22. package/dist/client/types/app/bsky/feed/getActorLikes.d.ts.map +1 -1
  23. package/dist/client/types/app/bsky/feed/getAuthorFeed.d.ts.map +1 -1
  24. package/dist/client/types/app/bsky/feed/getFeed.d.ts.map +1 -1
  25. package/dist/client/types/app/bsky/feed/getFeedSkeleton.d.ts.map +1 -1
  26. package/dist/client/types/app/bsky/feed/getListFeed.d.ts.map +1 -1
  27. package/dist/client/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
  28. package/dist/client/types/app/bsky/feed/searchPosts.d.ts.map +1 -1
  29. package/dist/client/types/app/bsky/graph/getRelationships.d.ts.map +1 -1
  30. package/dist/client/types/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
  31. package/dist/client/types/app/bsky/unspecced/searchActorsSkeleton.d.ts.map +1 -1
  32. package/dist/client/types/app/bsky/unspecced/searchPostsSkeleton.d.ts.map +1 -1
  33. package/dist/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.d.ts.map +1 -1
  34. package/dist/client/types/chat/bsky/convo/acceptConvo.d.ts.map +1 -1
  35. package/dist/client/types/chat/bsky/convo/addReaction.d.ts.map +1 -1
  36. package/dist/client/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -1
  37. package/dist/client/types/chat/bsky/convo/getConvo.d.ts.map +1 -1
  38. package/dist/client/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
  39. package/dist/client/types/chat/bsky/convo/getConvoMembers.d.ts.map +1 -1
  40. package/dist/client/types/chat/bsky/convo/getMessages.d.ts.map +1 -1
  41. package/dist/client/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -1
  42. package/dist/client/types/chat/bsky/convo/lockConvo.d.ts.map +1 -1
  43. package/dist/client/types/chat/bsky/convo/muteConvo.d.ts.map +1 -1
  44. package/dist/client/types/chat/bsky/convo/removeReaction.d.ts.map +1 -1
  45. package/dist/client/types/chat/bsky/convo/sendMessage.d.ts.map +1 -1
  46. package/dist/client/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -1
  47. package/dist/client/types/chat/bsky/convo/unlockConvo.d.ts.map +1 -1
  48. package/dist/client/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -1
  49. package/dist/client/types/chat/bsky/convo/updateRead.d.ts.map +1 -1
  50. package/dist/client/types/chat/bsky/group/addMembers.d.ts.map +1 -1
  51. package/dist/client/types/chat/bsky/group/approveJoinRequest.d.ts.map +1 -1
  52. package/dist/client/types/chat/bsky/group/createGroup.d.ts.map +1 -1
  53. package/dist/client/types/chat/bsky/group/createJoinLink.d.ts.map +1 -1
  54. package/dist/client/types/chat/bsky/group/disableJoinLink.d.ts.map +1 -1
  55. package/dist/client/types/chat/bsky/group/editGroup.d.ts.map +1 -1
  56. package/dist/client/types/chat/bsky/group/editJoinLink.d.ts.map +1 -1
  57. package/dist/client/types/chat/bsky/group/enableJoinLink.d.ts.map +1 -1
  58. package/dist/client/types/chat/bsky/group/listJoinRequests.d.ts.map +1 -1
  59. package/dist/client/types/chat/bsky/group/rejectJoinRequest.d.ts.map +1 -1
  60. package/dist/client/types/chat/bsky/group/removeMembers.d.ts.map +1 -1
  61. package/dist/client/types/chat/bsky/group/requestJoin.d.ts.map +1 -1
  62. package/dist/client/types/chat/bsky/group/updateJoinRequestsRead.d.ts.map +1 -1
  63. package/dist/client/types/chat/bsky/group/withdrawJoinRequest.d.ts.map +1 -1
  64. package/dist/client/types/chat/bsky/moderation/getConvo.d.ts.map +1 -1
  65. package/dist/client/types/chat/bsky/moderation/getConvoMembers.d.ts.map +1 -1
  66. package/dist/client/types/com/atproto/identity/refreshIdentity.d.ts.map +1 -1
  67. package/dist/client/types/com/atproto/identity/resolveDid.d.ts.map +1 -1
  68. package/dist/client/types/com/atproto/identity/resolveHandle.d.ts.map +1 -1
  69. package/dist/client/types/com/atproto/identity/resolveIdentity.d.ts.map +1 -1
  70. package/dist/client/types/com/atproto/lexicon/resolveLexicon.d.ts.map +1 -1
  71. package/dist/client/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
  72. package/dist/client/types/com/atproto/repo/createRecord.d.ts.map +1 -1
  73. package/dist/client/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
  74. package/dist/client/types/com/atproto/repo/getRecord.d.ts.map +1 -1
  75. package/dist/client/types/com/atproto/repo/putRecord.d.ts.map +1 -1
  76. package/dist/client/types/com/atproto/server/confirmEmail.d.ts.map +1 -1
  77. package/dist/client/types/com/atproto/server/createAccount.d.ts.map +1 -1
  78. package/dist/client/types/com/atproto/server/createAppPassword.d.ts.map +1 -1
  79. package/dist/client/types/com/atproto/server/createSession.d.ts.map +1 -1
  80. package/dist/client/types/com/atproto/server/deleteAccount.d.ts.map +1 -1
  81. package/dist/client/types/com/atproto/server/deleteSession.d.ts.map +1 -1
  82. package/dist/client/types/com/atproto/server/getAccountInviteCodes.d.ts.map +1 -1
  83. package/dist/client/types/com/atproto/server/getServiceAuth.d.ts.map +1 -1
  84. package/dist/client/types/com/atproto/server/listAppPasswords.d.ts.map +1 -1
  85. package/dist/client/types/com/atproto/server/refreshSession.d.ts.map +1 -1
  86. package/dist/client/types/com/atproto/server/resetPassword.d.ts.map +1 -1
  87. package/dist/client/types/com/atproto/server/updateEmail.d.ts.map +1 -1
  88. package/dist/client/types/com/atproto/sync/getBlob.d.ts.map +1 -1
  89. package/dist/client/types/com/atproto/sync/getBlocks.d.ts.map +1 -1
  90. package/dist/client/types/com/atproto/sync/getHead.d.ts.map +1 -1
  91. package/dist/client/types/com/atproto/sync/getHostStatus.d.ts.map +1 -1
  92. package/dist/client/types/com/atproto/sync/getLatestCommit.d.ts.map +1 -1
  93. package/dist/client/types/com/atproto/sync/getRecord.d.ts.map +1 -1
  94. package/dist/client/types/com/atproto/sync/getRepo.d.ts.map +1 -1
  95. package/dist/client/types/com/atproto/sync/getRepoStatus.d.ts.map +1 -1
  96. package/dist/client/types/com/atproto/sync/listBlobs.d.ts.map +1 -1
  97. package/dist/client/types/com/atproto/sync/requestCrawl.d.ts.map +1 -1
  98. package/dist/client/types/com/atproto/temp/checkHandleAvailability.d.ts.map +1 -1
  99. package/dist/client/types/com/atproto/temp/dereferenceScope.d.ts.map +1 -1
  100. package/dist/client/types/tools/ozone/communication/createTemplate.d.ts.map +1 -1
  101. package/dist/client/types/tools/ozone/communication/updateTemplate.d.ts.map +1 -1
  102. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  103. package/dist/client/types/tools/ozone/moderation/getAccountTimeline.d.ts.map +1 -1
  104. package/dist/client/types/tools/ozone/moderation/getRecord.d.ts.map +1 -1
  105. package/dist/client/types/tools/ozone/moderation/getRepo.d.ts.map +1 -1
  106. package/dist/client/types/tools/ozone/queue/assignModerator.d.ts.map +1 -1
  107. package/dist/client/types/tools/ozone/queue/createQueue.d.ts.map +1 -1
  108. package/dist/client/types/tools/ozone/queue/routeReports.d.ts.map +1 -1
  109. package/dist/client/types/tools/ozone/queue/unassignModerator.d.ts.map +1 -1
  110. package/dist/client/types/tools/ozone/report/assignModerator.d.ts.map +1 -1
  111. package/dist/client/types/tools/ozone/report/createActivity.d.ts.map +1 -1
  112. package/dist/client/types/tools/ozone/report/getLatestReport.d.ts.map +1 -1
  113. package/dist/client/types/tools/ozone/report/getReport.d.ts.map +1 -1
  114. package/dist/client/types/tools/ozone/report/reassignQueue.d.ts.map +1 -1
  115. package/dist/client/types/tools/ozone/report/unassignModerator.d.ts.map +1 -1
  116. package/dist/client/types/tools/ozone/safelink/addRule.d.ts.map +1 -1
  117. package/dist/client/types/tools/ozone/safelink/removeRule.d.ts.map +1 -1
  118. package/dist/client/types/tools/ozone/safelink/updateRule.d.ts.map +1 -1
  119. package/dist/client/types/tools/ozone/set/deleteSet.d.ts.map +1 -1
  120. package/dist/client/types/tools/ozone/set/deleteValues.d.ts.map +1 -1
  121. package/dist/client/types/tools/ozone/set/getValues.d.ts.map +1 -1
  122. package/dist/client/types/tools/ozone/team/addMember.d.ts.map +1 -1
  123. package/dist/client/types/tools/ozone/team/deleteMember.d.ts.map +1 -1
  124. package/dist/client/types/tools/ozone/team/updateMember.d.ts.map +1 -1
  125. package/dist/client/util.d.ts.map +1 -1
  126. package/dist/mocker.d.ts +3 -3
  127. package/dist/mocker.d.ts.map +1 -1
  128. package/dist/moderation/decision.d.ts +5 -5
  129. package/dist/moderation/decision.d.ts.map +1 -1
  130. package/dist/rich-text/rich-text.d.ts.map +1 -1
  131. package/dist/rich-text/rich-text.js.map +1 -1
  132. package/dist/rich-text/unicode.d.ts.map +1 -1
  133. package/dist/util.d.ts +2 -2
  134. package/package.json +7 -8
  135. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../src/moderation/decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAIL,KAAK,EACL,eAAe,EACf,WAAW,EAGX,kBAAkB,EAClB,eAAe,EACf,cAAc,EAEf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAQtC,qBAAa,kBAAkB;IAC7B,GAAG,SAAK;IACR,IAAI,UAAQ;IACZ,MAAM,EAAE,eAAe,EAAE,CAAK;;IAI9B,MAAM,CAAC,KAAK,CACV,GAAG,SAAS,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,GAC/C,kBAAkB;IAWrB,SAAS;IAOT,IAAI,OAAO,YAEV;IAED,IAAI,KAAK,YAER;IAED,IAAI,UAAU;;;;;;;;;;;;;;;kBAOb;IAED,IAAI,SAAS;;;;;kBAEZ;IAED,IAAI,WAAW;;;;;;;;;;;QAEd;IAED,EAAE,CAAC,OAAO,EAAE,MAAM,kBAAkB,GAAG,YAAY;IAuGnD,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,OAAO,CAAC,IAAI,EAAE,OAAO;IAIrB,SAAS,CAAC,MAAM,EAAE,OAAO;IAUzB,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,SAAS;IAWjD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAUxC,iBAAiB,CACf,cAAc,EAAE,gBAAgB,CAAC,aAAa,GAAG,SAAS;IAW5D,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS;IAU3C,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS;IAU7C,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc;IAmGhE,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS;IAUnC,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,aAAa,GAAG,SAAS;CASvE"}
1
+ {"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../../src/moderation/decision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAIL,KAAK,EACL,eAAe,EACf,WAAW,EAGX,kBAAkB,EAClB,eAAe,EACf,cAAc,EAEf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAQtC,qBAAa,kBAAkB;IAC7B,GAAG,SAAK;IACR,IAAI,UAAQ;IACZ,MAAM,EAAE,eAAe,EAAE,CAAK;IAE9B,cAAgB;IAEhB,MAAM,CAAC,KAAK,CACV,GAAG,SAAS,EAAE,CAAC,kBAAkB,GAAG,SAAS,CAAC,EAAE,GAC/C,kBAAkB,CASpB;IAED,SAAS,SAKR;IAED,IAAI,OAAO,YAEV;IAED,IAAI,KAAK,YAER;IAED,IAAI,UAAU;;;;;;;;;;;;;;;kBAOb;IAED,IAAI,SAAS;;;;;kBAEZ;IAED,IAAI,WAAW;;;;;;;;;;;QAEd;IAED,EAAE,CAAC,OAAO,EAAE,MAAM,kBAAkB,GAAG,YAAY,CAqGlD;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,QAEjB;IAED,OAAO,CAAC,IAAI,EAAE,OAAO,QAEpB;IAED,SAAS,CAAC,MAAM,EAAE,OAAO,QAQxB;IAED,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,SAAS,QAShD;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,QAQvC;IAED,iBAAiB,CACf,cAAc,EAAE,gBAAgB,CAAC,aAAa,GAAG,SAAS,QAS3D;IAED,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,QAQ1C;IAED,aAAa,CAAC,UAAU,EAAE,OAAO,GAAG,SAAS,QAQ5C;IAED,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,QAiG/D;IAED,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,QAQlC;IAED,cAAc,CAAC,WAAW,EAAE,gBAAgB,CAAC,aAAa,GAAG,SAAS,QAQrE;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"AA6FA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EACd,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAC7C,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAA;AACvD,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,eAAe;IAEjB,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,EAAE,KAAK;gBADb,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,YAAA;IAGtB,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,MAAM;IAIN,IAAI,OAAO,IAAI,YAAY,GAAG,SAAS,CAEtC;IAED,SAAS;IAIT,IAAI,GAAG,IAAI,QAAQ,GAAG,SAAS,CAE9B;IAED,KAAK;CAGN;AAED,qBAAa,QAAQ;IACnB,WAAW,EAAE,aAAa,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;gBAEJ,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,YAAY;IAcrD,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAEjB;IAED,KAAK;IAOL,QAAQ,CAAC,MAAM,EAAE,QAAQ;IAKxB,QAAQ,IAAI,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC;IAyCnD,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAkC9C,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAoEvD;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa;IAwBvC;;;;OAIG;IACH,6BAA6B;CAM9B"}
1
+ {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"AA6FA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,aAAa,EACd,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAA;AAC7C,MAAM,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAA;AACjD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAA;AACvD,MAAM,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;AAE3C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,qBAAa,eAAe;IAEjB,IAAI,EAAE,MAAM;IACZ,KAAK,CAAC,EAAE,KAAK;IAFtB,YACS,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,KAAK,YAAA,EAClB;IAEJ,IAAI,IAAI,IAAI,SAAS,GAAG,SAAS,CAEhC;IAED,MAAM,YAEL;IAED,IAAI,OAAO,IAAI,YAAY,GAAG,SAAS,CAEtC;IAED,SAAS,YAER;IAED,IAAI,GAAG,IAAI,QAAQ,GAAG,SAAS,CAE9B;IAED,KAAK,YAEJ;CACF;AAED,qBAAa,QAAQ;IACnB,WAAW,EAAE,aAAa,CAAA;IAC1B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;IAEhB,YAAY,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,YAAY,EAYpD;IAED,IAAI,IAAI,WAEP;IAED,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAEjB;IAED,KAAK,aAKJ;IAED,QAAQ,CAAC,MAAM,EAAE,QAAQ,QAGxB;IAEA,QAAQ,IAAI,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,CAuClD;IAED,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAgC7C;IAED,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,QAkEtD;IAED;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,aAAa,iBAsBtC;IAED;;;;OAIG;IACH,6BAA6B,SAK5B;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n= Rich Text Manipulation\n\nWhen we sanitize rich text, we have to update the entity indices as the\ntext is modified. This can be modeled as inserts() and deletes() of the\nrich text string. The possible scenarios are outlined below, along with\ntheir expected behaviors.\n\nNOTE: Slices are start inclusive, end exclusive\n\n== richTextInsert()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^ // insert \"test\" at 0\nB: ^ // insert \"test\" at 4\nC: ^ // insert \"test\" at 8\n\nA = before -> move both by num added\nB = inner -> move end by num added\nC = after -> noop\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n t e s t h e l l o w // string value\n ^-------^ // target slice {start: 6, end: 11}\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l t e s t o w // string value\n ^---------------^ // target slice {start: 2, end: 11}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o t e s // string value\n ^-------^ // target slice {start: 2, end: 7}\n\n== richTextDelete()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^---------------^ // remove slice {start: 0, end: 9}\nB: ^-----^ // remove slice {start: 7, end: 11}\nC: ^-----------^ // remove slice {start: 4, end: 11}\nD: ^-^ // remove slice {start: 3, end: 5}\nE: ^-----^ // remove slice {start: 1, end: 5}\nF: ^-^ // remove slice {start: 0, end: 2}\n\nA = entirely outer -> delete slice\nB = entirely after -> noop\nC = partially after -> move end to remove-start\nD = entirely inner -> move end by num removed\nE = partially before -> move start to remove-start index, move end by num removed\nF = entirely before -> move both by num removed\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n l d // string value\n // target slice (deleted)\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l // string value\n ^-^ // target slice {start: 2, end: 4}\n\nD: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l w o r l d // string value\n ^---^ // target slice {start: 2, end: 5}\n\nE: 0 1 2 3 4 5 6 7 8 910 // string indices\n h w o r l d // string value\n ^-^ // target slice {start: 1, end: 3}\n\nF: 0 1 2 3 4 5 6 7 8 910 // string indices\n l l o w o r l d // string value\n ^-------^ // target slice {start: 0, end: 5}\n */\n\nimport {\n AppBskyFeedPost,\n AppBskyRichtextFacet,\n AtpBaseClient,\n} from '../client/index.js'\nimport { detectFacets } from './detection.js'\nimport { sanitizeRichText } from './sanitization.js'\nimport { UnicodeString } from './unicode.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\nexport type FacetLink = AppBskyRichtextFacet.Link\nexport type FacetMention = AppBskyRichtextFacet.Mention\nexport type FacetTag = AppBskyRichtextFacet.Tag\nexport type Entity = AppBskyFeedPost.Entity\n\nexport interface RichTextProps {\n text: string\n facets?: Facet[]\n /**\n * @deprecated Use facets instead\n */\n entities?: Entity[]\n}\n\nexport interface RichTextOpts {\n cleanNewlines?: boolean\n}\n\nexport class RichTextSegment {\n constructor(\n public text: string,\n public facet?: Facet,\n ) {}\n\n get link(): FacetLink | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isLink)\n }\n\n isLink() {\n return !!this.link\n }\n\n get mention(): FacetMention | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isMention)\n }\n\n isMention() {\n return !!this.mention\n }\n\n get tag(): FacetTag | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isTag)\n }\n\n isTag() {\n return !!this.tag\n }\n}\n\nexport class RichText {\n unicodeText: UnicodeString\n facets?: Facet[]\n\n constructor(props: RichTextProps, opts?: RichTextOpts) {\n this.unicodeText = new UnicodeString(props.text)\n this.facets = props.facets\n if (!this.facets?.length && props.entities?.length) {\n this.facets = entitiesToFacets(this.unicodeText, props.entities)\n }\n if (this.facets) {\n this.facets = this.facets.filter(facetFilter).sort(facetSort)\n }\n if (opts?.cleanNewlines) {\n sanitizeRichText(this, { cleanNewlines: true }).copyInto(this)\n }\n }\n\n get text() {\n return this.unicodeText.toString()\n }\n\n get length() {\n return this.unicodeText.length\n }\n\n get graphemeLength() {\n return this.unicodeText.graphemeLength\n }\n\n clone() {\n return new RichText({\n text: this.unicodeText.utf16,\n facets: cloneDeep(this.facets),\n })\n }\n\n copyInto(target: RichText) {\n target.unicodeText = this.unicodeText\n target.facets = cloneDeep(this.facets)\n }\n\n *segments(): Generator<RichTextSegment, void, void> {\n const facets = this.facets || []\n if (!facets.length) {\n yield new RichTextSegment(this.unicodeText.utf16)\n return\n }\n\n let textCursor = 0\n let facetCursor = 0\n do {\n const currFacet = facets[facetCursor]\n if (textCursor < currFacet.index.byteStart) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, currFacet.index.byteStart),\n )\n } else if (textCursor > currFacet.index.byteStart) {\n facetCursor++\n continue\n }\n if (currFacet.index.byteStart < currFacet.index.byteEnd) {\n const subtext = this.unicodeText.slice(\n currFacet.index.byteStart,\n currFacet.index.byteEnd,\n )\n if (!subtext.trim()) {\n // dont empty string entities\n yield new RichTextSegment(subtext)\n } else {\n yield new RichTextSegment(subtext, currFacet)\n }\n }\n textCursor = currFacet.index.byteEnd\n facetCursor++\n } while (facetCursor < facets.length)\n if (textCursor < this.unicodeText.length) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, this.unicodeText.length),\n )\n }\n }\n\n insert(insertIndex: number, insertText: string) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, insertIndex) +\n insertText +\n this.unicodeText.slice(insertIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsAdded = insertText.length\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (before)\n if (insertIndex <= ent.index.byteStart) {\n // move both by num added\n ent.index.byteStart += numCharsAdded\n ent.index.byteEnd += numCharsAdded\n }\n // scenario B (inner)\n else if (\n insertIndex >= ent.index.byteStart &&\n insertIndex < ent.index.byteEnd\n ) {\n // move end by num added\n ent.index.byteEnd += numCharsAdded\n }\n // scenario C (after)\n // noop\n }\n return this\n }\n\n delete(removeStartIndex: number, removeEndIndex: number) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, removeStartIndex) +\n this.unicodeText.slice(removeEndIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsRemoved = removeEndIndex - removeStartIndex\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (entirely outer)\n if (\n removeStartIndex <= ent.index.byteStart &&\n removeEndIndex >= ent.index.byteEnd\n ) {\n // delete slice (will get removed in final pass)\n ent.index.byteStart = 0\n ent.index.byteEnd = 0\n }\n // scenario B (entirely after)\n else if (removeStartIndex > ent.index.byteEnd) {\n // noop\n }\n // scenario C (partially after)\n else if (\n removeStartIndex > ent.index.byteStart &&\n removeStartIndex <= ent.index.byteEnd &&\n removeEndIndex > ent.index.byteEnd\n ) {\n // move end to remove start\n ent.index.byteEnd = removeStartIndex\n }\n // scenario D (entirely inner)\n else if (\n removeStartIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move end by num removed\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario E (partially before)\n else if (\n removeStartIndex < ent.index.byteStart &&\n removeEndIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move start to remove-start index, move end by num removed\n ent.index.byteStart = removeStartIndex\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario F (entirely before)\n else if (removeEndIndex < ent.index.byteStart) {\n // move both by num removed\n ent.index.byteStart -= numCharsRemoved\n ent.index.byteEnd -= numCharsRemoved\n }\n }\n\n // filter out any facets that were made irrelevant\n this.facets = this.facets.filter(\n (ent) => ent.index.byteStart < ent.index.byteEnd,\n )\n return this\n }\n\n /**\n * Detects facets such as links and mentions\n * Note: Overwrites the existing facets with auto-detected facets\n */\n async detectFacets(agent: AtpBaseClient) {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n const promises: Promise<void>[] = []\n for (const facet of this.facets) {\n for (const feature of facet.features) {\n if (AppBskyRichtextFacet.isMention(feature)) {\n promises.push(\n agent.com.atproto.identity\n .resolveHandle({ handle: feature.did })\n .then((res) => res?.data.did)\n .catch((_) => undefined)\n .then((did) => {\n feature.did = did || ''\n }),\n )\n }\n }\n }\n await Promise.allSettled(promises)\n this.facets.sort(facetSort)\n }\n }\n\n /**\n * Detects facets such as links and mentions but does not resolve them\n * Will produce invalid facets! For instance, mentions will not have their DIDs set.\n * Note: Overwrites the existing facets with auto-detected facets\n */\n detectFacetsWithoutResolution() {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n this.facets.sort(facetSort)\n }\n }\n}\n\nconst facetSort = (a: Facet, b: Facet) => a.index.byteStart - b.index.byteStart\n\nconst facetFilter = (facet: Facet) =>\n // discard negative-length facets. zero-length facets are valid\n facet.index.byteStart <= facet.index.byteEnd\n\nfunction entitiesToFacets(text: UnicodeString, entities: Entity[]): Facet[] {\n const facets: Facet[] = []\n for (const ent of entities) {\n if (ent.type === 'link') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [{ $type: 'app.bsky.richtext.facet#link', uri: ent.value }],\n })\n } else if (ent.type === 'mention') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [\n { $type: 'app.bsky.richtext.facet#mention', did: ent.value },\n ],\n })\n }\n }\n return facets\n}\n\nfunction cloneDeep<T>(v: T): T {\n if (typeof v === 'undefined') {\n return v\n }\n return JSON.parse(JSON.stringify(v))\n}\n"]}
1
+ {"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../src/rich-text/rich-text.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n= Rich Text Manipulation\n\nWhen we sanitize rich text, we have to update the entity indices as the\ntext is modified. This can be modeled as inserts() and deletes() of the\nrich text string. The possible scenarios are outlined below, along with\ntheir expected behaviors.\n\nNOTE: Slices are start inclusive, end exclusive\n\n== richTextInsert()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^ // insert \"test\" at 0\nB: ^ // insert \"test\" at 4\nC: ^ // insert \"test\" at 8\n\nA = before -> move both by num added\nB = inner -> move end by num added\nC = after -> noop\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n t e s t h e l l o w // string value\n ^-------^ // target slice {start: 6, end: 11}\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l t e s t o w // string value\n ^---------------^ // target slice {start: 2, end: 11}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o t e s // string value\n ^-------^ // target slice {start: 2, end: 7}\n\n== richTextDelete()\n\nTarget string:\n\n 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w o r l d // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nScenarios:\n\nA: ^---------------^ // remove slice {start: 0, end: 9}\nB: ^-----^ // remove slice {start: 7, end: 11}\nC: ^-----------^ // remove slice {start: 4, end: 11}\nD: ^-^ // remove slice {start: 3, end: 5}\nE: ^-----^ // remove slice {start: 1, end: 5}\nF: ^-^ // remove slice {start: 0, end: 2}\n\nA = entirely outer -> delete slice\nB = entirely after -> noop\nC = partially after -> move end to remove-start\nD = entirely inner -> move end by num removed\nE = partially before -> move start to remove-start index, move end by num removed\nF = entirely before -> move both by num removed\n\nResults:\n\nA: 0 1 2 3 4 5 6 7 8 910 // string indices\n l d // string value\n // target slice (deleted)\n\nB: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l o w // string value\n ^-------^ // target slice {start: 2, end: 7}\n\nC: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l l // string value\n ^-^ // target slice {start: 2, end: 4}\n\nD: 0 1 2 3 4 5 6 7 8 910 // string indices\n h e l w o r l d // string value\n ^---^ // target slice {start: 2, end: 5}\n\nE: 0 1 2 3 4 5 6 7 8 910 // string indices\n h w o r l d // string value\n ^-^ // target slice {start: 1, end: 3}\n\nF: 0 1 2 3 4 5 6 7 8 910 // string indices\n l l o w o r l d // string value\n ^-------^ // target slice {start: 0, end: 5}\n */\n\nimport {\n AppBskyFeedPost,\n AppBskyRichtextFacet,\n AtpBaseClient,\n} from '../client/index.js'\nimport { detectFacets } from './detection.js'\nimport { sanitizeRichText } from './sanitization.js'\nimport { UnicodeString } from './unicode.js'\n\nexport type Facet = AppBskyRichtextFacet.Main\nexport type FacetLink = AppBskyRichtextFacet.Link\nexport type FacetMention = AppBskyRichtextFacet.Mention\nexport type FacetTag = AppBskyRichtextFacet.Tag\nexport type Entity = AppBskyFeedPost.Entity\n\nexport interface RichTextProps {\n text: string\n facets?: Facet[]\n /**\n * @deprecated Use facets instead\n */\n entities?: Entity[]\n}\n\nexport interface RichTextOpts {\n cleanNewlines?: boolean\n}\n\nexport class RichTextSegment {\n constructor(\n public text: string,\n public facet?: Facet,\n ) {}\n\n get link(): FacetLink | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isLink)\n }\n\n isLink() {\n return !!this.link\n }\n\n get mention(): FacetMention | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isMention)\n }\n\n isMention() {\n return !!this.mention\n }\n\n get tag(): FacetTag | undefined {\n return this.facet?.features.find(AppBskyRichtextFacet.isTag)\n }\n\n isTag() {\n return !!this.tag\n }\n}\n\nexport class RichText {\n unicodeText: UnicodeString\n facets?: Facet[]\n\n constructor(props: RichTextProps, opts?: RichTextOpts) {\n this.unicodeText = new UnicodeString(props.text)\n this.facets = props.facets\n if (!this.facets?.length && props.entities?.length) {\n this.facets = entitiesToFacets(this.unicodeText, props.entities)\n }\n if (this.facets) {\n this.facets = this.facets.filter(facetFilter).sort(facetSort)\n }\n if (opts?.cleanNewlines) {\n sanitizeRichText(this, { cleanNewlines: true }).copyInto(this)\n }\n }\n\n get text() {\n return this.unicodeText.toString()\n }\n\n get length() {\n return this.unicodeText.length\n }\n\n get graphemeLength() {\n return this.unicodeText.graphemeLength\n }\n\n clone() {\n return new RichText({\n text: this.unicodeText.utf16,\n facets: cloneDeep(this.facets),\n })\n }\n\n copyInto(target: RichText) {\n target.unicodeText = this.unicodeText\n target.facets = cloneDeep(this.facets)\n }\n\n *segments(): Generator<RichTextSegment, void, void> {\n const facets = this.facets || []\n if (!facets.length) {\n yield new RichTextSegment(this.unicodeText.utf16)\n return\n }\n\n let textCursor = 0\n let facetCursor = 0\n do {\n const currFacet = facets[facetCursor]\n if (textCursor < currFacet.index.byteStart) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, currFacet.index.byteStart),\n )\n } else if (textCursor > currFacet.index.byteStart) {\n facetCursor++\n continue\n }\n if (currFacet.index.byteStart < currFacet.index.byteEnd) {\n const subtext = this.unicodeText.slice(\n currFacet.index.byteStart,\n currFacet.index.byteEnd,\n )\n if (!subtext.trim()) {\n // dont empty string entities\n yield new RichTextSegment(subtext)\n } else {\n yield new RichTextSegment(subtext, currFacet)\n }\n }\n textCursor = currFacet.index.byteEnd\n facetCursor++\n } while (facetCursor < facets.length)\n if (textCursor < this.unicodeText.length) {\n yield new RichTextSegment(\n this.unicodeText.slice(textCursor, this.unicodeText.length),\n )\n }\n }\n\n insert(insertIndex: number, insertText: string) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, insertIndex) +\n insertText +\n this.unicodeText.slice(insertIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsAdded = insertText.length\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (before)\n if (insertIndex <= ent.index.byteStart) {\n // move both by num added\n ent.index.byteStart += numCharsAdded\n ent.index.byteEnd += numCharsAdded\n }\n // scenario B (inner)\n else if (\n insertIndex >= ent.index.byteStart &&\n insertIndex < ent.index.byteEnd\n ) {\n // move end by num added\n ent.index.byteEnd += numCharsAdded\n }\n // scenario C (after)\n // noop\n }\n return this\n }\n\n delete(removeStartIndex: number, removeEndIndex: number) {\n this.unicodeText = new UnicodeString(\n this.unicodeText.slice(0, removeStartIndex) +\n this.unicodeText.slice(removeEndIndex),\n )\n\n if (!this.facets?.length) {\n return this\n }\n\n const numCharsRemoved = removeEndIndex - removeStartIndex\n for (const ent of this.facets) {\n // see comment at top of file for labels of each scenario\n // scenario A (entirely outer)\n if (\n removeStartIndex <= ent.index.byteStart &&\n removeEndIndex >= ent.index.byteEnd\n ) {\n // delete slice (will get removed in final pass)\n ent.index.byteStart = 0\n ent.index.byteEnd = 0\n }\n // scenario B (entirely after)\n else if (removeStartIndex > ent.index.byteEnd) {\n // noop\n }\n // scenario C (partially after)\n else if (\n removeStartIndex > ent.index.byteStart &&\n removeStartIndex <= ent.index.byteEnd &&\n removeEndIndex > ent.index.byteEnd\n ) {\n // move end to remove start\n ent.index.byteEnd = removeStartIndex\n }\n // scenario D (entirely inner)\n else if (\n removeStartIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move end by num removed\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario E (partially before)\n else if (\n removeStartIndex < ent.index.byteStart &&\n removeEndIndex >= ent.index.byteStart &&\n removeEndIndex <= ent.index.byteEnd\n ) {\n // move start to remove-start index, move end by num removed\n ent.index.byteStart = removeStartIndex\n ent.index.byteEnd -= numCharsRemoved\n }\n // scenario F (entirely before)\n else if (removeEndIndex < ent.index.byteStart) {\n // move both by num removed\n ent.index.byteStart -= numCharsRemoved\n ent.index.byteEnd -= numCharsRemoved\n }\n }\n\n // filter out any facets that were made irrelevant\n this.facets = this.facets.filter(\n (ent) => ent.index.byteStart < ent.index.byteEnd,\n )\n return this\n }\n\n /**\n * Detects facets such as links and mentions\n * Note: Overwrites the existing facets with auto-detected facets\n */\n async detectFacets(agent: AtpBaseClient) {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n const promises: Promise<void>[] = []\n for (const facet of this.facets) {\n for (const feature of facet.features) {\n if (AppBskyRichtextFacet.isMention(feature)) {\n promises.push(\n agent.com.atproto.identity\n .resolveHandle({ handle: feature.did })\n .then((res) => res?.data.did)\n .catch((_) => undefined)\n .then((did) => {\n feature.did = did || ''\n }),\n )\n }\n }\n }\n await Promise.allSettled(promises)\n this.facets.sort(facetSort)\n }\n }\n\n /**\n * Detects facets such as links and mentions but does not resolve them\n * Will produce invalid facets! For instance, mentions will not have their DIDs set.\n * Note: Overwrites the existing facets with auto-detected facets\n */\n detectFacetsWithoutResolution() {\n this.facets = detectFacets(this.unicodeText)\n if (this.facets) {\n this.facets.sort(facetSort)\n }\n }\n}\n\nconst facetSort = (a: Facet, b: Facet) => a.index.byteStart - b.index.byteStart\n\nconst facetFilter = (facet: Facet) =>\n // discard negative-length facets. zero-length facets are valid\n facet.index.byteStart <= facet.index.byteEnd\n\nfunction entitiesToFacets(text: UnicodeString, entities: Entity[]): Facet[] {\n const facets: Facet[] = []\n for (const ent of entities) {\n if (ent.type === 'link') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [{ $type: 'app.bsky.richtext.facet#link', uri: ent.value }],\n })\n } else if (ent.type === 'mention') {\n facets.push({\n $type: 'app.bsky.richtext.facet',\n index: {\n byteStart: text.utf16IndexToUtf8Index(ent.index.start),\n byteEnd: text.utf16IndexToUtf8Index(ent.index.end),\n },\n features: [\n { $type: 'app.bsky.richtext.facet#mention', did: ent.value },\n ],\n })\n }\n }\n return facets\n}\n\nfunction cloneDeep<T>(v: T): T {\n if (typeof v === 'undefined') {\n return v\n }\n return JSON.parse(JSON.stringify(v))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"unicode.d.ts","sourceRoot":"","sources":["../../src/rich-text/unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,qBAAa,aAAa;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,YAAY,CAAC,CAAoB;gBAE7B,KAAK,EAAE,MAAM;IAKzB,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAKjB;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAI3C,qBAAqB,CAAC,CAAC,EAAE,MAAM;IAI/B,QAAQ;CAGT"}
1
+ {"version":3,"file":"unicode.d.ts","sourceRoot":"","sources":["../../src/rich-text/unicode.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,qBAAa,aAAa;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,CAAC,YAAY,CAAC,CAAoB;IAEzC,YAAY,KAAK,EAAE,MAAM,EAGxB;IAED,IAAI,MAAM,WAET;IAED,IAAI,cAAc,WAKjB;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1C;IAED,qBAAqB,CAAC,CAAC,EAAE,MAAM,UAE9B;IAED,QAAQ,WAEP;CACF"}
package/dist/util.d.ts CHANGED
@@ -22,13 +22,13 @@ export declare const nuxSchema: z.ZodObject<{
22
22
  }, "strict", z.ZodTypeAny, {
23
23
  id: string;
24
24
  completed: boolean;
25
- expiresAt?: string | undefined;
26
25
  data?: string | undefined;
26
+ expiresAt?: string | undefined;
27
27
  }, {
28
28
  id: string;
29
29
  completed: boolean;
30
- expiresAt?: string | undefined;
31
30
  data?: string | undefined;
31
+ expiresAt?: string | undefined;
32
32
  }>;
33
33
  export declare function validateNux(nux: Nux): void;
34
34
  //# sourceMappingURL=util.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/api",
3
- "version": "0.20.15",
3
+ "version": "0.20.16",
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
@@ -22,17 +22,16 @@
22
22
  "multiformats": "^13.0.0",
23
23
  "tlds": "^1.234.0",
24
24
  "zod": "^3.23.8",
25
- "@atproto/common-web": "^0.5.0",
26
- "@atproto/lexicon": "^0.7.1",
27
- "@atproto/xrpc": "^0.8.0",
28
- "@atproto/syntax": "^0.6.1"
25
+ "@atproto/common-web": "^0.5.1",
26
+ "@atproto/lexicon": "^0.7.2",
27
+ "@atproto/syntax": "^0.6.2",
28
+ "@atproto/xrpc": "^0.8.1"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@jest/globals": "^28.1.3",
32
32
  "jest": "^30.0.0",
33
33
  "prettier": "^3.2.5",
34
- "typescript": "^6.0.3",
35
- "@atproto/lex-cli": "^0.10.0"
34
+ "@atproto/lex-cli": "^0.10.1"
36
35
  },
37
36
  "type": "module",
38
37
  "exports": {
@@ -45,7 +44,7 @@
45
44
  "codegen:lex": "lex gen-api --yes ./src/client ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/* ../../lexicons/com/germnetwork/*",
46
45
  "codegen:code": "node ./scripts/generate-code.mjs",
47
46
  "prebuild": "pnpm run codegen:code && if [ ! -f ./src/client/index.ts ] || [ -n \"$(find ../../lexicons -name '*.json' -newer ./src/client/index.ts -type f -print -quit)\" ]; then pnpm run codegen:lex; fi",
48
- "build": "tsc --build tsconfig.build.json",
47
+ "build": "tsgo --build tsconfig.build.json",
49
48
  "test": "NODE_OPTIONS=--experimental-vm-modules jest"
50
49
  }
51
50
  }
@@ -1 +1 @@
1
- {"root":["./src/age-assurance.test.ts","./src/age-assurance.ts","./src/agent.ts","./src/atp-agent.ts","./src/bsky-agent.ts","./src/const.ts","./src/index.ts","./src/mocker.ts","./src/predicate.ts","./src/session-manager.ts","./src/types.ts","./src/util.ts","./src/client/index.ts","./src/client/lexicons.ts","./src/client/util.ts","./src/client/types/app/bsky/actor/defs.ts","./src/client/types/app/bsky/actor/getPreferences.ts","./src/client/types/app/bsky/actor/getProfile.ts","./src/client/types/app/bsky/actor/getProfiles.ts","./src/client/types/app/bsky/actor/getSuggestions.ts","./src/client/types/app/bsky/actor/profile.ts","./src/client/types/app/bsky/actor/putPreferences.ts","./src/client/types/app/bsky/actor/searchActors.ts","./src/client/types/app/bsky/actor/searchActorsTypeahead.ts","./src/client/types/app/bsky/actor/status.ts","./src/client/types/app/bsky/ageassurance/begin.ts","./src/client/types/app/bsky/ageassurance/defs.ts","./src/client/types/app/bsky/ageassurance/getConfig.ts","./src/client/types/app/bsky/ageassurance/getState.ts","./src/client/types/app/bsky/bookmark/createBookmark.ts","./src/client/types/app/bsky/bookmark/defs.ts","./src/client/types/app/bsky/bookmark/deleteBookmark.ts","./src/client/types/app/bsky/bookmark/getBookmarks.ts","./src/client/types/app/bsky/contact/defs.ts","./src/client/types/app/bsky/contact/dismissMatch.ts","./src/client/types/app/bsky/contact/getMatches.ts","./src/client/types/app/bsky/contact/getSyncStatus.ts","./src/client/types/app/bsky/contact/importContacts.ts","./src/client/types/app/bsky/contact/removeData.ts","./src/client/types/app/bsky/contact/sendNotification.ts","./src/client/types/app/bsky/contact/startPhoneVerification.ts","./src/client/types/app/bsky/contact/verifyPhone.ts","./src/client/types/app/bsky/draft/createDraft.ts","./src/client/types/app/bsky/draft/defs.ts","./src/client/types/app/bsky/draft/deleteDraft.ts","./src/client/types/app/bsky/draft/getDrafts.ts","./src/client/types/app/bsky/draft/updateDraft.ts","./src/client/types/app/bsky/embed/defs.ts","./src/client/types/app/bsky/embed/external.ts","./src/client/types/app/bsky/embed/gallery.ts","./src/client/types/app/bsky/embed/getEmbedExternalView.ts","./src/client/types/app/bsky/embed/images.ts","./src/client/types/app/bsky/embed/record.ts","./src/client/types/app/bsky/embed/recordWithMedia.ts","./src/client/types/app/bsky/embed/video.ts","./src/client/types/app/bsky/feed/defs.ts","./src/client/types/app/bsky/feed/describeFeedGenerator.ts","./src/client/types/app/bsky/feed/generator.ts","./src/client/types/app/bsky/feed/getActorFeeds.ts","./src/client/types/app/bsky/feed/getActorLikes.ts","./src/client/types/app/bsky/feed/getAuthorFeed.ts","./src/client/types/app/bsky/feed/getFeed.ts","./src/client/types/app/bsky/feed/getFeedGenerator.ts","./src/client/types/app/bsky/feed/getFeedGenerators.ts","./src/client/types/app/bsky/feed/getFeedSkeleton.ts","./src/client/types/app/bsky/feed/getLikes.ts","./src/client/types/app/bsky/feed/getListFeed.ts","./src/client/types/app/bsky/feed/getPostThread.ts","./src/client/types/app/bsky/feed/getPosts.ts","./src/client/types/app/bsky/feed/getQuotes.ts","./src/client/types/app/bsky/feed/getRepostedBy.ts","./src/client/types/app/bsky/feed/getSuggestedFeeds.ts","./src/client/types/app/bsky/feed/getTimeline.ts","./src/client/types/app/bsky/feed/like.ts","./src/client/types/app/bsky/feed/post.ts","./src/client/types/app/bsky/feed/postgate.ts","./src/client/types/app/bsky/feed/repost.ts","./src/client/types/app/bsky/feed/searchPosts.ts","./src/client/types/app/bsky/feed/sendInteractions.ts","./src/client/types/app/bsky/feed/threadgate.ts","./src/client/types/app/bsky/graph/block.ts","./src/client/types/app/bsky/graph/defs.ts","./src/client/types/app/bsky/graph/follow.ts","./src/client/types/app/bsky/graph/getActorStarterPacks.ts","./src/client/types/app/bsky/graph/getBlocks.ts","./src/client/types/app/bsky/graph/getFollowers.ts","./src/client/types/app/bsky/graph/getFollows.ts","./src/client/types/app/bsky/graph/getKnownFollowers.ts","./src/client/types/app/bsky/graph/getList.ts","./src/client/types/app/bsky/graph/getListBlocks.ts","./src/client/types/app/bsky/graph/getListMutes.ts","./src/client/types/app/bsky/graph/getLists.ts","./src/client/types/app/bsky/graph/getListsWithMembership.ts","./src/client/types/app/bsky/graph/getMutes.ts","./src/client/types/app/bsky/graph/getRelationships.ts","./src/client/types/app/bsky/graph/getStarterPack.ts","./src/client/types/app/bsky/graph/getStarterPacks.ts","./src/client/types/app/bsky/graph/getStarterPacksWithMembership.ts","./src/client/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/client/types/app/bsky/graph/list.ts","./src/client/types/app/bsky/graph/listblock.ts","./src/client/types/app/bsky/graph/listitem.ts","./src/client/types/app/bsky/graph/muteActor.ts","./src/client/types/app/bsky/graph/muteActorList.ts","./src/client/types/app/bsky/graph/muteThread.ts","./src/client/types/app/bsky/graph/searchStarterPacks.ts","./src/client/types/app/bsky/graph/starterpack.ts","./src/client/types/app/bsky/graph/unmuteActor.ts","./src/client/types/app/bsky/graph/unmuteActorList.ts","./src/client/types/app/bsky/graph/unmuteThread.ts","./src/client/types/app/bsky/graph/verification.ts","./src/client/types/app/bsky/labeler/defs.ts","./src/client/types/app/bsky/labeler/getServices.ts","./src/client/types/app/bsky/labeler/service.ts","./src/client/types/app/bsky/notification/declaration.ts","./src/client/types/app/bsky/notification/defs.ts","./src/client/types/app/bsky/notification/getPreferences.ts","./src/client/types/app/bsky/notification/getUnreadCount.ts","./src/client/types/app/bsky/notification/listActivitySubscriptions.ts","./src/client/types/app/bsky/notification/listNotifications.ts","./src/client/types/app/bsky/notification/putActivitySubscription.ts","./src/client/types/app/bsky/notification/putPreferences.ts","./src/client/types/app/bsky/notification/putPreferencesV2.ts","./src/client/types/app/bsky/notification/registerPush.ts","./src/client/types/app/bsky/notification/unregisterPush.ts","./src/client/types/app/bsky/notification/updateSeen.ts","./src/client/types/app/bsky/richtext/facet.ts","./src/client/types/app/bsky/unspecced/defs.ts","./src/client/types/app/bsky/unspecced/getAgeAssuranceState.ts","./src/client/types/app/bsky/unspecced/getConfig.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.ts","./src/client/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/client/types/app/bsky/unspecced/getPostThreadOtherV2.ts","./src/client/types/app/bsky/unspecced/getPostThreadV2.ts","./src/client/types/app/bsky/unspecced/getSuggestedFeeds.ts","./src/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.ts","./src/client/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/client/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/client/types/app/bsky/unspecced/getTrendingTopics.ts","./src/client/types/app/bsky/unspecced/getTrends.ts","./src/client/types/app/bsky/unspecced/getTrendsSkeleton.ts","./src/client/types/app/bsky/unspecced/initAgeAssurance.ts","./src/client/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/client/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/client/types/app/bsky/video/defs.ts","./src/client/types/app/bsky/video/getJobStatus.ts","./src/client/types/app/bsky/video/getUploadLimits.ts","./src/client/types/app/bsky/video/uploadVideo.ts","./src/client/types/chat/bsky/actor/declaration.ts","./src/client/types/chat/bsky/actor/defs.ts","./src/client/types/chat/bsky/actor/deleteAccount.ts","./src/client/types/chat/bsky/actor/exportAccountData.ts","./src/client/types/chat/bsky/actor/getStatus.ts","./src/client/types/chat/bsky/convo/acceptConvo.ts","./src/client/types/chat/bsky/convo/addReaction.ts","./src/client/types/chat/bsky/convo/defs.ts","./src/client/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/client/types/chat/bsky/convo/getConvo.ts","./src/client/types/chat/bsky/convo/getConvoAvailability.ts","./src/client/types/chat/bsky/convo/getConvoForMembers.ts","./src/client/types/chat/bsky/convo/getConvoMembers.ts","./src/client/types/chat/bsky/convo/getLog.ts","./src/client/types/chat/bsky/convo/getMessages.ts","./src/client/types/chat/bsky/convo/getUnreadCounts.ts","./src/client/types/chat/bsky/convo/leaveConvo.ts","./src/client/types/chat/bsky/convo/listConvoRequests.ts","./src/client/types/chat/bsky/convo/listConvos.ts","./src/client/types/chat/bsky/convo/lockConvo.ts","./src/client/types/chat/bsky/convo/muteConvo.ts","./src/client/types/chat/bsky/convo/removeReaction.ts","./src/client/types/chat/bsky/convo/sendMessage.ts","./src/client/types/chat/bsky/convo/sendMessageBatch.ts","./src/client/types/chat/bsky/convo/unlockConvo.ts","./src/client/types/chat/bsky/convo/unmuteConvo.ts","./src/client/types/chat/bsky/convo/updateAllRead.ts","./src/client/types/chat/bsky/convo/updateRead.ts","./src/client/types/chat/bsky/embed/joinLink.ts","./src/client/types/chat/bsky/group/addMembers.ts","./src/client/types/chat/bsky/group/approveJoinRequest.ts","./src/client/types/chat/bsky/group/createGroup.ts","./src/client/types/chat/bsky/group/createJoinLink.ts","./src/client/types/chat/bsky/group/defs.ts","./src/client/types/chat/bsky/group/disableJoinLink.ts","./src/client/types/chat/bsky/group/editGroup.ts","./src/client/types/chat/bsky/group/editJoinLink.ts","./src/client/types/chat/bsky/group/enableJoinLink.ts","./src/client/types/chat/bsky/group/getJoinLinkPreviews.ts","./src/client/types/chat/bsky/group/listJoinRequests.ts","./src/client/types/chat/bsky/group/listMutualGroups.ts","./src/client/types/chat/bsky/group/rejectJoinRequest.ts","./src/client/types/chat/bsky/group/removeMembers.ts","./src/client/types/chat/bsky/group/requestJoin.ts","./src/client/types/chat/bsky/group/updateJoinRequestsRead.ts","./src/client/types/chat/bsky/group/withdrawJoinRequest.ts","./src/client/types/chat/bsky/moderation/defs.ts","./src/client/types/chat/bsky/moderation/getActorMetadata.ts","./src/client/types/chat/bsky/moderation/getConvo.ts","./src/client/types/chat/bsky/moderation/getConvoMembers.ts","./src/client/types/chat/bsky/moderation/getConvos.ts","./src/client/types/chat/bsky/moderation/getMessageContext.ts","./src/client/types/chat/bsky/moderation/subscribeModEvents.ts","./src/client/types/chat/bsky/moderation/updateActorAccess.ts","./src/client/types/com/atproto/admin/defs.ts","./src/client/types/com/atproto/admin/deleteAccount.ts","./src/client/types/com/atproto/admin/disableAccountInvites.ts","./src/client/types/com/atproto/admin/disableInviteCodes.ts","./src/client/types/com/atproto/admin/enableAccountInvites.ts","./src/client/types/com/atproto/admin/getAccountInfo.ts","./src/client/types/com/atproto/admin/getAccountInfos.ts","./src/client/types/com/atproto/admin/getInviteCodes.ts","./src/client/types/com/atproto/admin/getSubjectStatus.ts","./src/client/types/com/atproto/admin/searchAccounts.ts","./src/client/types/com/atproto/admin/sendEmail.ts","./src/client/types/com/atproto/admin/updateAccountEmail.ts","./src/client/types/com/atproto/admin/updateAccountHandle.ts","./src/client/types/com/atproto/admin/updateAccountPassword.ts","./src/client/types/com/atproto/admin/updateAccountSigningKey.ts","./src/client/types/com/atproto/admin/updateSubjectStatus.ts","./src/client/types/com/atproto/identity/defs.ts","./src/client/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/client/types/com/atproto/identity/refreshIdentity.ts","./src/client/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/client/types/com/atproto/identity/resolveDid.ts","./src/client/types/com/atproto/identity/resolveHandle.ts","./src/client/types/com/atproto/identity/resolveIdentity.ts","./src/client/types/com/atproto/identity/signPlcOperation.ts","./src/client/types/com/atproto/identity/submitPlcOperation.ts","./src/client/types/com/atproto/identity/updateHandle.ts","./src/client/types/com/atproto/label/defs.ts","./src/client/types/com/atproto/label/queryLabels.ts","./src/client/types/com/atproto/label/subscribeLabels.ts","./src/client/types/com/atproto/lexicon/resolveLexicon.ts","./src/client/types/com/atproto/lexicon/schema.ts","./src/client/types/com/atproto/moderation/createReport.ts","./src/client/types/com/atproto/moderation/defs.ts","./src/client/types/com/atproto/repo/applyWrites.ts","./src/client/types/com/atproto/repo/createRecord.ts","./src/client/types/com/atproto/repo/defs.ts","./src/client/types/com/atproto/repo/deleteRecord.ts","./src/client/types/com/atproto/repo/describeRepo.ts","./src/client/types/com/atproto/repo/getRecord.ts","./src/client/types/com/atproto/repo/importRepo.ts","./src/client/types/com/atproto/repo/listMissingBlobs.ts","./src/client/types/com/atproto/repo/listRecords.ts","./src/client/types/com/atproto/repo/putRecord.ts","./src/client/types/com/atproto/repo/strongRef.ts","./src/client/types/com/atproto/repo/uploadBlob.ts","./src/client/types/com/atproto/server/activateAccount.ts","./src/client/types/com/atproto/server/checkAccountStatus.ts","./src/client/types/com/atproto/server/confirmEmail.ts","./src/client/types/com/atproto/server/createAccount.ts","./src/client/types/com/atproto/server/createAppPassword.ts","./src/client/types/com/atproto/server/createInviteCode.ts","./src/client/types/com/atproto/server/createInviteCodes.ts","./src/client/types/com/atproto/server/createSession.ts","./src/client/types/com/atproto/server/deactivateAccount.ts","./src/client/types/com/atproto/server/defs.ts","./src/client/types/com/atproto/server/deleteAccount.ts","./src/client/types/com/atproto/server/deleteSession.ts","./src/client/types/com/atproto/server/describeServer.ts","./src/client/types/com/atproto/server/getAccountInviteCodes.ts","./src/client/types/com/atproto/server/getServiceAuth.ts","./src/client/types/com/atproto/server/getSession.ts","./src/client/types/com/atproto/server/listAppPasswords.ts","./src/client/types/com/atproto/server/refreshSession.ts","./src/client/types/com/atproto/server/requestAccountDelete.ts","./src/client/types/com/atproto/server/requestEmailConfirmation.ts","./src/client/types/com/atproto/server/requestEmailUpdate.ts","./src/client/types/com/atproto/server/requestPasswordReset.ts","./src/client/types/com/atproto/server/reserveSigningKey.ts","./src/client/types/com/atproto/server/resetPassword.ts","./src/client/types/com/atproto/server/revokeAppPassword.ts","./src/client/types/com/atproto/server/updateEmail.ts","./src/client/types/com/atproto/sync/defs.ts","./src/client/types/com/atproto/sync/getBlob.ts","./src/client/types/com/atproto/sync/getBlocks.ts","./src/client/types/com/atproto/sync/getCheckout.ts","./src/client/types/com/atproto/sync/getHead.ts","./src/client/types/com/atproto/sync/getHostStatus.ts","./src/client/types/com/atproto/sync/getLatestCommit.ts","./src/client/types/com/atproto/sync/getRecord.ts","./src/client/types/com/atproto/sync/getRepo.ts","./src/client/types/com/atproto/sync/getRepoStatus.ts","./src/client/types/com/atproto/sync/listBlobs.ts","./src/client/types/com/atproto/sync/listHosts.ts","./src/client/types/com/atproto/sync/listRepos.ts","./src/client/types/com/atproto/sync/listReposByCollection.ts","./src/client/types/com/atproto/sync/notifyOfUpdate.ts","./src/client/types/com/atproto/sync/requestCrawl.ts","./src/client/types/com/atproto/sync/subscribeRepos.ts","./src/client/types/com/atproto/temp/addReservedHandle.ts","./src/client/types/com/atproto/temp/checkHandleAvailability.ts","./src/client/types/com/atproto/temp/checkSignupQueue.ts","./src/client/types/com/atproto/temp/dereferenceScope.ts","./src/client/types/com/atproto/temp/fetchLabels.ts","./src/client/types/com/atproto/temp/requestPhoneVerification.ts","./src/client/types/com/atproto/temp/revokeAccountCredentials.ts","./src/client/types/com/germnetwork/declaration.ts","./src/client/types/tools/ozone/communication/createTemplate.ts","./src/client/types/tools/ozone/communication/defs.ts","./src/client/types/tools/ozone/communication/deleteTemplate.ts","./src/client/types/tools/ozone/communication/listTemplates.ts","./src/client/types/tools/ozone/communication/updateTemplate.ts","./src/client/types/tools/ozone/hosting/getAccountHistory.ts","./src/client/types/tools/ozone/moderation/cancelScheduledActions.ts","./src/client/types/tools/ozone/moderation/defs.ts","./src/client/types/tools/ozone/moderation/emitEvent.ts","./src/client/types/tools/ozone/moderation/getAccountTimeline.ts","./src/client/types/tools/ozone/moderation/getEvent.ts","./src/client/types/tools/ozone/moderation/getRecord.ts","./src/client/types/tools/ozone/moderation/getRecords.ts","./src/client/types/tools/ozone/moderation/getRepo.ts","./src/client/types/tools/ozone/moderation/getReporterStats.ts","./src/client/types/tools/ozone/moderation/getRepos.ts","./src/client/types/tools/ozone/moderation/getSubjects.ts","./src/client/types/tools/ozone/moderation/listScheduledActions.ts","./src/client/types/tools/ozone/moderation/queryEvents.ts","./src/client/types/tools/ozone/moderation/queryStatuses.ts","./src/client/types/tools/ozone/moderation/scheduleAction.ts","./src/client/types/tools/ozone/moderation/searchRepos.ts","./src/client/types/tools/ozone/queue/assignModerator.ts","./src/client/types/tools/ozone/queue/createQueue.ts","./src/client/types/tools/ozone/queue/defs.ts","./src/client/types/tools/ozone/queue/deleteQueue.ts","./src/client/types/tools/ozone/queue/getAssignments.ts","./src/client/types/tools/ozone/queue/listQueues.ts","./src/client/types/tools/ozone/queue/routeReports.ts","./src/client/types/tools/ozone/queue/unassignModerator.ts","./src/client/types/tools/ozone/queue/updateQueue.ts","./src/client/types/tools/ozone/report/assignModerator.ts","./src/client/types/tools/ozone/report/createActivity.ts","./src/client/types/tools/ozone/report/defs.ts","./src/client/types/tools/ozone/report/getAssignments.ts","./src/client/types/tools/ozone/report/getHistoricalStats.ts","./src/client/types/tools/ozone/report/getLatestReport.ts","./src/client/types/tools/ozone/report/getLiveStats.ts","./src/client/types/tools/ozone/report/getReport.ts","./src/client/types/tools/ozone/report/listActivities.ts","./src/client/types/tools/ozone/report/queryReports.ts","./src/client/types/tools/ozone/report/reassignQueue.ts","./src/client/types/tools/ozone/report/refreshStats.ts","./src/client/types/tools/ozone/report/unassignModerator.ts","./src/client/types/tools/ozone/safelink/addRule.ts","./src/client/types/tools/ozone/safelink/defs.ts","./src/client/types/tools/ozone/safelink/queryEvents.ts","./src/client/types/tools/ozone/safelink/queryRules.ts","./src/client/types/tools/ozone/safelink/removeRule.ts","./src/client/types/tools/ozone/safelink/updateRule.ts","./src/client/types/tools/ozone/server/getConfig.ts","./src/client/types/tools/ozone/set/addValues.ts","./src/client/types/tools/ozone/set/defs.ts","./src/client/types/tools/ozone/set/deleteSet.ts","./src/client/types/tools/ozone/set/deleteValues.ts","./src/client/types/tools/ozone/set/getValues.ts","./src/client/types/tools/ozone/set/querySets.ts","./src/client/types/tools/ozone/set/upsertSet.ts","./src/client/types/tools/ozone/setting/defs.ts","./src/client/types/tools/ozone/setting/listOptions.ts","./src/client/types/tools/ozone/setting/removeOptions.ts","./src/client/types/tools/ozone/setting/upsertOption.ts","./src/client/types/tools/ozone/signature/defs.ts","./src/client/types/tools/ozone/signature/findCorrelation.ts","./src/client/types/tools/ozone/signature/findRelatedAccounts.ts","./src/client/types/tools/ozone/signature/searchAccounts.ts","./src/client/types/tools/ozone/team/addMember.ts","./src/client/types/tools/ozone/team/defs.ts","./src/client/types/tools/ozone/team/deleteMember.ts","./src/client/types/tools/ozone/team/listMembers.ts","./src/client/types/tools/ozone/team/updateMember.ts","./src/client/types/tools/ozone/verification/defs.ts","./src/client/types/tools/ozone/verification/grantVerifications.ts","./src/client/types/tools/ozone/verification/listVerifications.ts","./src/client/types/tools/ozone/verification/revokeVerifications.ts","./src/moderation/decision.ts","./src/moderation/index.ts","./src/moderation/mutewords.ts","./src/moderation/types.ts","./src/moderation/ui.ts","./src/moderation/util.ts","./src/moderation/const/labels.ts","./src/moderation/subjects/account.ts","./src/moderation/subjects/feed-generator.ts","./src/moderation/subjects/notification.ts","./src/moderation/subjects/post.ts","./src/moderation/subjects/profile.ts","./src/moderation/subjects/status.ts","./src/moderation/subjects/user-list.ts","./src/rich-text/detection.ts","./src/rich-text/rich-text.ts","./src/rich-text/sanitization.ts","./src/rich-text/unicode.ts","./src/rich-text/util.ts"],"version":"6.0.3"}
1
+ {"version":"7.0.0-dev.20260614.1","root":["./src/age-assurance.test.ts","./src/age-assurance.ts","./src/agent.ts","./src/atp-agent.ts","./src/bsky-agent.ts","./src/const.ts","./src/index.ts","./src/mocker.ts","./src/predicate.ts","./src/session-manager.ts","./src/types.ts","./src/util.ts","./src/client/index.ts","./src/client/lexicons.ts","./src/client/util.ts","./src/client/types/app/bsky/actor/defs.ts","./src/client/types/app/bsky/actor/getPreferences.ts","./src/client/types/app/bsky/actor/getProfile.ts","./src/client/types/app/bsky/actor/getProfiles.ts","./src/client/types/app/bsky/actor/getSuggestions.ts","./src/client/types/app/bsky/actor/profile.ts","./src/client/types/app/bsky/actor/putPreferences.ts","./src/client/types/app/bsky/actor/searchActors.ts","./src/client/types/app/bsky/actor/searchActorsTypeahead.ts","./src/client/types/app/bsky/actor/status.ts","./src/client/types/app/bsky/ageassurance/begin.ts","./src/client/types/app/bsky/ageassurance/defs.ts","./src/client/types/app/bsky/ageassurance/getConfig.ts","./src/client/types/app/bsky/ageassurance/getState.ts","./src/client/types/app/bsky/bookmark/createBookmark.ts","./src/client/types/app/bsky/bookmark/defs.ts","./src/client/types/app/bsky/bookmark/deleteBookmark.ts","./src/client/types/app/bsky/bookmark/getBookmarks.ts","./src/client/types/app/bsky/contact/defs.ts","./src/client/types/app/bsky/contact/dismissMatch.ts","./src/client/types/app/bsky/contact/getMatches.ts","./src/client/types/app/bsky/contact/getSyncStatus.ts","./src/client/types/app/bsky/contact/importContacts.ts","./src/client/types/app/bsky/contact/removeData.ts","./src/client/types/app/bsky/contact/sendNotification.ts","./src/client/types/app/bsky/contact/startPhoneVerification.ts","./src/client/types/app/bsky/contact/verifyPhone.ts","./src/client/types/app/bsky/draft/createDraft.ts","./src/client/types/app/bsky/draft/defs.ts","./src/client/types/app/bsky/draft/deleteDraft.ts","./src/client/types/app/bsky/draft/getDrafts.ts","./src/client/types/app/bsky/draft/updateDraft.ts","./src/client/types/app/bsky/embed/defs.ts","./src/client/types/app/bsky/embed/external.ts","./src/client/types/app/bsky/embed/gallery.ts","./src/client/types/app/bsky/embed/getEmbedExternalView.ts","./src/client/types/app/bsky/embed/images.ts","./src/client/types/app/bsky/embed/record.ts","./src/client/types/app/bsky/embed/recordWithMedia.ts","./src/client/types/app/bsky/embed/video.ts","./src/client/types/app/bsky/feed/defs.ts","./src/client/types/app/bsky/feed/describeFeedGenerator.ts","./src/client/types/app/bsky/feed/generator.ts","./src/client/types/app/bsky/feed/getActorFeeds.ts","./src/client/types/app/bsky/feed/getActorLikes.ts","./src/client/types/app/bsky/feed/getAuthorFeed.ts","./src/client/types/app/bsky/feed/getFeed.ts","./src/client/types/app/bsky/feed/getFeedGenerator.ts","./src/client/types/app/bsky/feed/getFeedGenerators.ts","./src/client/types/app/bsky/feed/getFeedSkeleton.ts","./src/client/types/app/bsky/feed/getLikes.ts","./src/client/types/app/bsky/feed/getListFeed.ts","./src/client/types/app/bsky/feed/getPostThread.ts","./src/client/types/app/bsky/feed/getPosts.ts","./src/client/types/app/bsky/feed/getQuotes.ts","./src/client/types/app/bsky/feed/getRepostedBy.ts","./src/client/types/app/bsky/feed/getSuggestedFeeds.ts","./src/client/types/app/bsky/feed/getTimeline.ts","./src/client/types/app/bsky/feed/like.ts","./src/client/types/app/bsky/feed/post.ts","./src/client/types/app/bsky/feed/postgate.ts","./src/client/types/app/bsky/feed/repost.ts","./src/client/types/app/bsky/feed/searchPosts.ts","./src/client/types/app/bsky/feed/sendInteractions.ts","./src/client/types/app/bsky/feed/threadgate.ts","./src/client/types/app/bsky/graph/block.ts","./src/client/types/app/bsky/graph/defs.ts","./src/client/types/app/bsky/graph/follow.ts","./src/client/types/app/bsky/graph/getActorStarterPacks.ts","./src/client/types/app/bsky/graph/getBlocks.ts","./src/client/types/app/bsky/graph/getFollowers.ts","./src/client/types/app/bsky/graph/getFollows.ts","./src/client/types/app/bsky/graph/getKnownFollowers.ts","./src/client/types/app/bsky/graph/getList.ts","./src/client/types/app/bsky/graph/getListBlocks.ts","./src/client/types/app/bsky/graph/getListMutes.ts","./src/client/types/app/bsky/graph/getLists.ts","./src/client/types/app/bsky/graph/getListsWithMembership.ts","./src/client/types/app/bsky/graph/getMutes.ts","./src/client/types/app/bsky/graph/getRelationships.ts","./src/client/types/app/bsky/graph/getStarterPack.ts","./src/client/types/app/bsky/graph/getStarterPacks.ts","./src/client/types/app/bsky/graph/getStarterPacksWithMembership.ts","./src/client/types/app/bsky/graph/getSuggestedFollowsByActor.ts","./src/client/types/app/bsky/graph/list.ts","./src/client/types/app/bsky/graph/listblock.ts","./src/client/types/app/bsky/graph/listitem.ts","./src/client/types/app/bsky/graph/muteActor.ts","./src/client/types/app/bsky/graph/muteActorList.ts","./src/client/types/app/bsky/graph/muteThread.ts","./src/client/types/app/bsky/graph/searchStarterPacks.ts","./src/client/types/app/bsky/graph/starterpack.ts","./src/client/types/app/bsky/graph/unmuteActor.ts","./src/client/types/app/bsky/graph/unmuteActorList.ts","./src/client/types/app/bsky/graph/unmuteThread.ts","./src/client/types/app/bsky/graph/verification.ts","./src/client/types/app/bsky/labeler/defs.ts","./src/client/types/app/bsky/labeler/getServices.ts","./src/client/types/app/bsky/labeler/service.ts","./src/client/types/app/bsky/notification/declaration.ts","./src/client/types/app/bsky/notification/defs.ts","./src/client/types/app/bsky/notification/getPreferences.ts","./src/client/types/app/bsky/notification/getUnreadCount.ts","./src/client/types/app/bsky/notification/listActivitySubscriptions.ts","./src/client/types/app/bsky/notification/listNotifications.ts","./src/client/types/app/bsky/notification/putActivitySubscription.ts","./src/client/types/app/bsky/notification/putPreferences.ts","./src/client/types/app/bsky/notification/putPreferencesV2.ts","./src/client/types/app/bsky/notification/registerPush.ts","./src/client/types/app/bsky/notification/unregisterPush.ts","./src/client/types/app/bsky/notification/updateSeen.ts","./src/client/types/app/bsky/richtext/facet.ts","./src/client/types/app/bsky/unspecced/defs.ts","./src/client/types/app/bsky/unspecced/getAgeAssuranceState.ts","./src/client/types/app/bsky/unspecced/getConfig.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacks.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedStarterPacksSkeleton.ts","./src/client/types/app/bsky/unspecced/getOnboardingSuggestedUsersSkeleton.ts","./src/client/types/app/bsky/unspecced/getPopularFeedGenerators.ts","./src/client/types/app/bsky/unspecced/getPostThreadOtherV2.ts","./src/client/types/app/bsky/unspecced/getPostThreadV2.ts","./src/client/types/app/bsky/unspecced/getSuggestedFeeds.ts","./src/client/types/app/bsky/unspecced/getSuggestedFeedsSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedOnboardingUsers.ts","./src/client/types/app/bsky/unspecced/getSuggestedStarterPacks.ts","./src/client/types/app/bsky/unspecced/getSuggestedStarterPacksSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsers.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscover.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForDiscoverSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForExplore.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForExploreSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMore.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersForSeeMoreSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts","./src/client/types/app/bsky/unspecced/getSuggestionsSkeleton.ts","./src/client/types/app/bsky/unspecced/getTaggedSuggestions.ts","./src/client/types/app/bsky/unspecced/getTrendingTopics.ts","./src/client/types/app/bsky/unspecced/getTrends.ts","./src/client/types/app/bsky/unspecced/getTrendsSkeleton.ts","./src/client/types/app/bsky/unspecced/initAgeAssurance.ts","./src/client/types/app/bsky/unspecced/searchActorsSkeleton.ts","./src/client/types/app/bsky/unspecced/searchPostsSkeleton.ts","./src/client/types/app/bsky/unspecced/searchStarterPacksSkeleton.ts","./src/client/types/app/bsky/video/defs.ts","./src/client/types/app/bsky/video/getJobStatus.ts","./src/client/types/app/bsky/video/getUploadLimits.ts","./src/client/types/app/bsky/video/uploadVideo.ts","./src/client/types/chat/bsky/actor/declaration.ts","./src/client/types/chat/bsky/actor/defs.ts","./src/client/types/chat/bsky/actor/deleteAccount.ts","./src/client/types/chat/bsky/actor/exportAccountData.ts","./src/client/types/chat/bsky/actor/getStatus.ts","./src/client/types/chat/bsky/convo/acceptConvo.ts","./src/client/types/chat/bsky/convo/addReaction.ts","./src/client/types/chat/bsky/convo/defs.ts","./src/client/types/chat/bsky/convo/deleteMessageForSelf.ts","./src/client/types/chat/bsky/convo/getConvo.ts","./src/client/types/chat/bsky/convo/getConvoAvailability.ts","./src/client/types/chat/bsky/convo/getConvoForMembers.ts","./src/client/types/chat/bsky/convo/getConvoMembers.ts","./src/client/types/chat/bsky/convo/getLog.ts","./src/client/types/chat/bsky/convo/getMessages.ts","./src/client/types/chat/bsky/convo/getUnreadCounts.ts","./src/client/types/chat/bsky/convo/leaveConvo.ts","./src/client/types/chat/bsky/convo/listConvoRequests.ts","./src/client/types/chat/bsky/convo/listConvos.ts","./src/client/types/chat/bsky/convo/lockConvo.ts","./src/client/types/chat/bsky/convo/muteConvo.ts","./src/client/types/chat/bsky/convo/removeReaction.ts","./src/client/types/chat/bsky/convo/sendMessage.ts","./src/client/types/chat/bsky/convo/sendMessageBatch.ts","./src/client/types/chat/bsky/convo/unlockConvo.ts","./src/client/types/chat/bsky/convo/unmuteConvo.ts","./src/client/types/chat/bsky/convo/updateAllRead.ts","./src/client/types/chat/bsky/convo/updateRead.ts","./src/client/types/chat/bsky/embed/joinLink.ts","./src/client/types/chat/bsky/group/addMembers.ts","./src/client/types/chat/bsky/group/approveJoinRequest.ts","./src/client/types/chat/bsky/group/createGroup.ts","./src/client/types/chat/bsky/group/createJoinLink.ts","./src/client/types/chat/bsky/group/defs.ts","./src/client/types/chat/bsky/group/disableJoinLink.ts","./src/client/types/chat/bsky/group/editGroup.ts","./src/client/types/chat/bsky/group/editJoinLink.ts","./src/client/types/chat/bsky/group/enableJoinLink.ts","./src/client/types/chat/bsky/group/getJoinLinkPreviews.ts","./src/client/types/chat/bsky/group/listJoinRequests.ts","./src/client/types/chat/bsky/group/listMutualGroups.ts","./src/client/types/chat/bsky/group/rejectJoinRequest.ts","./src/client/types/chat/bsky/group/removeMembers.ts","./src/client/types/chat/bsky/group/requestJoin.ts","./src/client/types/chat/bsky/group/updateJoinRequestsRead.ts","./src/client/types/chat/bsky/group/withdrawJoinRequest.ts","./src/client/types/chat/bsky/moderation/defs.ts","./src/client/types/chat/bsky/moderation/getActorMetadata.ts","./src/client/types/chat/bsky/moderation/getConvo.ts","./src/client/types/chat/bsky/moderation/getConvoMembers.ts","./src/client/types/chat/bsky/moderation/getConvos.ts","./src/client/types/chat/bsky/moderation/getMessageContext.ts","./src/client/types/chat/bsky/moderation/subscribeModEvents.ts","./src/client/types/chat/bsky/moderation/updateActorAccess.ts","./src/client/types/com/atproto/admin/defs.ts","./src/client/types/com/atproto/admin/deleteAccount.ts","./src/client/types/com/atproto/admin/disableAccountInvites.ts","./src/client/types/com/atproto/admin/disableInviteCodes.ts","./src/client/types/com/atproto/admin/enableAccountInvites.ts","./src/client/types/com/atproto/admin/getAccountInfo.ts","./src/client/types/com/atproto/admin/getAccountInfos.ts","./src/client/types/com/atproto/admin/getInviteCodes.ts","./src/client/types/com/atproto/admin/getSubjectStatus.ts","./src/client/types/com/atproto/admin/searchAccounts.ts","./src/client/types/com/atproto/admin/sendEmail.ts","./src/client/types/com/atproto/admin/updateAccountEmail.ts","./src/client/types/com/atproto/admin/updateAccountHandle.ts","./src/client/types/com/atproto/admin/updateAccountPassword.ts","./src/client/types/com/atproto/admin/updateAccountSigningKey.ts","./src/client/types/com/atproto/admin/updateSubjectStatus.ts","./src/client/types/com/atproto/identity/defs.ts","./src/client/types/com/atproto/identity/getRecommendedDidCredentials.ts","./src/client/types/com/atproto/identity/refreshIdentity.ts","./src/client/types/com/atproto/identity/requestPlcOperationSignature.ts","./src/client/types/com/atproto/identity/resolveDid.ts","./src/client/types/com/atproto/identity/resolveHandle.ts","./src/client/types/com/atproto/identity/resolveIdentity.ts","./src/client/types/com/atproto/identity/signPlcOperation.ts","./src/client/types/com/atproto/identity/submitPlcOperation.ts","./src/client/types/com/atproto/identity/updateHandle.ts","./src/client/types/com/atproto/label/defs.ts","./src/client/types/com/atproto/label/queryLabels.ts","./src/client/types/com/atproto/label/subscribeLabels.ts","./src/client/types/com/atproto/lexicon/resolveLexicon.ts","./src/client/types/com/atproto/lexicon/schema.ts","./src/client/types/com/atproto/moderation/createReport.ts","./src/client/types/com/atproto/moderation/defs.ts","./src/client/types/com/atproto/repo/applyWrites.ts","./src/client/types/com/atproto/repo/createRecord.ts","./src/client/types/com/atproto/repo/defs.ts","./src/client/types/com/atproto/repo/deleteRecord.ts","./src/client/types/com/atproto/repo/describeRepo.ts","./src/client/types/com/atproto/repo/getRecord.ts","./src/client/types/com/atproto/repo/importRepo.ts","./src/client/types/com/atproto/repo/listMissingBlobs.ts","./src/client/types/com/atproto/repo/listRecords.ts","./src/client/types/com/atproto/repo/putRecord.ts","./src/client/types/com/atproto/repo/strongRef.ts","./src/client/types/com/atproto/repo/uploadBlob.ts","./src/client/types/com/atproto/server/activateAccount.ts","./src/client/types/com/atproto/server/checkAccountStatus.ts","./src/client/types/com/atproto/server/confirmEmail.ts","./src/client/types/com/atproto/server/createAccount.ts","./src/client/types/com/atproto/server/createAppPassword.ts","./src/client/types/com/atproto/server/createInviteCode.ts","./src/client/types/com/atproto/server/createInviteCodes.ts","./src/client/types/com/atproto/server/createSession.ts","./src/client/types/com/atproto/server/deactivateAccount.ts","./src/client/types/com/atproto/server/defs.ts","./src/client/types/com/atproto/server/deleteAccount.ts","./src/client/types/com/atproto/server/deleteSession.ts","./src/client/types/com/atproto/server/describeServer.ts","./src/client/types/com/atproto/server/getAccountInviteCodes.ts","./src/client/types/com/atproto/server/getServiceAuth.ts","./src/client/types/com/atproto/server/getSession.ts","./src/client/types/com/atproto/server/listAppPasswords.ts","./src/client/types/com/atproto/server/refreshSession.ts","./src/client/types/com/atproto/server/requestAccountDelete.ts","./src/client/types/com/atproto/server/requestEmailConfirmation.ts","./src/client/types/com/atproto/server/requestEmailUpdate.ts","./src/client/types/com/atproto/server/requestPasswordReset.ts","./src/client/types/com/atproto/server/reserveSigningKey.ts","./src/client/types/com/atproto/server/resetPassword.ts","./src/client/types/com/atproto/server/revokeAppPassword.ts","./src/client/types/com/atproto/server/updateEmail.ts","./src/client/types/com/atproto/sync/defs.ts","./src/client/types/com/atproto/sync/getBlob.ts","./src/client/types/com/atproto/sync/getBlocks.ts","./src/client/types/com/atproto/sync/getCheckout.ts","./src/client/types/com/atproto/sync/getHead.ts","./src/client/types/com/atproto/sync/getHostStatus.ts","./src/client/types/com/atproto/sync/getLatestCommit.ts","./src/client/types/com/atproto/sync/getRecord.ts","./src/client/types/com/atproto/sync/getRepo.ts","./src/client/types/com/atproto/sync/getRepoStatus.ts","./src/client/types/com/atproto/sync/listBlobs.ts","./src/client/types/com/atproto/sync/listHosts.ts","./src/client/types/com/atproto/sync/listRepos.ts","./src/client/types/com/atproto/sync/listReposByCollection.ts","./src/client/types/com/atproto/sync/notifyOfUpdate.ts","./src/client/types/com/atproto/sync/requestCrawl.ts","./src/client/types/com/atproto/sync/subscribeRepos.ts","./src/client/types/com/atproto/temp/addReservedHandle.ts","./src/client/types/com/atproto/temp/checkHandleAvailability.ts","./src/client/types/com/atproto/temp/checkSignupQueue.ts","./src/client/types/com/atproto/temp/dereferenceScope.ts","./src/client/types/com/atproto/temp/fetchLabels.ts","./src/client/types/com/atproto/temp/requestPhoneVerification.ts","./src/client/types/com/atproto/temp/revokeAccountCredentials.ts","./src/client/types/com/germnetwork/declaration.ts","./src/client/types/tools/ozone/communication/createTemplate.ts","./src/client/types/tools/ozone/communication/defs.ts","./src/client/types/tools/ozone/communication/deleteTemplate.ts","./src/client/types/tools/ozone/communication/listTemplates.ts","./src/client/types/tools/ozone/communication/updateTemplate.ts","./src/client/types/tools/ozone/hosting/getAccountHistory.ts","./src/client/types/tools/ozone/moderation/cancelScheduledActions.ts","./src/client/types/tools/ozone/moderation/defs.ts","./src/client/types/tools/ozone/moderation/emitEvent.ts","./src/client/types/tools/ozone/moderation/getAccountTimeline.ts","./src/client/types/tools/ozone/moderation/getEvent.ts","./src/client/types/tools/ozone/moderation/getRecord.ts","./src/client/types/tools/ozone/moderation/getRecords.ts","./src/client/types/tools/ozone/moderation/getRepo.ts","./src/client/types/tools/ozone/moderation/getReporterStats.ts","./src/client/types/tools/ozone/moderation/getRepos.ts","./src/client/types/tools/ozone/moderation/getSubjects.ts","./src/client/types/tools/ozone/moderation/listScheduledActions.ts","./src/client/types/tools/ozone/moderation/queryEvents.ts","./src/client/types/tools/ozone/moderation/queryStatuses.ts","./src/client/types/tools/ozone/moderation/scheduleAction.ts","./src/client/types/tools/ozone/moderation/searchRepos.ts","./src/client/types/tools/ozone/queue/assignModerator.ts","./src/client/types/tools/ozone/queue/createQueue.ts","./src/client/types/tools/ozone/queue/defs.ts","./src/client/types/tools/ozone/queue/deleteQueue.ts","./src/client/types/tools/ozone/queue/getAssignments.ts","./src/client/types/tools/ozone/queue/listQueues.ts","./src/client/types/tools/ozone/queue/routeReports.ts","./src/client/types/tools/ozone/queue/unassignModerator.ts","./src/client/types/tools/ozone/queue/updateQueue.ts","./src/client/types/tools/ozone/report/assignModerator.ts","./src/client/types/tools/ozone/report/createActivity.ts","./src/client/types/tools/ozone/report/defs.ts","./src/client/types/tools/ozone/report/getAssignments.ts","./src/client/types/tools/ozone/report/getHistoricalStats.ts","./src/client/types/tools/ozone/report/getLatestReport.ts","./src/client/types/tools/ozone/report/getLiveStats.ts","./src/client/types/tools/ozone/report/getReport.ts","./src/client/types/tools/ozone/report/listActivities.ts","./src/client/types/tools/ozone/report/queryReports.ts","./src/client/types/tools/ozone/report/reassignQueue.ts","./src/client/types/tools/ozone/report/refreshStats.ts","./src/client/types/tools/ozone/report/unassignModerator.ts","./src/client/types/tools/ozone/safelink/addRule.ts","./src/client/types/tools/ozone/safelink/defs.ts","./src/client/types/tools/ozone/safelink/queryEvents.ts","./src/client/types/tools/ozone/safelink/queryRules.ts","./src/client/types/tools/ozone/safelink/removeRule.ts","./src/client/types/tools/ozone/safelink/updateRule.ts","./src/client/types/tools/ozone/server/getConfig.ts","./src/client/types/tools/ozone/set/addValues.ts","./src/client/types/tools/ozone/set/defs.ts","./src/client/types/tools/ozone/set/deleteSet.ts","./src/client/types/tools/ozone/set/deleteValues.ts","./src/client/types/tools/ozone/set/getValues.ts","./src/client/types/tools/ozone/set/querySets.ts","./src/client/types/tools/ozone/set/upsertSet.ts","./src/client/types/tools/ozone/setting/defs.ts","./src/client/types/tools/ozone/setting/listOptions.ts","./src/client/types/tools/ozone/setting/removeOptions.ts","./src/client/types/tools/ozone/setting/upsertOption.ts","./src/client/types/tools/ozone/signature/defs.ts","./src/client/types/tools/ozone/signature/findCorrelation.ts","./src/client/types/tools/ozone/signature/findRelatedAccounts.ts","./src/client/types/tools/ozone/signature/searchAccounts.ts","./src/client/types/tools/ozone/team/addMember.ts","./src/client/types/tools/ozone/team/defs.ts","./src/client/types/tools/ozone/team/deleteMember.ts","./src/client/types/tools/ozone/team/listMembers.ts","./src/client/types/tools/ozone/team/updateMember.ts","./src/client/types/tools/ozone/verification/defs.ts","./src/client/types/tools/ozone/verification/grantVerifications.ts","./src/client/types/tools/ozone/verification/listVerifications.ts","./src/client/types/tools/ozone/verification/revokeVerifications.ts","./src/moderation/decision.ts","./src/moderation/index.ts","./src/moderation/mutewords.ts","./src/moderation/types.ts","./src/moderation/ui.ts","./src/moderation/util.ts","./src/moderation/const/labels.ts","./src/moderation/subjects/account.ts","./src/moderation/subjects/feed-generator.ts","./src/moderation/subjects/notification.ts","./src/moderation/subjects/post.ts","./src/moderation/subjects/profile.ts","./src/moderation/subjects/status.ts","./src/moderation/subjects/user-list.ts","./src/rich-text/detection.ts","./src/rich-text/rich-text.ts","./src/rich-text/sanitization.ts","./src/rich-text/unicode.ts","./src/rich-text/util.ts"]}