@atproto/pds 0.4.218 → 0.4.220

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 (275) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/account-manager/account-manager.d.ts +17 -0
  3. package/dist/account-manager/account-manager.d.ts.map +1 -1
  4. package/dist/account-manager/account-manager.js +27 -3
  5. package/dist/account-manager/account-manager.js.map +1 -1
  6. package/dist/account-manager/oauth-store.d.ts.map +1 -1
  7. package/dist/account-manager/oauth-store.js +9 -1
  8. package/dist/account-manager/oauth-store.js.map +1 -1
  9. package/dist/config/config.d.ts.map +1 -1
  10. package/dist/config/config.js +7 -3
  11. package/dist/config/config.js.map +1 -1
  12. package/dist/config/env.d.ts +4 -0
  13. package/dist/config/env.d.ts.map +1 -1
  14. package/dist/config/env.js +4 -0
  15. package/dist/config/env.js.map +1 -1
  16. package/dist/lexicons/chat/bsky/actor/declaration.defs.d.ts +14 -0
  17. package/dist/lexicons/chat/bsky/actor/declaration.defs.d.ts.map +1 -1
  18. package/dist/lexicons/chat/bsky/actor/declaration.defs.js +1 -0
  19. package/dist/lexicons/chat/bsky/actor/declaration.defs.js.map +1 -1
  20. package/dist/lexicons/chat/bsky/actor/defs.defs.d.ts +35 -0
  21. package/dist/lexicons/chat/bsky/actor/defs.defs.d.ts.map +1 -1
  22. package/dist/lexicons/chat/bsky/actor/defs.defs.js +17 -1
  23. package/dist/lexicons/chat/bsky/actor/defs.defs.js.map +1 -1
  24. package/dist/lexicons/chat/bsky/authFullChatClient.defs.js +1 -1
  25. package/dist/lexicons/chat/bsky/authFullChatClient.defs.js.map +1 -1
  26. package/dist/lexicons/chat/bsky/convo/acceptConvo.defs.d.ts +2 -1
  27. package/dist/lexicons/chat/bsky/convo/acceptConvo.defs.d.ts.map +1 -1
  28. package/dist/lexicons/chat/bsky/convo/acceptConvo.defs.js +2 -1
  29. package/dist/lexicons/chat/bsky/convo/acceptConvo.defs.js.map +1 -1
  30. package/dist/lexicons/chat/bsky/convo/addReaction.defs.d.ts +1 -1
  31. package/dist/lexicons/chat/bsky/convo/addReaction.defs.d.ts.map +1 -1
  32. package/dist/lexicons/chat/bsky/convo/addReaction.defs.js +7 -1
  33. package/dist/lexicons/chat/bsky/convo/addReaction.defs.js.map +1 -1
  34. package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts +430 -3
  35. package/dist/lexicons/chat/bsky/convo/defs.defs.d.ts.map +1 -1
  36. package/dist/lexicons/chat/bsky/convo/defs.defs.js +234 -2
  37. package/dist/lexicons/chat/bsky/convo/defs.defs.js.map +1 -1
  38. package/dist/lexicons/chat/bsky/convo/deleteMessageForSelf.defs.d.ts +2 -1
  39. package/dist/lexicons/chat/bsky/convo/deleteMessageForSelf.defs.d.ts.map +1 -1
  40. package/dist/lexicons/chat/bsky/convo/deleteMessageForSelf.defs.js +2 -1
  41. package/dist/lexicons/chat/bsky/convo/deleteMessageForSelf.defs.js.map +1 -1
  42. package/dist/lexicons/chat/bsky/convo/getConvo.defs.d.ts +2 -1
  43. package/dist/lexicons/chat/bsky/convo/getConvo.defs.d.ts.map +1 -1
  44. package/dist/lexicons/chat/bsky/convo/getConvo.defs.js +2 -1
  45. package/dist/lexicons/chat/bsky/convo/getConvo.defs.js.map +1 -1
  46. package/dist/lexicons/chat/bsky/convo/getConvoAvailability.defs.d.ts +1 -1
  47. package/dist/lexicons/chat/bsky/convo/getConvoAvailability.defs.d.ts.map +1 -1
  48. package/dist/lexicons/chat/bsky/convo/getConvoAvailability.defs.js +1 -1
  49. package/dist/lexicons/chat/bsky/convo/getConvoAvailability.defs.js.map +1 -1
  50. package/dist/lexicons/chat/bsky/convo/getConvoForMembers.defs.d.ts +2 -1
  51. package/dist/lexicons/chat/bsky/convo/getConvoForMembers.defs.d.ts.map +1 -1
  52. package/dist/lexicons/chat/bsky/convo/getConvoForMembers.defs.js +8 -1
  53. package/dist/lexicons/chat/bsky/convo/getConvoForMembers.defs.js.map +1 -1
  54. package/dist/lexicons/chat/bsky/convo/getLog.defs.d.ts +2 -2
  55. package/dist/lexicons/chat/bsky/convo/getLog.defs.d.ts.map +1 -1
  56. package/dist/lexicons/chat/bsky/convo/getLog.defs.js +17 -0
  57. package/dist/lexicons/chat/bsky/convo/getLog.defs.js.map +1 -1
  58. package/dist/lexicons/chat/bsky/convo/getMessages.defs.d.ts +4 -3
  59. package/dist/lexicons/chat/bsky/convo/getMessages.defs.d.ts.map +1 -1
  60. package/dist/lexicons/chat/bsky/convo/getMessages.defs.js +3 -1
  61. package/dist/lexicons/chat/bsky/convo/getMessages.defs.js.map +1 -1
  62. package/dist/lexicons/chat/bsky/convo/leaveConvo.defs.d.ts +2 -1
  63. package/dist/lexicons/chat/bsky/convo/leaveConvo.defs.d.ts.map +1 -1
  64. package/dist/lexicons/chat/bsky/convo/leaveConvo.defs.js +2 -1
  65. package/dist/lexicons/chat/bsky/convo/leaveConvo.defs.js.map +1 -1
  66. package/dist/lexicons/chat/bsky/convo/listConvoRequests.d.ts +3 -0
  67. package/dist/lexicons/chat/bsky/convo/listConvoRequests.d.ts.map +1 -0
  68. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.d.ts +25 -0
  69. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.d.ts.map +1 -0
  70. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.js +58 -0
  71. package/dist/lexicons/chat/bsky/convo/listConvoRequests.defs.js.map +1 -0
  72. package/dist/lexicons/chat/bsky/convo/listConvoRequests.js +45 -0
  73. package/dist/lexicons/chat/bsky/convo/listConvoRequests.js.map +1 -0
  74. package/dist/lexicons/chat/bsky/convo/listConvos.defs.d.ts +7 -0
  75. package/dist/lexicons/chat/bsky/convo/listConvos.defs.d.ts.map +1 -1
  76. package/dist/lexicons/chat/bsky/convo/listConvos.defs.js +2 -0
  77. package/dist/lexicons/chat/bsky/convo/listConvos.defs.js.map +1 -1
  78. package/dist/lexicons/chat/bsky/convo/lockConvo.d.ts +3 -0
  79. package/dist/lexicons/chat/bsky/convo/lockConvo.d.ts.map +1 -0
  80. package/dist/lexicons/chat/bsky/convo/lockConvo.defs.d.ts +22 -0
  81. package/dist/lexicons/chat/bsky/convo/lockConvo.defs.d.ts.map +1 -0
  82. package/dist/lexicons/chat/bsky/convo/lockConvo.defs.js +50 -0
  83. package/dist/lexicons/chat/bsky/convo/lockConvo.defs.js.map +1 -0
  84. package/dist/lexicons/chat/bsky/convo/lockConvo.js +45 -0
  85. package/dist/lexicons/chat/bsky/convo/lockConvo.js.map +1 -0
  86. package/dist/lexicons/chat/bsky/convo/muteConvo.defs.d.ts +2 -1
  87. package/dist/lexicons/chat/bsky/convo/muteConvo.defs.d.ts.map +1 -1
  88. package/dist/lexicons/chat/bsky/convo/muteConvo.defs.js +2 -1
  89. package/dist/lexicons/chat/bsky/convo/muteConvo.defs.js.map +1 -1
  90. package/dist/lexicons/chat/bsky/convo/removeReaction.defs.d.ts +1 -1
  91. package/dist/lexicons/chat/bsky/convo/removeReaction.defs.d.ts.map +1 -1
  92. package/dist/lexicons/chat/bsky/convo/removeReaction.defs.js +6 -1
  93. package/dist/lexicons/chat/bsky/convo/removeReaction.defs.js.map +1 -1
  94. package/dist/lexicons/chat/bsky/convo/sendMessage.defs.d.ts +2 -1
  95. package/dist/lexicons/chat/bsky/convo/sendMessage.defs.d.ts.map +1 -1
  96. package/dist/lexicons/chat/bsky/convo/sendMessage.defs.js +2 -1
  97. package/dist/lexicons/chat/bsky/convo/sendMessage.defs.js.map +1 -1
  98. package/dist/lexicons/chat/bsky/convo/sendMessageBatch.defs.d.ts +2 -1
  99. package/dist/lexicons/chat/bsky/convo/sendMessageBatch.defs.d.ts.map +1 -1
  100. package/dist/lexicons/chat/bsky/convo/sendMessageBatch.defs.js +2 -1
  101. package/dist/lexicons/chat/bsky/convo/sendMessageBatch.defs.js.map +1 -1
  102. package/dist/lexicons/chat/bsky/convo/unlockConvo.d.ts +3 -0
  103. package/dist/lexicons/chat/bsky/convo/unlockConvo.d.ts.map +1 -0
  104. package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.d.ts +22 -0
  105. package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.d.ts.map +1 -0
  106. package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.js +50 -0
  107. package/dist/lexicons/chat/bsky/convo/unlockConvo.defs.js.map +1 -0
  108. package/dist/lexicons/chat/bsky/convo/unlockConvo.js +45 -0
  109. package/dist/lexicons/chat/bsky/convo/unlockConvo.js.map +1 -0
  110. package/dist/lexicons/chat/bsky/convo/unmuteConvo.defs.d.ts +2 -1
  111. package/dist/lexicons/chat/bsky/convo/unmuteConvo.defs.d.ts.map +1 -1
  112. package/dist/lexicons/chat/bsky/convo/unmuteConvo.defs.js +2 -1
  113. package/dist/lexicons/chat/bsky/convo/unmuteConvo.defs.js.map +1 -1
  114. package/dist/lexicons/chat/bsky/convo/updateAllRead.defs.d.ts +1 -0
  115. package/dist/lexicons/chat/bsky/convo/updateAllRead.defs.d.ts.map +1 -1
  116. package/dist/lexicons/chat/bsky/convo/updateAllRead.defs.js +1 -0
  117. package/dist/lexicons/chat/bsky/convo/updateAllRead.defs.js.map +1 -1
  118. package/dist/lexicons/chat/bsky/convo/updateRead.defs.d.ts +2 -1
  119. package/dist/lexicons/chat/bsky/convo/updateRead.defs.d.ts.map +1 -1
  120. package/dist/lexicons/chat/bsky/convo/updateRead.defs.js +2 -1
  121. package/dist/lexicons/chat/bsky/convo/updateRead.defs.js.map +1 -1
  122. package/dist/lexicons/chat/bsky/convo.d.ts +3 -0
  123. package/dist/lexicons/chat/bsky/convo.d.ts.map +1 -1
  124. package/dist/lexicons/chat/bsky/convo.js +4 -1
  125. package/dist/lexicons/chat/bsky/convo.js.map +1 -1
  126. package/dist/lexicons/chat/bsky/group/addMembers.d.ts +3 -0
  127. package/dist/lexicons/chat/bsky/group/addMembers.d.ts.map +1 -0
  128. package/dist/lexicons/chat/bsky/group/addMembers.defs.d.ts +28 -0
  129. package/dist/lexicons/chat/bsky/group/addMembers.defs.d.ts.map +1 -0
  130. package/dist/lexicons/chat/bsky/group/addMembers.defs.js +63 -0
  131. package/dist/lexicons/chat/bsky/group/addMembers.defs.js.map +1 -0
  132. package/dist/lexicons/chat/bsky/group/addMembers.js +45 -0
  133. package/dist/lexicons/chat/bsky/group/addMembers.js.map +1 -0
  134. package/dist/lexicons/chat/bsky/group/approveJoinRequest.d.ts +3 -0
  135. package/dist/lexicons/chat/bsky/group/approveJoinRequest.d.ts.map +1 -0
  136. package/dist/lexicons/chat/bsky/group/approveJoinRequest.defs.d.ts +28 -0
  137. package/dist/lexicons/chat/bsky/group/approveJoinRequest.defs.d.ts.map +1 -0
  138. package/dist/lexicons/chat/bsky/group/approveJoinRequest.defs.js +50 -0
  139. package/dist/lexicons/chat/bsky/group/approveJoinRequest.defs.js.map +1 -0
  140. package/dist/lexicons/chat/bsky/group/approveJoinRequest.js +45 -0
  141. package/dist/lexicons/chat/bsky/group/approveJoinRequest.js.map +1 -0
  142. package/dist/lexicons/chat/bsky/group/createGroup.d.ts +3 -0
  143. package/dist/lexicons/chat/bsky/group/createGroup.d.ts.map +1 -0
  144. package/dist/lexicons/chat/bsky/group/createGroup.defs.d.ts +36 -0
  145. package/dist/lexicons/chat/bsky/group/createGroup.defs.d.ts.map +1 -0
  146. package/dist/lexicons/chat/bsky/group/createGroup.defs.js +59 -0
  147. package/dist/lexicons/chat/bsky/group/createGroup.defs.js.map +1 -0
  148. package/dist/lexicons/chat/bsky/group/createGroup.js +45 -0
  149. package/dist/lexicons/chat/bsky/group/createGroup.js.map +1 -0
  150. package/dist/lexicons/chat/bsky/group/createJoinLink.d.ts +3 -0
  151. package/dist/lexicons/chat/bsky/group/createJoinLink.d.ts.map +1 -0
  152. package/dist/lexicons/chat/bsky/group/createJoinLink.defs.d.ts +26 -0
  153. package/dist/lexicons/chat/bsky/group/createJoinLink.defs.d.ts.map +1 -0
  154. package/dist/lexicons/chat/bsky/group/createJoinLink.defs.js +54 -0
  155. package/dist/lexicons/chat/bsky/group/createJoinLink.defs.js.map +1 -0
  156. package/dist/lexicons/chat/bsky/group/createJoinLink.js +45 -0
  157. package/dist/lexicons/chat/bsky/group/createJoinLink.js.map +1 -0
  158. package/dist/lexicons/chat/bsky/group/defs.d.ts +3 -0
  159. package/dist/lexicons/chat/bsky/group/defs.d.ts.map +1 -0
  160. package/dist/lexicons/chat/bsky/group/defs.defs.d.ts +47 -0
  161. package/dist/lexicons/chat/bsky/group/defs.defs.d.ts.map +1 -0
  162. package/dist/lexicons/chat/bsky/group/defs.defs.js +69 -0
  163. package/dist/lexicons/chat/bsky/group/defs.defs.js.map +1 -0
  164. package/dist/lexicons/chat/bsky/group/defs.js +45 -0
  165. package/dist/lexicons/chat/bsky/group/defs.js.map +1 -0
  166. package/dist/lexicons/chat/bsky/group/disableJoinLink.d.ts +3 -0
  167. package/dist/lexicons/chat/bsky/group/disableJoinLink.d.ts.map +1 -0
  168. package/dist/lexicons/chat/bsky/group/disableJoinLink.defs.d.ts +22 -0
  169. package/dist/lexicons/chat/bsky/group/disableJoinLink.defs.d.ts.map +1 -0
  170. package/dist/lexicons/chat/bsky/group/disableJoinLink.defs.js +50 -0
  171. package/dist/lexicons/chat/bsky/group/disableJoinLink.defs.js.map +1 -0
  172. package/dist/lexicons/chat/bsky/group/disableJoinLink.js +45 -0
  173. package/dist/lexicons/chat/bsky/group/disableJoinLink.js.map +1 -0
  174. package/dist/lexicons/chat/bsky/group/editGroup.d.ts +3 -0
  175. package/dist/lexicons/chat/bsky/group/editGroup.d.ts.map +1 -0
  176. package/dist/lexicons/chat/bsky/group/editGroup.defs.d.ts +32 -0
  177. package/dist/lexicons/chat/bsky/group/editGroup.defs.d.ts.map +1 -0
  178. package/dist/lexicons/chat/bsky/group/editGroup.defs.js +53 -0
  179. package/dist/lexicons/chat/bsky/group/editGroup.defs.js.map +1 -0
  180. package/dist/lexicons/chat/bsky/group/editGroup.js +45 -0
  181. package/dist/lexicons/chat/bsky/group/editGroup.js.map +1 -0
  182. package/dist/lexicons/chat/bsky/group/editJoinLink.d.ts +3 -0
  183. package/dist/lexicons/chat/bsky/group/editJoinLink.d.ts.map +1 -0
  184. package/dist/lexicons/chat/bsky/group/editJoinLink.defs.d.ts +26 -0
  185. package/dist/lexicons/chat/bsky/group/editJoinLink.defs.d.ts.map +1 -0
  186. package/dist/lexicons/chat/bsky/group/editJoinLink.defs.js +54 -0
  187. package/dist/lexicons/chat/bsky/group/editJoinLink.defs.js.map +1 -0
  188. package/dist/lexicons/chat/bsky/group/editJoinLink.js +45 -0
  189. package/dist/lexicons/chat/bsky/group/editJoinLink.js.map +1 -0
  190. package/dist/lexicons/chat/bsky/group/enableJoinLink.d.ts +3 -0
  191. package/dist/lexicons/chat/bsky/group/enableJoinLink.d.ts.map +1 -0
  192. package/dist/lexicons/chat/bsky/group/enableJoinLink.defs.d.ts +22 -0
  193. package/dist/lexicons/chat/bsky/group/enableJoinLink.defs.d.ts.map +1 -0
  194. package/dist/lexicons/chat/bsky/group/enableJoinLink.defs.js +50 -0
  195. package/dist/lexicons/chat/bsky/group/enableJoinLink.defs.js.map +1 -0
  196. package/dist/lexicons/chat/bsky/group/enableJoinLink.js +45 -0
  197. package/dist/lexicons/chat/bsky/group/enableJoinLink.js.map +1 -0
  198. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.d.ts +3 -0
  199. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.d.ts.map +1 -0
  200. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.defs.d.ts +20 -0
  201. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.defs.d.ts.map +1 -0
  202. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.defs.js +50 -0
  203. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.defs.js.map +1 -0
  204. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.js +45 -0
  205. package/dist/lexicons/chat/bsky/group/getGroupPublicInfo.js.map +1 -0
  206. package/dist/lexicons/chat/bsky/group/listJoinRequests.d.ts +3 -0
  207. package/dist/lexicons/chat/bsky/group/listJoinRequests.d.ts.map +1 -0
  208. package/dist/lexicons/chat/bsky/group/listJoinRequests.defs.d.ts +26 -0
  209. package/dist/lexicons/chat/bsky/group/listJoinRequests.defs.d.ts.map +1 -0
  210. package/dist/lexicons/chat/bsky/group/listJoinRequests.defs.js +55 -0
  211. package/dist/lexicons/chat/bsky/group/listJoinRequests.defs.js.map +1 -0
  212. package/dist/lexicons/chat/bsky/group/listJoinRequests.js +45 -0
  213. package/dist/lexicons/chat/bsky/group/listJoinRequests.js.map +1 -0
  214. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.d.ts +3 -0
  215. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.d.ts.map +1 -0
  216. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.defs.d.ts +23 -0
  217. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.defs.d.ts.map +1 -0
  218. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.defs.js +14 -0
  219. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.defs.js.map +1 -0
  220. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.js +45 -0
  221. package/dist/lexicons/chat/bsky/group/rejectJoinRequest.js.map +1 -0
  222. package/dist/lexicons/chat/bsky/group/removeMembers.d.ts +3 -0
  223. package/dist/lexicons/chat/bsky/group/removeMembers.d.ts.map +1 -0
  224. package/dist/lexicons/chat/bsky/group/removeMembers.defs.d.ts +28 -0
  225. package/dist/lexicons/chat/bsky/group/removeMembers.defs.d.ts.map +1 -0
  226. package/dist/lexicons/chat/bsky/group/removeMembers.defs.js +53 -0
  227. package/dist/lexicons/chat/bsky/group/removeMembers.defs.js.map +1 -0
  228. package/dist/lexicons/chat/bsky/group/removeMembers.js +45 -0
  229. package/dist/lexicons/chat/bsky/group/removeMembers.js.map +1 -0
  230. package/dist/lexicons/chat/bsky/group/requestJoin.d.ts +3 -0
  231. package/dist/lexicons/chat/bsky/group/requestJoin.d.ts.map +1 -0
  232. package/dist/lexicons/chat/bsky/group/requestJoin.defs.d.ts +28 -0
  233. package/dist/lexicons/chat/bsky/group/requestJoin.defs.d.ts.map +1 -0
  234. package/dist/lexicons/chat/bsky/group/requestJoin.defs.js +58 -0
  235. package/dist/lexicons/chat/bsky/group/requestJoin.defs.js.map +1 -0
  236. package/dist/lexicons/chat/bsky/group/requestJoin.js +45 -0
  237. package/dist/lexicons/chat/bsky/group/requestJoin.js.map +1 -0
  238. package/dist/lexicons/chat/bsky/group.d.ts +15 -0
  239. package/dist/lexicons/chat/bsky/group.d.ts.map +1 -0
  240. package/dist/lexicons/chat/bsky/group.js +54 -0
  241. package/dist/lexicons/chat/bsky/group.js.map +1 -0
  242. package/dist/lexicons/chat/bsky/moderation/getMessageContext.defs.d.ts +2 -2
  243. package/dist/lexicons/chat/bsky/moderation/getMessageContext.defs.d.ts.map +1 -1
  244. package/dist/lexicons/chat/bsky/moderation/getMessageContext.defs.js +1 -0
  245. package/dist/lexicons/chat/bsky/moderation/getMessageContext.defs.js.map +1 -1
  246. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.d.ts +3 -0
  247. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.d.ts.map +1 -0
  248. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.d.ts +32 -0
  249. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.d.ts.map +1 -0
  250. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.js +23 -0
  251. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.defs.js.map +1 -0
  252. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.js +45 -0
  253. package/dist/lexicons/chat/bsky/moderation/subscribeModEvents.js.map +1 -0
  254. package/dist/lexicons/chat/bsky/moderation.d.ts +1 -0
  255. package/dist/lexicons/chat/bsky/moderation.d.ts.map +1 -1
  256. package/dist/lexicons/chat/bsky/moderation.js +2 -1
  257. package/dist/lexicons/chat/bsky/moderation.js.map +1 -1
  258. package/dist/lexicons/chat/bsky.d.ts +1 -0
  259. package/dist/lexicons/chat/bsky.d.ts.map +1 -1
  260. package/dist/lexicons/chat/bsky.js +2 -1
  261. package/dist/lexicons/chat/bsky.js.map +1 -1
  262. package/dist/pipethrough.d.ts.map +1 -1
  263. package/dist/pipethrough.js +11 -7
  264. package/dist/pipethrough.js.map +1 -1
  265. package/package.json +15 -15
  266. package/src/account-manager/account-manager.ts +23 -2
  267. package/src/account-manager/oauth-store.ts +10 -2
  268. package/src/config/config.ts +13 -3
  269. package/src/config/env.ts +4 -0
  270. package/src/pipethrough.ts +15 -5
  271. package/tests/_oauth_client_assets_middleware.ts +23 -0
  272. package/tests/_puppeteer.ts +71 -17
  273. package/tests/auth.test.ts +89 -0
  274. package/tests/oauth.test.ts +52 -115
  275. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport path from 'node:path'\nimport { DAY, HOUR, SECOND } from '@atproto/common'\nimport { BrandingInput, HcaptchaConfig } from '@atproto/oauth-provider'\nimport { ensureValidDid } from '@atproto/syntax'\nimport { ServerEnvironment } from './env'\n\n// off-config but still from env:\n// logging: LOG_LEVEL, LOG_SYSTEMS, LOG_ENABLED, LOG_DESTINATION\n\nexport const envToCfg = (env: ServerEnvironment): ServerConfig => {\n const port = env.port ?? 2583\n const hostname = env.hostname ?? 'localhost'\n const publicUrl =\n hostname === 'localhost'\n ? `http://localhost:${port}`\n : `https://${hostname}`\n const did = env.serviceDid ?? `did:web:${hostname}`\n const serviceCfg: ServerConfig['service'] = {\n port,\n hostname,\n publicUrl,\n did,\n version: env.version, // default?\n privacyPolicyUrl: env.privacyPolicyUrl,\n termsOfServiceUrl: env.termsOfServiceUrl,\n contactEmailAddress: env.contactEmailAddress,\n acceptingImports: env.acceptingImports ?? true,\n maxImportSize: env.maxImportSize,\n blobUploadLimit: env.blobUploadLimit ?? 5 * 1024 * 1024, // 5mb\n devMode: env.devMode ?? false,\n }\n\n const dbLoc = (name: string) => {\n return env.dataDirectory ? path.join(env.dataDirectory, name) : name\n }\n\n const disableWalAutoCheckpoint = env.disableWalAutoCheckpoint ?? false\n\n const dbCfg: ServerConfig['db'] = {\n accountDbLoc: env.accountDbLocation ?? dbLoc('account.sqlite'),\n sequencerDbLoc: env.sequencerDbLocation ?? dbLoc('sequencer.sqlite'),\n didCacheDbLoc: env.didCacheDbLocation ?? dbLoc('did_cache.sqlite'),\n disableWalAutoCheckpoint,\n }\n\n const actorStoreCfg: ServerConfig['actorStore'] = {\n directory: env.actorStoreDirectory ?? dbLoc('actors'),\n cacheSize: env.actorStoreCacheSize ?? 100,\n disableWalAutoCheckpoint,\n }\n\n let blobstoreCfg: ServerConfig['blobstore']\n if (env.blobstoreS3Bucket && env.blobstoreDiskLocation) {\n throw new Error('Cannot set both S3 and disk blobstore env vars')\n }\n if (env.blobstoreS3Bucket) {\n blobstoreCfg = {\n provider: 's3',\n bucket: env.blobstoreS3Bucket,\n uploadTimeoutMs: env.blobstoreS3UploadTimeoutMs || 20000,\n region: env.blobstoreS3Region,\n endpoint: env.blobstoreS3Endpoint,\n forcePathStyle: env.blobstoreS3ForcePathStyle,\n }\n if (env.blobstoreS3AccessKeyId || env.blobstoreS3SecretAccessKey) {\n if (!env.blobstoreS3AccessKeyId || !env.blobstoreS3SecretAccessKey) {\n throw new Error(\n 'Must specify both S3 access key id and secret access key blobstore env vars',\n )\n }\n blobstoreCfg.credentials = {\n accessKeyId: env.blobstoreS3AccessKeyId,\n secretAccessKey: env.blobstoreS3SecretAccessKey,\n }\n }\n } else if (env.blobstoreDiskLocation) {\n blobstoreCfg = {\n provider: 'disk',\n location: env.blobstoreDiskLocation,\n tempLocation: env.blobstoreDiskTmpLocation,\n }\n } else {\n throw new Error('Must configure either S3 or disk blobstore')\n }\n\n let serviceHandleDomains: string[]\n if (env.serviceHandleDomains && env.serviceHandleDomains.length > 0) {\n serviceHandleDomains = env.serviceHandleDomains\n } else {\n if (hostname === 'localhost') {\n serviceHandleDomains = ['.test']\n } else {\n serviceHandleDomains = [`.${hostname}`]\n }\n }\n const invalidDomain = serviceHandleDomains.find(\n (domain) => domain.length < 1 || !domain.startsWith('.'),\n )\n if (invalidDomain) {\n throw new Error(`Invalid handle domain: ${invalidDomain}`)\n }\n\n const identityCfg: ServerConfig['identity'] = {\n plcUrl: env.didPlcUrl ?? 'https://plc.directory',\n cacheMaxTTL: env.didCacheMaxTTL ?? DAY,\n cacheStaleTTL: env.didCacheStaleTTL ?? HOUR,\n resolverTimeout: env.resolverTimeout ?? 3 * SECOND,\n recoveryDidKey: env.recoveryDidKey ?? null,\n serviceHandleDomains,\n handleBackupNameservers: env.handleBackupNameservers,\n enableDidDocWithSession: !!env.enableDidDocWithSession,\n }\n\n let entrywayCfg: ServerConfig['entryway'] = null\n if (env.entrywayUrl) {\n assert(\n env.entrywayJwtVerifyKeyK256PublicKeyHex &&\n env.entrywayPlcRotationKey &&\n env.entrywayDid,\n 'if entryway url is configured, must include all required entryway configuration',\n )\n entrywayCfg = {\n url: env.entrywayUrl,\n did: env.entrywayDid,\n jwtPublicKeyHex: env.entrywayJwtVerifyKeyK256PublicKeyHex,\n plcRotationKey: env.entrywayPlcRotationKey,\n }\n }\n\n // default to being required if left undefined\n const invitesCfg: ServerConfig['invites'] =\n env.inviteRequired === false\n ? {\n required: false,\n }\n : {\n required: true,\n interval: env.inviteInterval ?? null,\n epoch: env.inviteEpoch ?? 0,\n }\n\n let emailCfg: ServerConfig['email']\n if (!env.emailFromAddress && !env.emailSmtpUrl) {\n emailCfg = null\n } else {\n if (!env.emailFromAddress || !env.emailSmtpUrl) {\n throw new Error(\n 'Partial email config, must set both emailFromAddress and emailSmtpUrl',\n )\n }\n emailCfg = {\n smtpUrl: env.emailSmtpUrl,\n fromAddress: env.emailFromAddress,\n }\n }\n\n let moderationEmailCfg: ServerConfig['moderationEmail']\n if (!env.moderationEmailAddress && !env.moderationEmailSmtpUrl) {\n moderationEmailCfg = null\n } else {\n if (!env.moderationEmailAddress || !env.moderationEmailSmtpUrl) {\n throw new Error(\n 'Partial moderation email config, must set both emailFromAddress and emailSmtpUrl',\n )\n }\n moderationEmailCfg = {\n smtpUrl: env.moderationEmailSmtpUrl,\n fromAddress: env.moderationEmailAddress,\n }\n }\n\n const subscriptionCfg: ServerConfig['subscription'] = {\n maxBuffer: env.maxSubscriptionBuffer ?? 500,\n repoBackfillLimitMs: env.repoBackfillLimitMs ?? DAY,\n }\n\n let bskyAppViewCfg: ServerConfig['bskyAppView'] = null\n if (env.bskyAppViewUrl) {\n assert(\n env.bskyAppViewDid,\n 'if bsky appview service url is configured, must configure its did as well.',\n )\n bskyAppViewCfg = {\n url: env.bskyAppViewUrl,\n did: env.bskyAppViewDid,\n cdnUrlPattern: env.bskyAppViewCdnUrlPattern,\n }\n }\n\n let modServiceCfg: ServerConfig['modService'] = null\n if (env.modServiceUrl) {\n assert(\n env.modServiceDid,\n 'if mod service url is configured, must configure its did as well.',\n )\n modServiceCfg = {\n url: env.modServiceUrl,\n did: env.modServiceDid,\n }\n }\n\n let reportServiceCfg: ServerConfig['reportService'] = null\n if (env.reportServiceUrl) {\n assert(\n env.reportServiceDid,\n 'if report service url is configured, must configure its did as well.',\n )\n reportServiceCfg = {\n url: env.reportServiceUrl,\n did: env.reportServiceDid,\n }\n }\n\n // if there's a mod service, default report service into it\n if (modServiceCfg && !reportServiceCfg) {\n reportServiceCfg = modServiceCfg\n }\n\n const redisCfg: ServerConfig['redis'] = env.redisScratchAddress\n ? {\n address: env.redisScratchAddress,\n password: env.redisScratchPassword,\n }\n : null\n\n const rateLimitsCfg: ServerConfig['rateLimits'] = env.rateLimitsEnabled\n ? {\n enabled: true,\n bypassKey: env.rateLimitBypassKey,\n bypassIps: env.rateLimitBypassIps?.map((ipOrCidr) =>\n ipOrCidr.split('/')[0]?.trim(),\n ),\n }\n : { enabled: false }\n\n const crawlersCfg: ServerConfig['crawlers'] = env.crawlers ?? []\n\n const fetchCfg: ServerConfig['fetch'] = {\n disableSsrfProtection: env.disableSsrfProtection ?? env.devMode ?? false,\n maxResponseSize: env.fetchMaxResponseSize ?? 512 * 1024, // 512kb\n }\n\n const proxyCfg: ServerConfig['proxy'] = {\n disableSsrfProtection: env.disableSsrfProtection ?? env.devMode ?? false,\n allowHTTP2: env.proxyAllowHTTP2 ?? false,\n headersTimeout: env.proxyHeadersTimeout ?? 10e3,\n bodyTimeout: env.proxyBodyTimeout ?? 30e3,\n maxResponseSize: env.proxyMaxResponseSize ?? 10 * 1024 * 1024, // 10mb\n maxRetries:\n env.proxyMaxRetries != null && env.proxyMaxRetries > 0\n ? env.proxyMaxRetries\n : 0,\n preferCompressed: env.proxyPreferCompressed ?? false,\n }\n\n const oauthCfg: ServerConfig['oauth'] = entrywayCfg\n ? {\n issuer: entrywayCfg.url,\n provider: undefined,\n }\n : {\n issuer: serviceCfg.publicUrl,\n provider: {\n hcaptcha:\n env.hcaptchaSiteKey &&\n env.hcaptchaSecretKey &&\n env.hcaptchaTokenSalt\n ? {\n siteKey: env.hcaptchaSiteKey,\n secretKey: env.hcaptchaSecretKey,\n tokenSalt: env.hcaptchaTokenSalt,\n }\n : undefined,\n branding: {\n name: env.serviceName ?? `${hostname} PDS`,\n logo: env.logoUrl,\n colors: {\n light: env.lightColor,\n dark: env.darkColor,\n primary: env.primaryColor,\n primaryContrast: env.primaryColorContrast,\n primaryHue: env.primaryColorHue,\n error: env.errorColor,\n errorContrast: env.errorColorContrast,\n errorHue: env.errorColorHue,\n success: env.successColor,\n successContrast: env.successColorContrast,\n successHue: env.successColorHue,\n warning: env.warningColor,\n warningContrast: env.warningColorContrast,\n warningHue: env.warningColorHue,\n },\n links: [\n {\n title: { en: 'Home', fr: 'Accueil' },\n href: env.homeUrl,\n rel: 'canonical' as const, // Prevents login page from being indexed\n },\n {\n title: { en: 'Terms of Service' },\n href: env.termsOfServiceUrl,\n rel: 'terms-of-service' as const,\n },\n {\n title: { en: 'Privacy Policy' },\n href: env.privacyPolicyUrl,\n rel: 'privacy-policy' as const,\n },\n {\n title: { en: 'Support' },\n href: env.supportUrl,\n rel: 'help' as const,\n },\n ].filter(\n <T extends { href?: string }>(f: T): f is T & { href: string } =>\n f.href != null && f.href !== '',\n ),\n },\n trustedClients: env.trustedOAuthClients,\n },\n }\n\n const lexiconCfg: LexiconResolverConfig = {}\n\n if (env.lexiconDidAuthority != null) {\n ensureValidDid(env.lexiconDidAuthority)\n lexiconCfg.didAuthority = env.lexiconDidAuthority\n }\n\n return {\n service: serviceCfg,\n db: dbCfg,\n actorStore: actorStoreCfg,\n blobstore: blobstoreCfg,\n identity: identityCfg,\n entryway: entrywayCfg,\n invites: invitesCfg,\n email: emailCfg,\n moderationEmail: moderationEmailCfg,\n subscription: subscriptionCfg,\n bskyAppView: bskyAppViewCfg,\n modService: modServiceCfg,\n reportService: reportServiceCfg,\n redis: redisCfg,\n rateLimits: rateLimitsCfg,\n crawlers: crawlersCfg,\n fetch: fetchCfg,\n lexicon: lexiconCfg,\n proxy: proxyCfg,\n oauth: oauthCfg,\n }\n}\n\nexport type ServerConfig = {\n service: ServiceConfig\n db: DatabaseConfig\n actorStore: ActorStoreConfig\n blobstore: S3BlobstoreConfig | DiskBlobstoreConfig\n identity: IdentityConfig\n entryway: EntrywayConfig | null\n invites: InvitesConfig\n email: EmailConfig | null\n moderationEmail: EmailConfig | null\n subscription: SubscriptionConfig\n bskyAppView: BksyAppViewConfig | null\n modService: ModServiceConfig | null\n reportService: ReportServiceConfig | null\n redis: RedisScratchConfig | null\n rateLimits: RateLimitsConfig\n crawlers: string[]\n fetch: FetchConfig\n proxy: ProxyConfig\n oauth: OAuthConfig\n lexicon: LexiconResolverConfig\n}\n\nexport type ServiceConfig = {\n port: number\n hostname: string\n publicUrl: string\n did: string\n version?: string\n privacyPolicyUrl?: string\n termsOfServiceUrl?: string\n acceptingImports: boolean\n maxImportSize?: number\n blobUploadLimit: number\n contactEmailAddress?: string\n devMode: boolean\n}\n\nexport type DatabaseConfig = {\n accountDbLoc: string\n sequencerDbLoc: string\n didCacheDbLoc: string\n disableWalAutoCheckpoint: boolean\n}\n\nexport type ActorStoreConfig = {\n directory: string\n cacheSize: number\n disableWalAutoCheckpoint: boolean\n}\n\nexport type S3BlobstoreConfig = {\n provider: 's3'\n bucket: string\n region?: string\n endpoint?: string\n forcePathStyle?: boolean\n uploadTimeoutMs?: number\n credentials?: {\n accessKeyId: string\n secretAccessKey: string\n }\n}\n\nexport type DiskBlobstoreConfig = {\n provider: 'disk'\n location: string\n tempLocation?: string\n}\n\nexport type IdentityConfig = {\n plcUrl: string\n resolverTimeout: number\n cacheStaleTTL: number\n cacheMaxTTL: number\n recoveryDidKey: string | null\n serviceHandleDomains: string[]\n handleBackupNameservers?: string[]\n enableDidDocWithSession: boolean\n}\n\nexport type EntrywayConfig = {\n url: string\n did: string\n jwtPublicKeyHex: string\n plcRotationKey: string\n}\n\nexport type FetchConfig = {\n disableSsrfProtection: boolean\n maxResponseSize: number\n}\n\nexport type ProxyConfig = {\n disableSsrfProtection: boolean\n allowHTTP2: boolean\n headersTimeout: number\n bodyTimeout: number\n maxResponseSize: number\n maxRetries: number\n\n /**\n * When proxying requests that might get intercepted (for read-after-write) we\n * negotiate the encoding based on the client's preferences. We will however\n * use or own weights in order to be able to better control if the PDS will\n * need to perform content decoding. This settings allows to prefer compressed\n * content over uncompressed one.\n */\n preferCompressed: boolean\n}\n\nexport type OAuthConfig = {\n issuer: string\n provider?: {\n hcaptcha?: HcaptchaConfig\n branding: BrandingInput\n trustedClients?: string[]\n }\n}\n\nexport type LexiconResolverConfig = {\n didAuthority?: `did:${string}:${string}`\n}\n\nexport type InvitesConfig =\n | {\n required: true\n interval: number | null\n epoch: number\n }\n | {\n required: false\n }\n\nexport type EmailConfig = {\n smtpUrl: string\n fromAddress: string\n}\n\nexport type SubscriptionConfig = {\n maxBuffer: number\n repoBackfillLimitMs: number\n}\n\nexport type RedisScratchConfig = {\n address: string\n password?: string\n}\n\nexport type RateLimitsConfig =\n | {\n enabled: true\n bypassKey?: string\n bypassIps?: string[]\n }\n | { enabled: false }\n\nexport type BksyAppViewConfig = {\n url: string\n did: string\n cdnUrlPattern?: string\n}\n\nexport type ModServiceConfig = {\n url: string\n did: string\n}\n\nexport type ReportServiceConfig = {\n url: string\n did: string\n}\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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","sourcesContent":["import assert from 'node:assert'\nimport path from 'node:path'\nimport { DAY, HOUR, SECOND } from '@atproto/common'\nimport { BrandingInput, HcaptchaConfig } from '@atproto/oauth-provider'\nimport { ensureValidDid } from '@atproto/syntax'\nimport { ServerEnvironment } from './env'\n\n// off-config but still from env:\n// logging: LOG_LEVEL, LOG_SYSTEMS, LOG_ENABLED, LOG_DESTINATION\n\nexport const envToCfg = (env: ServerEnvironment): ServerConfig => {\n const port = env.port ?? 2583\n const hostname = env.hostname ?? 'localhost'\n const publicUrl =\n hostname === 'localhost'\n ? `http://localhost:${port}`\n : `https://${hostname}`\n const did = env.serviceDid ?? `did:web:${hostname}`\n const serviceCfg: ServerConfig['service'] = {\n port,\n hostname,\n publicUrl,\n did,\n version: env.version, // default?\n privacyPolicyUrl: env.privacyPolicyUrl,\n termsOfServiceUrl: env.termsOfServiceUrl,\n contactEmailAddress: env.contactEmailAddress,\n acceptingImports: env.acceptingImports ?? true,\n maxImportSize: env.maxImportSize,\n blobUploadLimit: env.blobUploadLimit ?? 5 * 1024 * 1024, // 5mb\n devMode: env.devMode ?? false,\n }\n\n const dbLoc = (name: string) => {\n return env.dataDirectory ? path.join(env.dataDirectory, name) : name\n }\n\n const disableWalAutoCheckpoint = env.disableWalAutoCheckpoint ?? false\n\n const dbCfg: ServerConfig['db'] = {\n accountDbLoc: env.accountDbLocation ?? dbLoc('account.sqlite'),\n sequencerDbLoc: env.sequencerDbLocation ?? dbLoc('sequencer.sqlite'),\n didCacheDbLoc: env.didCacheDbLocation ?? dbLoc('did_cache.sqlite'),\n disableWalAutoCheckpoint,\n }\n\n const actorStoreCfg: ServerConfig['actorStore'] = {\n directory: env.actorStoreDirectory ?? dbLoc('actors'),\n cacheSize: env.actorStoreCacheSize ?? 100,\n disableWalAutoCheckpoint,\n }\n\n let blobstoreCfg: ServerConfig['blobstore']\n if (env.blobstoreS3Bucket && env.blobstoreDiskLocation) {\n throw new Error('Cannot set both S3 and disk blobstore env vars')\n }\n if (env.blobstoreS3Bucket) {\n blobstoreCfg = {\n provider: 's3',\n bucket: env.blobstoreS3Bucket,\n uploadTimeoutMs: env.blobstoreS3UploadTimeoutMs || 20000,\n region: env.blobstoreS3Region,\n endpoint: env.blobstoreS3Endpoint,\n forcePathStyle: env.blobstoreS3ForcePathStyle,\n }\n if (env.blobstoreS3AccessKeyId || env.blobstoreS3SecretAccessKey) {\n if (!env.blobstoreS3AccessKeyId || !env.blobstoreS3SecretAccessKey) {\n throw new Error(\n 'Must specify both S3 access key id and secret access key blobstore env vars',\n )\n }\n blobstoreCfg.credentials = {\n accessKeyId: env.blobstoreS3AccessKeyId,\n secretAccessKey: env.blobstoreS3SecretAccessKey,\n }\n }\n } else if (env.blobstoreDiskLocation) {\n blobstoreCfg = {\n provider: 'disk',\n location: env.blobstoreDiskLocation,\n tempLocation: env.blobstoreDiskTmpLocation,\n }\n } else {\n throw new Error('Must configure either S3 or disk blobstore')\n }\n\n let serviceHandleDomains: string[]\n if (env.serviceHandleDomains && env.serviceHandleDomains.length > 0) {\n serviceHandleDomains = env.serviceHandleDomains\n } else {\n if (hostname === 'localhost') {\n serviceHandleDomains = ['.test']\n } else {\n serviceHandleDomains = [`.${hostname}`]\n }\n }\n const invalidDomain = serviceHandleDomains.find(\n (domain) => domain.length < 1 || !domain.startsWith('.'),\n )\n if (invalidDomain) {\n throw new Error(`Invalid handle domain: ${invalidDomain}`)\n }\n\n const identityCfg: ServerConfig['identity'] = {\n plcUrl: env.didPlcUrl ?? 'https://plc.directory',\n cacheMaxTTL: env.didCacheMaxTTL ?? DAY,\n cacheStaleTTL: env.didCacheStaleTTL ?? HOUR,\n resolverTimeout: env.resolverTimeout ?? 3 * SECOND,\n recoveryDidKey: env.recoveryDidKey ?? null,\n serviceHandleDomains,\n handleBackupNameservers: env.handleBackupNameservers,\n enableDidDocWithSession: !!env.enableDidDocWithSession,\n }\n\n let entrywayCfg: ServerConfig['entryway'] = null\n if (env.entrywayUrl) {\n assert(\n env.entrywayJwtVerifyKeyK256PublicKeyHex &&\n env.entrywayPlcRotationKey &&\n env.entrywayDid,\n 'if entryway url is configured, must include all required entryway configuration',\n )\n entrywayCfg = {\n url: env.entrywayUrl,\n did: env.entrywayDid,\n jwtPublicKeyHex: env.entrywayJwtVerifyKeyK256PublicKeyHex,\n plcRotationKey: env.entrywayPlcRotationKey,\n }\n }\n\n // default to being required if left undefined\n const invitesCfg: ServerConfig['invites'] =\n env.inviteRequired === false\n ? {\n required: false,\n }\n : {\n required: true,\n interval: env.inviteInterval ?? null,\n epoch: env.inviteEpoch ?? 0,\n }\n\n let emailCfg: ServerConfig['email']\n if (!env.emailFromAddress && !env.emailSmtpUrl) {\n emailCfg = null\n } else {\n if (!env.emailFromAddress || !env.emailSmtpUrl) {\n throw new Error(\n 'Partial email config, must set both emailFromAddress and emailSmtpUrl',\n )\n }\n emailCfg = {\n smtpUrl: env.emailSmtpUrl,\n fromAddress: env.emailFromAddress,\n }\n }\n\n let moderationEmailCfg: ServerConfig['moderationEmail']\n if (!env.moderationEmailAddress && !env.moderationEmailSmtpUrl) {\n moderationEmailCfg = null\n } else {\n if (!env.moderationEmailAddress || !env.moderationEmailSmtpUrl) {\n throw new Error(\n 'Partial moderation email config, must set both emailFromAddress and emailSmtpUrl',\n )\n }\n moderationEmailCfg = {\n smtpUrl: env.moderationEmailSmtpUrl,\n fromAddress: env.moderationEmailAddress,\n }\n }\n\n const subscriptionCfg: ServerConfig['subscription'] = {\n maxBuffer: env.maxSubscriptionBuffer ?? 500,\n repoBackfillLimitMs: env.repoBackfillLimitMs ?? DAY,\n }\n\n let bskyAppViewCfg: ServerConfig['bskyAppView'] = null\n if (env.bskyAppViewUrl) {\n assert(\n env.bskyAppViewDid,\n 'if bsky appview service url is configured, must configure its did as well.',\n )\n bskyAppViewCfg = {\n url: env.bskyAppViewUrl,\n did: env.bskyAppViewDid,\n cdnUrlPattern: env.bskyAppViewCdnUrlPattern,\n }\n }\n\n let modServiceCfg: ServerConfig['modService'] = null\n if (env.modServiceUrl) {\n assert(\n env.modServiceDid,\n 'if mod service url is configured, must configure its did as well.',\n )\n modServiceCfg = {\n url: env.modServiceUrl,\n did: env.modServiceDid,\n }\n }\n\n let reportServiceCfg: ServerConfig['reportService'] = null\n if (env.reportServiceUrl) {\n assert(\n env.reportServiceDid,\n 'if report service url is configured, must configure its did as well.',\n )\n reportServiceCfg = {\n url: env.reportServiceUrl,\n did: env.reportServiceDid,\n }\n }\n\n // if there's a mod service, default report service into it\n if (modServiceCfg && !reportServiceCfg) {\n reportServiceCfg = modServiceCfg\n }\n\n const redisCfg: ServerConfig['redis'] = env.redisScratchAddress\n ? {\n address: env.redisScratchAddress,\n password: env.redisScratchPassword,\n }\n : null\n\n const rateLimitsCfg: ServerConfig['rateLimits'] = env.rateLimitsEnabled\n ? {\n enabled: true,\n bypassKey: env.rateLimitBypassKey,\n bypassIps: env.rateLimitBypassIps?.map((ipOrCidr) =>\n ipOrCidr.split('/')[0]?.trim(),\n ),\n }\n : { enabled: false }\n\n const crawlersCfg: ServerConfig['crawlers'] = env.crawlers ?? []\n\n const fetchCfg: ServerConfig['fetch'] = {\n disableSsrfProtection: env.disableSsrfProtection ?? env.devMode ?? false,\n maxResponseSize: env.fetchMaxResponseSize ?? 512 * 1024, // 512kb\n }\n\n const proxyCfg: ServerConfig['proxy'] = {\n disableSsrfProtection: env.disableSsrfProtection ?? env.devMode ?? false,\n allowHTTP2: env.proxyAllowHTTP2 ?? false,\n headersTimeout: env.proxyHeadersTimeout ?? 10e3,\n bodyTimeout: env.proxyBodyTimeout ?? 30e3,\n maxResponseSize: env.proxyMaxResponseSize ?? 10 * 1024 * 1024, // 10mb\n maxRetries:\n env.proxyMaxRetries != null && env.proxyMaxRetries > 0\n ? env.proxyMaxRetries\n : 0,\n preferCompressed: env.proxyPreferCompressed ?? false,\n }\n\n const oauthCfg: ServerConfig['oauth'] = entrywayCfg\n ? {\n issuer: entrywayCfg.url,\n provider: undefined,\n }\n : {\n issuer: serviceCfg.publicUrl,\n provider: {\n hcaptcha:\n env.hcaptchaSiteKey &&\n env.hcaptchaSecretKey &&\n env.hcaptchaTokenSalt\n ? {\n siteKey: env.hcaptchaSiteKey,\n secretKey: env.hcaptchaSecretKey,\n tokenSalt: env.hcaptchaTokenSalt,\n }\n : undefined,\n branding: {\n name: env.serviceName ?? `${hostname} PDS`,\n logo: env.logoUrl,\n colors: {\n light: env.lightColor,\n dark: env.darkColor,\n\n contrastSaturation: env.contrastSaturation,\n\n primary: env.primaryColor,\n primaryContrast: env.primaryColorContrast,\n primaryHue: env.primaryColorHue,\n\n error: env.errorColor,\n errorContrast: env.errorColorContrast,\n errorHue: env.errorColorHue,\n\n warning: env.warningColor,\n warningContrast: env.warningColorContrast,\n warningHue: env.warningColorHue,\n\n info: env.infoColor,\n infoContrast: env.infoColorContrast,\n infoHue: env.infoColorHue,\n\n success: env.successColor,\n successContrast: env.successColorContrast,\n successHue: env.successColorHue,\n },\n links: [\n {\n title: { en: 'Home', fr: 'Accueil' },\n href: env.homeUrl,\n rel: 'canonical' as const, // Prevents login page from being indexed\n },\n {\n title: { en: 'Terms of Service' },\n href: env.termsOfServiceUrl,\n rel: 'terms-of-service' as const,\n },\n {\n title: { en: 'Privacy Policy' },\n href: env.privacyPolicyUrl,\n rel: 'privacy-policy' as const,\n },\n {\n title: { en: 'Support' },\n href: env.supportUrl,\n rel: 'help' as const,\n },\n ].filter(\n <T extends { href?: string }>(f: T): f is T & { href: string } =>\n f.href != null && f.href !== '',\n ),\n },\n trustedClients: env.trustedOAuthClients,\n },\n }\n\n const lexiconCfg: LexiconResolverConfig = {}\n\n if (env.lexiconDidAuthority != null) {\n ensureValidDid(env.lexiconDidAuthority)\n lexiconCfg.didAuthority = env.lexiconDidAuthority\n }\n\n return {\n service: serviceCfg,\n db: dbCfg,\n actorStore: actorStoreCfg,\n blobstore: blobstoreCfg,\n identity: identityCfg,\n entryway: entrywayCfg,\n invites: invitesCfg,\n email: emailCfg,\n moderationEmail: moderationEmailCfg,\n subscription: subscriptionCfg,\n bskyAppView: bskyAppViewCfg,\n modService: modServiceCfg,\n reportService: reportServiceCfg,\n redis: redisCfg,\n rateLimits: rateLimitsCfg,\n crawlers: crawlersCfg,\n fetch: fetchCfg,\n lexicon: lexiconCfg,\n proxy: proxyCfg,\n oauth: oauthCfg,\n }\n}\n\nexport type ServerConfig = {\n service: ServiceConfig\n db: DatabaseConfig\n actorStore: ActorStoreConfig\n blobstore: S3BlobstoreConfig | DiskBlobstoreConfig\n identity: IdentityConfig\n entryway: EntrywayConfig | null\n invites: InvitesConfig\n email: EmailConfig | null\n moderationEmail: EmailConfig | null\n subscription: SubscriptionConfig\n bskyAppView: BksyAppViewConfig | null\n modService: ModServiceConfig | null\n reportService: ReportServiceConfig | null\n redis: RedisScratchConfig | null\n rateLimits: RateLimitsConfig\n crawlers: string[]\n fetch: FetchConfig\n proxy: ProxyConfig\n oauth: OAuthConfig\n lexicon: LexiconResolverConfig\n}\n\nexport type ServiceConfig = {\n port: number\n hostname: string\n publicUrl: string\n did: string\n version?: string\n privacyPolicyUrl?: string\n termsOfServiceUrl?: string\n acceptingImports: boolean\n maxImportSize?: number\n blobUploadLimit: number\n contactEmailAddress?: string\n devMode: boolean\n}\n\nexport type DatabaseConfig = {\n accountDbLoc: string\n sequencerDbLoc: string\n didCacheDbLoc: string\n disableWalAutoCheckpoint: boolean\n}\n\nexport type ActorStoreConfig = {\n directory: string\n cacheSize: number\n disableWalAutoCheckpoint: boolean\n}\n\nexport type S3BlobstoreConfig = {\n provider: 's3'\n bucket: string\n region?: string\n endpoint?: string\n forcePathStyle?: boolean\n uploadTimeoutMs?: number\n credentials?: {\n accessKeyId: string\n secretAccessKey: string\n }\n}\n\nexport type DiskBlobstoreConfig = {\n provider: 'disk'\n location: string\n tempLocation?: string\n}\n\nexport type IdentityConfig = {\n plcUrl: string\n resolverTimeout: number\n cacheStaleTTL: number\n cacheMaxTTL: number\n recoveryDidKey: string | null\n serviceHandleDomains: string[]\n handleBackupNameservers?: string[]\n enableDidDocWithSession: boolean\n}\n\nexport type EntrywayConfig = {\n url: string\n did: string\n jwtPublicKeyHex: string\n plcRotationKey: string\n}\n\nexport type FetchConfig = {\n disableSsrfProtection: boolean\n maxResponseSize: number\n}\n\nexport type ProxyConfig = {\n disableSsrfProtection: boolean\n allowHTTP2: boolean\n headersTimeout: number\n bodyTimeout: number\n maxResponseSize: number\n maxRetries: number\n\n /**\n * When proxying requests that might get intercepted (for read-after-write) we\n * negotiate the encoding based on the client's preferences. We will however\n * use or own weights in order to be able to better control if the PDS will\n * need to perform content decoding. This settings allows to prefer compressed\n * content over uncompressed one.\n */\n preferCompressed: boolean\n}\n\nexport type OAuthConfig = {\n issuer: string\n provider?: {\n hcaptcha?: HcaptchaConfig\n branding: BrandingInput\n trustedClients?: string[]\n }\n}\n\nexport type LexiconResolverConfig = {\n didAuthority?: `did:${string}:${string}`\n}\n\nexport type InvitesConfig =\n | {\n required: true\n interval: number | null\n epoch: number\n }\n | {\n required: false\n }\n\nexport type EmailConfig = {\n smtpUrl: string\n fromAddress: string\n}\n\nexport type SubscriptionConfig = {\n maxBuffer: number\n repoBackfillLimitMs: number\n}\n\nexport type RedisScratchConfig = {\n address: string\n password?: string\n}\n\nexport type RateLimitsConfig =\n | {\n enabled: true\n bypassKey?: string\n bypassIps?: string[]\n }\n | { enabled: false }\n\nexport type BksyAppViewConfig = {\n url: string\n did: string\n cdnUrlPattern?: string\n}\n\nexport type ModServiceConfig = {\n url: string\n did: string\n}\n\nexport type ReportServiceConfig = {\n url: string\n did: string\n}\n"]}
@@ -20,6 +20,7 @@ export declare function readEnv(): {
20
20
  trustedOAuthClients: string[];
21
21
  lightColor: string | undefined;
22
22
  darkColor: string | undefined;
23
+ contrastSaturation: number | undefined;
23
24
  primaryColor: string | undefined;
24
25
  primaryColorContrast: string | undefined;
25
26
  primaryColorHue: number | undefined;
@@ -29,6 +30,9 @@ export declare function readEnv(): {
29
30
  warningColor: string | undefined;
30
31
  warningColorContrast: string | undefined;
31
32
  warningColorHue: number | undefined;
33
+ infoColor: string | undefined;
34
+ infoColorContrast: string | undefined;
35
+ infoColorHue: number | undefined;
32
36
  successColor: string | undefined;
33
37
  successColorContrast: string | undefined;
34
38
  successColorHue: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2JtB;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+JtB;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA"}
@@ -29,6 +29,7 @@ function readEnv() {
29
29
  // branding
30
30
  lightColor: (0, common_1.envStr)('PDS_LIGHT_COLOR'),
31
31
  darkColor: (0, common_1.envStr)('PDS_DARK_COLOR'),
32
+ contrastSaturation: (0, common_1.envInt)('PDS_CONTRAST_SATURATION'),
32
33
  primaryColor: (0, common_1.envStr)('PDS_PRIMARY_COLOR'),
33
34
  primaryColorContrast: (0, common_1.envStr)('PDS_PRIMARY_COLOR_CONTRAST'),
34
35
  primaryColorHue: (0, common_1.envInt)('PDS_PRIMARY_COLOR_HUE'),
@@ -38,6 +39,9 @@ function readEnv() {
38
39
  warningColor: (0, common_1.envStr)('PDS_WARNING_COLOR'),
39
40
  warningColorContrast: (0, common_1.envStr)('PDS_WARNING_COLOR_CONTRAST'),
40
41
  warningColorHue: (0, common_1.envInt)('PDS_WARNING_COLOR_HUE'),
42
+ infoColor: (0, common_1.envStr)('PDS_INFO_COLOR'),
43
+ infoColorContrast: (0, common_1.envStr)('PDS_INFO_COLOR_CONTRAST'),
44
+ infoColorHue: (0, common_1.envInt)('PDS_INFO_COLOR_HUE'),
41
45
  successColor: (0, common_1.envStr)('PDS_SUCCESS_COLOR'),
42
46
  successColorContrast: (0, common_1.envStr)('PDS_SUCCESS_COLOR_CONTRAST'),
43
47
  successColorHue: (0, common_1.envInt)('PDS_SUCCESS_COLOR_HUE'),
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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","sourcesContent":["import { envBool, envInt, envList, envStr } from '@atproto/common'\n\nexport function readEnv() {\n return {\n // service\n port: envInt('PDS_PORT'),\n hostname: envStr('PDS_HOSTNAME'),\n serviceDid: envStr('PDS_SERVICE_DID'),\n serviceName: envStr('PDS_SERVICE_NAME'),\n version: envStr('PDS_VERSION'),\n homeUrl: envStr('PDS_HOME_URL'),\n logoUrl: envStr('PDS_LOGO_URL'),\n privacyPolicyUrl: envStr('PDS_PRIVACY_POLICY_URL'),\n supportUrl: envStr('PDS_SUPPORT_URL'),\n termsOfServiceUrl: envStr('PDS_TERMS_OF_SERVICE_URL'),\n contactEmailAddress: envStr('PDS_CONTACT_EMAIL_ADDRESS'),\n acceptingImports: envBool('PDS_ACCEPTING_REPO_IMPORTS'),\n maxImportSize: envInt('PDS_MAX_REPO_IMPORT_SIZE'),\n blobUploadLimit: envInt('PDS_BLOB_UPLOAD_LIMIT'),\n devMode: envBool('PDS_DEV_MODE'),\n\n // hCaptcha\n hcaptchaSiteKey: envStr('PDS_HCAPTCHA_SITE_KEY'),\n hcaptchaSecretKey: envStr('PDS_HCAPTCHA_SECRET_KEY'),\n hcaptchaTokenSalt: envStr('PDS_HCAPTCHA_TOKEN_SALT'),\n\n // OAuth\n trustedOAuthClients: envList('PDS_OAUTH_TRUSTED_CLIENTS'),\n\n // branding\n lightColor: envStr('PDS_LIGHT_COLOR'),\n darkColor: envStr('PDS_DARK_COLOR'),\n primaryColor: envStr('PDS_PRIMARY_COLOR'),\n primaryColorContrast: envStr('PDS_PRIMARY_COLOR_CONTRAST'),\n primaryColorHue: envInt('PDS_PRIMARY_COLOR_HUE'),\n errorColor: envStr('PDS_ERROR_COLOR'),\n errorColorContrast: envStr('PDS_ERROR_COLOR_CONTRAST'),\n errorColorHue: envInt('PDS_ERROR_COLOR_HUE'),\n warningColor: envStr('PDS_WARNING_COLOR'),\n warningColorContrast: envStr('PDS_WARNING_COLOR_CONTRAST'),\n warningColorHue: envInt('PDS_WARNING_COLOR_HUE'),\n successColor: envStr('PDS_SUCCESS_COLOR'),\n successColorContrast: envStr('PDS_SUCCESS_COLOR_CONTRAST'),\n successColorHue: envInt('PDS_SUCCESS_COLOR_HUE'),\n\n // database\n dataDirectory: envStr('PDS_DATA_DIRECTORY'),\n disableWalAutoCheckpoint: envBool('PDS_SQLITE_DISABLE_WAL_AUTO_CHECKPOINT'),\n accountDbLocation: envStr('PDS_ACCOUNT_DB_LOCATION'),\n sequencerDbLocation: envStr('PDS_SEQUENCER_DB_LOCATION'),\n didCacheDbLocation: envStr('PDS_DID_CACHE_DB_LOCATION'),\n\n // actor store\n actorStoreDirectory: envStr('PDS_ACTOR_STORE_DIRECTORY'),\n actorStoreCacheSize: envInt('PDS_ACTOR_STORE_CACHE_SIZE'),\n\n // blobstore: one required\n // s3\n blobstoreS3Bucket: envStr('PDS_BLOBSTORE_S3_BUCKET'),\n blobstoreS3Region: envStr('PDS_BLOBSTORE_S3_REGION'),\n blobstoreS3Endpoint: envStr('PDS_BLOBSTORE_S3_ENDPOINT'),\n blobstoreS3ForcePathStyle: envBool('PDS_BLOBSTORE_S3_FORCE_PATH_STYLE'),\n blobstoreS3AccessKeyId: envStr('PDS_BLOBSTORE_S3_ACCESS_KEY_ID'),\n blobstoreS3SecretAccessKey: envStr('PDS_BLOBSTORE_S3_SECRET_ACCESS_KEY'),\n blobstoreS3UploadTimeoutMs: envInt('PDS_BLOBSTORE_S3_UPLOAD_TIMEOUT_MS'),\n // disk\n blobstoreDiskLocation: envStr('PDS_BLOBSTORE_DISK_LOCATION'),\n blobstoreDiskTmpLocation: envStr('PDS_BLOBSTORE_DISK_TMP_LOCATION'),\n\n // identity\n didPlcUrl: envStr('PDS_DID_PLC_URL'),\n didCacheStaleTTL: envInt('PDS_DID_CACHE_STALE_TTL'),\n didCacheMaxTTL: envInt('PDS_DID_CACHE_MAX_TTL'),\n resolverTimeout: envInt('PDS_ID_RESOLVER_TIMEOUT'),\n recoveryDidKey: envStr('PDS_RECOVERY_DID_KEY'),\n serviceHandleDomains: envList('PDS_SERVICE_HANDLE_DOMAINS'), // public hostname by default\n handleBackupNameservers: envList('PDS_HANDLE_BACKUP_NAMESERVERS'),\n enableDidDocWithSession: envBool('PDS_ENABLE_DID_DOC_WITH_SESSION'),\n\n // entryway\n entrywayUrl: envStr('PDS_ENTRYWAY_URL'),\n entrywayDid: envStr('PDS_ENTRYWAY_DID'),\n entrywayJwtVerifyKeyK256PublicKeyHex: envStr(\n 'PDS_ENTRYWAY_JWT_VERIFY_KEY_K256_PUBLIC_KEY_HEX',\n ),\n entrywayPlcRotationKey: envStr('PDS_ENTRYWAY_PLC_ROTATION_KEY'),\n\n // invites\n inviteRequired: envBool('PDS_INVITE_REQUIRED'),\n inviteInterval: envInt('PDS_INVITE_INTERVAL'),\n inviteEpoch: envInt('PDS_INVITE_EPOCH'),\n\n // email\n emailSmtpUrl: envStr('PDS_EMAIL_SMTP_URL'),\n emailFromAddress: envStr('PDS_EMAIL_FROM_ADDRESS'),\n moderationEmailSmtpUrl: envStr('PDS_MODERATION_EMAIL_SMTP_URL'),\n moderationEmailAddress: envStr('PDS_MODERATION_EMAIL_ADDRESS'),\n\n // subscription\n maxSubscriptionBuffer: envInt('PDS_MAX_SUBSCRIPTION_BUFFER'),\n repoBackfillLimitMs: envInt('PDS_REPO_BACKFILL_LIMIT_MS'),\n\n // appview\n bskyAppViewUrl: envStr('PDS_BSKY_APP_VIEW_URL'),\n bskyAppViewDid: envStr('PDS_BSKY_APP_VIEW_DID'),\n bskyAppViewCdnUrlPattern: envStr('PDS_BSKY_APP_VIEW_CDN_URL_PATTERN'),\n\n // mod service\n modServiceUrl: envStr('PDS_MOD_SERVICE_URL'),\n modServiceDid: envStr('PDS_MOD_SERVICE_DID'),\n\n // report service\n reportServiceUrl: envStr('PDS_REPORT_SERVICE_URL'),\n reportServiceDid: envStr('PDS_REPORT_SERVICE_DID'),\n\n // rate limits\n rateLimitsEnabled: envBool('PDS_RATE_LIMITS_ENABLED'),\n rateLimitBypassKey: envStr('PDS_RATE_LIMIT_BYPASS_KEY'),\n rateLimitBypassIps: envList('PDS_RATE_LIMIT_BYPASS_IPS'),\n\n // redis\n redisScratchAddress: envStr('PDS_REDIS_SCRATCH_ADDRESS'),\n redisScratchPassword: envStr('PDS_REDIS_SCRATCH_PASSWORD'),\n\n // crawlers\n crawlers: envList('PDS_CRAWLERS'),\n\n // secrets\n dpopSecret: envStr('PDS_DPOP_SECRET'),\n jwtSecret: envStr('PDS_JWT_SECRET'),\n adminPassword: envStr('PDS_ADMIN_PASSWORD'),\n entrywayAdminToken: envStr('PDS_ENTRYWAY_ADMIN_TOKEN'),\n\n // kms\n plcRotationKeyKmsKeyId: envStr('PDS_PLC_ROTATION_KEY_KMS_KEY_ID'),\n // memory\n plcRotationKeyK256PrivateKeyHex: envStr(\n 'PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX',\n ),\n\n // user provided url http requests\n disableSsrfProtection: envBool('PDS_DISABLE_SSRF_PROTECTION'),\n\n // fetch\n fetchMaxResponseSize: envInt('PDS_FETCH_MAX_RESPONSE_SIZE'),\n\n // proxy\n proxyAllowHTTP2: envBool('PDS_PROXY_ALLOW_HTTP2'),\n proxyHeadersTimeout: envInt('PDS_PROXY_HEADERS_TIMEOUT'),\n proxyBodyTimeout: envInt('PDS_PROXY_BODY_TIMEOUT'),\n proxyMaxResponseSize: envInt('PDS_PROXY_MAX_RESPONSE_SIZE'),\n proxyMaxRetries: envInt('PDS_PROXY_MAX_RETRIES'),\n proxyPreferCompressed: envBool('PDS_PROXY_PREFER_COMPRESSED'),\n\n // lexicon resolution\n lexiconDidAuthority: envStr('PDS_LEXICON_AUTHORITY_DID'),\n }\n}\n\nexport type ServerEnvironment = Partial<ReturnType<typeof readEnv>>\n"]}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"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","sourcesContent":["import { envBool, envInt, envList, envStr } from '@atproto/common'\n\nexport function readEnv() {\n return {\n // service\n port: envInt('PDS_PORT'),\n hostname: envStr('PDS_HOSTNAME'),\n serviceDid: envStr('PDS_SERVICE_DID'),\n serviceName: envStr('PDS_SERVICE_NAME'),\n version: envStr('PDS_VERSION'),\n homeUrl: envStr('PDS_HOME_URL'),\n logoUrl: envStr('PDS_LOGO_URL'),\n privacyPolicyUrl: envStr('PDS_PRIVACY_POLICY_URL'),\n supportUrl: envStr('PDS_SUPPORT_URL'),\n termsOfServiceUrl: envStr('PDS_TERMS_OF_SERVICE_URL'),\n contactEmailAddress: envStr('PDS_CONTACT_EMAIL_ADDRESS'),\n acceptingImports: envBool('PDS_ACCEPTING_REPO_IMPORTS'),\n maxImportSize: envInt('PDS_MAX_REPO_IMPORT_SIZE'),\n blobUploadLimit: envInt('PDS_BLOB_UPLOAD_LIMIT'),\n devMode: envBool('PDS_DEV_MODE'),\n\n // hCaptcha\n hcaptchaSiteKey: envStr('PDS_HCAPTCHA_SITE_KEY'),\n hcaptchaSecretKey: envStr('PDS_HCAPTCHA_SECRET_KEY'),\n hcaptchaTokenSalt: envStr('PDS_HCAPTCHA_TOKEN_SALT'),\n\n // OAuth\n trustedOAuthClients: envList('PDS_OAUTH_TRUSTED_CLIENTS'),\n\n // branding\n lightColor: envStr('PDS_LIGHT_COLOR'),\n darkColor: envStr('PDS_DARK_COLOR'),\n contrastSaturation: envInt('PDS_CONTRAST_SATURATION'),\n primaryColor: envStr('PDS_PRIMARY_COLOR'),\n primaryColorContrast: envStr('PDS_PRIMARY_COLOR_CONTRAST'),\n primaryColorHue: envInt('PDS_PRIMARY_COLOR_HUE'),\n errorColor: envStr('PDS_ERROR_COLOR'),\n errorColorContrast: envStr('PDS_ERROR_COLOR_CONTRAST'),\n errorColorHue: envInt('PDS_ERROR_COLOR_HUE'),\n warningColor: envStr('PDS_WARNING_COLOR'),\n warningColorContrast: envStr('PDS_WARNING_COLOR_CONTRAST'),\n warningColorHue: envInt('PDS_WARNING_COLOR_HUE'),\n infoColor: envStr('PDS_INFO_COLOR'),\n infoColorContrast: envStr('PDS_INFO_COLOR_CONTRAST'),\n infoColorHue: envInt('PDS_INFO_COLOR_HUE'),\n successColor: envStr('PDS_SUCCESS_COLOR'),\n successColorContrast: envStr('PDS_SUCCESS_COLOR_CONTRAST'),\n successColorHue: envInt('PDS_SUCCESS_COLOR_HUE'),\n\n // database\n dataDirectory: envStr('PDS_DATA_DIRECTORY'),\n disableWalAutoCheckpoint: envBool('PDS_SQLITE_DISABLE_WAL_AUTO_CHECKPOINT'),\n accountDbLocation: envStr('PDS_ACCOUNT_DB_LOCATION'),\n sequencerDbLocation: envStr('PDS_SEQUENCER_DB_LOCATION'),\n didCacheDbLocation: envStr('PDS_DID_CACHE_DB_LOCATION'),\n\n // actor store\n actorStoreDirectory: envStr('PDS_ACTOR_STORE_DIRECTORY'),\n actorStoreCacheSize: envInt('PDS_ACTOR_STORE_CACHE_SIZE'),\n\n // blobstore: one required\n // s3\n blobstoreS3Bucket: envStr('PDS_BLOBSTORE_S3_BUCKET'),\n blobstoreS3Region: envStr('PDS_BLOBSTORE_S3_REGION'),\n blobstoreS3Endpoint: envStr('PDS_BLOBSTORE_S3_ENDPOINT'),\n blobstoreS3ForcePathStyle: envBool('PDS_BLOBSTORE_S3_FORCE_PATH_STYLE'),\n blobstoreS3AccessKeyId: envStr('PDS_BLOBSTORE_S3_ACCESS_KEY_ID'),\n blobstoreS3SecretAccessKey: envStr('PDS_BLOBSTORE_S3_SECRET_ACCESS_KEY'),\n blobstoreS3UploadTimeoutMs: envInt('PDS_BLOBSTORE_S3_UPLOAD_TIMEOUT_MS'),\n // disk\n blobstoreDiskLocation: envStr('PDS_BLOBSTORE_DISK_LOCATION'),\n blobstoreDiskTmpLocation: envStr('PDS_BLOBSTORE_DISK_TMP_LOCATION'),\n\n // identity\n didPlcUrl: envStr('PDS_DID_PLC_URL'),\n didCacheStaleTTL: envInt('PDS_DID_CACHE_STALE_TTL'),\n didCacheMaxTTL: envInt('PDS_DID_CACHE_MAX_TTL'),\n resolverTimeout: envInt('PDS_ID_RESOLVER_TIMEOUT'),\n recoveryDidKey: envStr('PDS_RECOVERY_DID_KEY'),\n serviceHandleDomains: envList('PDS_SERVICE_HANDLE_DOMAINS'), // public hostname by default\n handleBackupNameservers: envList('PDS_HANDLE_BACKUP_NAMESERVERS'),\n enableDidDocWithSession: envBool('PDS_ENABLE_DID_DOC_WITH_SESSION'),\n\n // entryway\n entrywayUrl: envStr('PDS_ENTRYWAY_URL'),\n entrywayDid: envStr('PDS_ENTRYWAY_DID'),\n entrywayJwtVerifyKeyK256PublicKeyHex: envStr(\n 'PDS_ENTRYWAY_JWT_VERIFY_KEY_K256_PUBLIC_KEY_HEX',\n ),\n entrywayPlcRotationKey: envStr('PDS_ENTRYWAY_PLC_ROTATION_KEY'),\n\n // invites\n inviteRequired: envBool('PDS_INVITE_REQUIRED'),\n inviteInterval: envInt('PDS_INVITE_INTERVAL'),\n inviteEpoch: envInt('PDS_INVITE_EPOCH'),\n\n // email\n emailSmtpUrl: envStr('PDS_EMAIL_SMTP_URL'),\n emailFromAddress: envStr('PDS_EMAIL_FROM_ADDRESS'),\n moderationEmailSmtpUrl: envStr('PDS_MODERATION_EMAIL_SMTP_URL'),\n moderationEmailAddress: envStr('PDS_MODERATION_EMAIL_ADDRESS'),\n\n // subscription\n maxSubscriptionBuffer: envInt('PDS_MAX_SUBSCRIPTION_BUFFER'),\n repoBackfillLimitMs: envInt('PDS_REPO_BACKFILL_LIMIT_MS'),\n\n // appview\n bskyAppViewUrl: envStr('PDS_BSKY_APP_VIEW_URL'),\n bskyAppViewDid: envStr('PDS_BSKY_APP_VIEW_DID'),\n bskyAppViewCdnUrlPattern: envStr('PDS_BSKY_APP_VIEW_CDN_URL_PATTERN'),\n\n // mod service\n modServiceUrl: envStr('PDS_MOD_SERVICE_URL'),\n modServiceDid: envStr('PDS_MOD_SERVICE_DID'),\n\n // report service\n reportServiceUrl: envStr('PDS_REPORT_SERVICE_URL'),\n reportServiceDid: envStr('PDS_REPORT_SERVICE_DID'),\n\n // rate limits\n rateLimitsEnabled: envBool('PDS_RATE_LIMITS_ENABLED'),\n rateLimitBypassKey: envStr('PDS_RATE_LIMIT_BYPASS_KEY'),\n rateLimitBypassIps: envList('PDS_RATE_LIMIT_BYPASS_IPS'),\n\n // redis\n redisScratchAddress: envStr('PDS_REDIS_SCRATCH_ADDRESS'),\n redisScratchPassword: envStr('PDS_REDIS_SCRATCH_PASSWORD'),\n\n // crawlers\n crawlers: envList('PDS_CRAWLERS'),\n\n // secrets\n dpopSecret: envStr('PDS_DPOP_SECRET'),\n jwtSecret: envStr('PDS_JWT_SECRET'),\n adminPassword: envStr('PDS_ADMIN_PASSWORD'),\n entrywayAdminToken: envStr('PDS_ENTRYWAY_ADMIN_TOKEN'),\n\n // kms\n plcRotationKeyKmsKeyId: envStr('PDS_PLC_ROTATION_KEY_KMS_KEY_ID'),\n // memory\n plcRotationKeyK256PrivateKeyHex: envStr(\n 'PDS_PLC_ROTATION_KEY_K256_PRIVATE_KEY_HEX',\n ),\n\n // user provided url http requests\n disableSsrfProtection: envBool('PDS_DISABLE_SSRF_PROTECTION'),\n\n // fetch\n fetchMaxResponseSize: envInt('PDS_FETCH_MAX_RESPONSE_SIZE'),\n\n // proxy\n proxyAllowHTTP2: envBool('PDS_PROXY_ALLOW_HTTP2'),\n proxyHeadersTimeout: envInt('PDS_PROXY_HEADERS_TIMEOUT'),\n proxyBodyTimeout: envInt('PDS_PROXY_BODY_TIMEOUT'),\n proxyMaxResponseSize: envInt('PDS_PROXY_MAX_RESPONSE_SIZE'),\n proxyMaxRetries: envInt('PDS_PROXY_MAX_RETRIES'),\n proxyPreferCompressed: envBool('PDS_PROXY_PREFER_COMPRESSED'),\n\n // lexicon resolution\n lexiconDidAuthority: envStr('PDS_LEXICON_AUTHORITY_DID'),\n }\n}\n\nexport type ServerEnvironment = Partial<ReturnType<typeof readEnv>>\n"]}
@@ -5,6 +5,10 @@ export { $nsid };
5
5
  type Main = {
6
6
  $type: 'chat.bsky.actor.declaration';
7
7
  allowIncoming: 'all' | 'none' | 'following' | l.UnknownString;
8
+ /**
9
+ * [NOTE: This is under active development and should be considered unstable while this note is here]. Declaration about group chat invitation preferences for the record owner.
10
+ */
11
+ allowGroupInvites?: 'all' | 'none' | 'following' | l.UnknownString;
8
12
  };
9
13
  export type { Main };
10
14
  /** A declaration of a Bluesky chat account. */
@@ -15,36 +19,46 @@ export declare const $isTypeOf: <TValue extends {
15
19
  }>(value: TValue) => value is l.TypedRecord<"chat.bsky.actor.declaration", TValue>, $build: {
16
20
  (input: Omit<Omit<Main, "$type">, "$type">): {
17
21
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
22
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
18
23
  $type: "chat.bsky.actor.declaration";
19
24
  };
20
25
  (input: Omit<Omit<Main, "$type">, "$type">): {
21
26
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
27
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
22
28
  $type: "chat.bsky.actor.declaration";
23
29
  };
24
30
  }, $type: "chat.bsky.actor.declaration";
25
31
  export declare const $assert: (input: unknown, options?: l.ValidateOptions) => asserts input is {
26
32
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
33
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
27
34
  $type: "chat.bsky.actor.declaration";
28
35
  }, $check: (input: unknown, options?: l.ValidateOptions) => void, $cast: <I>(input: I, options?: l.ValidateOptions) => I & {
29
36
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
37
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
30
38
  $type: "chat.bsky.actor.declaration";
31
39
  }, $ifMatches: <I>(input: I, options?: l.ValidateOptions) => (I & {
32
40
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
41
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
33
42
  $type: "chat.bsky.actor.declaration";
34
43
  }) | undefined, $matches: <I>(input: I, options?: l.ValidateOptions) => input is I & {
35
44
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
45
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
36
46
  $type: "chat.bsky.actor.declaration";
37
47
  }, $parse: (input: unknown, options?: l.ParseOptions) => {
38
48
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
49
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
39
50
  $type: "chat.bsky.actor.declaration";
40
51
  }, $safeParse: (input: unknown, options?: l.ParseOptions) => l.ValidationResult<{
41
52
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
53
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
42
54
  $type: "chat.bsky.actor.declaration";
43
55
  }>, $validate: <I>(input: I, options?: l.ValidateOptions) => I & {
44
56
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
57
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
45
58
  $type: "chat.bsky.actor.declaration";
46
59
  }, $safeValidate: <I>(input: I, options?: l.ValidateOptions) => l.ValidationResult<I & {
47
60
  allowIncoming: "all" | "none" | "following" | l.UnknownString;
61
+ allowGroupInvites?: ("all" | "none" | "following" | l.UnknownString) | undefined;
48
62
  $type: "chat.bsky.actor.declaration";
49
63
  }>;
50
64
  //# sourceMappingURL=declaration.defs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/declaration.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,+CAA+C;AAC/C,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,6BAA6B,CAAA;IACpC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa,CAAA;CAC9D,CAAA;AAED,YAAY,EAAE,IAAI,EAAE,CAAA;AAEpB,+CAA+C;AAC/C,QAAA,MAAM,IAAI,sHAMT,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,SAAS;SAYy8B,CAAC;kFAZj6B,EAC7D,MAAM;;uBAjBS,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;;;uBAA9C,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;;CAiBjB,EAC5C,KAAK,+BAA2B,CAAA;AAClC,eAAO,MAAM,OAAO;mBAnBH,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAmBJ,EACzD,MAAM,uDAAsC,EAC5C,KAAK;mBArBU,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAqBnB,EAC1C,UAAU;mBAtBK,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;cAsBT,EACpD,QAAQ;mBAvBO,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAuBb,EAChD,MAAM;mBAxBS,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAwBjB,EAC5C,UAAU;mBAzBK,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;EAyBT,EACpD,SAAS;mBA1BM,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CA0BX,EAClD,aAAa;mBA3BE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;EA2BH,CAAA"}
1
+ {"version":3,"file":"declaration.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/declaration.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,+CAA+C;AAC/C,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,6BAA6B,CAAA;IACpC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa,CAAA;IAE7D;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa,CAAA;CACnE,CAAA;AAED,YAAY,EAAE,IAAI,EAAE,CAAA;AAEpB,+CAA+C;AAC/C,QAAA,MAAM,IAAI,sHAST,CAAA;AAED,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,eAAO,MAAM,SAAS;SAYylB,CAAC;kFAZjjB,EAC7D,MAAM;;uBAzBS,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;6BAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;;;uBALnD,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;6BAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;;CAoBtB,EAC5C,KAAK,+BAA2B,CAAA;AAClC,eAAO,MAAM,OAAO;mBA3BH,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAsBT,EACzD,MAAM,uDAAsC,EAC5C,KAAK;mBA7BU,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CAwBxB,EAC1C,UAAU;mBA9BK,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;cAyBd,EACpD,QAAQ;mBA/BO,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CA0BlB,EAChD,MAAM;mBAhCS,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CA2BtB,EAC5C,UAAU;mBAjCK,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;EA4Bd,EACpD,SAAS;mBAlCM,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;CA6BhB,EAClD,aAAa;mBAnCE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;yBAKzC,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,aAAa;;EA8BR,CAAA"}
@@ -10,6 +10,7 @@ exports.$nsid = $nsid;
10
10
  /** A declaration of a Bluesky chat account. */
11
11
  const main = lex_1.l.record('literal:self', $nsid, lex_1.l.object({
12
12
  allowIncoming: lex_1.l.string(),
13
+ allowGroupInvites: lex_1.l.optional(lex_1.l.string()),
13
14
  }));
14
15
  exports.main = main;
15
16
  exports.$isTypeOf = main.isTypeOf.bind(main), exports.$build = main.build.bind(main), exports.$type = main.$type;
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/declaration.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAUd,+CAA+C;AAC/C,MAAM,IAAI,GAAG,OAAC,CAAC,MAAM,CACnB,cAAc,EACd,KAAK,EACL,OAAC,CAAC,MAAM,CAAC;IACP,aAAa,EAAE,OAAC,CAAC,MAAM,EAAiD;CACzE,CAAC,CACH,CAAA;AAEQ,oBAAI;AAEA,QAAA,SAAS,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7D,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,KAAK,GAAiB,IAAI,CAAC,KAAK,CAAA;AACrB,QAAA,OAAO,GAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACzD,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,KAAK,GAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,QAAA,UAAU,GAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpD,QAAA,QAAQ,GAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChD,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,UAAU,GAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpD,QAAA,SAAS,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,QAAA,aAAa,GAAiB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.actor.declaration'\n\nexport { $nsid }\n\n/** A declaration of a Bluesky chat account. */\ntype Main = {\n $type: 'chat.bsky.actor.declaration'\n allowIncoming: 'all' | 'none' | 'following' | l.UnknownString\n}\n\nexport type { Main }\n\n/** A declaration of a Bluesky chat account. */\nconst main = l.record<'literal:self', Main>(\n 'literal:self',\n $nsid,\n l.object({\n allowIncoming: l.string<{ knownValues: ['all', 'none', 'following'] }>(),\n }),\n)\n\nexport { main }\n\nexport const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main),\n $build = /*#__PURE__*/ main.build.bind(main),\n $type = /*#__PURE__*/ main.$type\nexport const $assert = /*#__PURE__*/ main.assert.bind(main),\n $check = /*#__PURE__*/ main.check.bind(main),\n $cast = /*#__PURE__*/ main.cast.bind(main),\n $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main),\n $matches = /*#__PURE__*/ main.matches.bind(main),\n $parse = /*#__PURE__*/ main.parse.bind(main),\n $safeParse = /*#__PURE__*/ main.safeParse.bind(main),\n $validate = /*#__PURE__*/ main.validate.bind(main),\n $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)\n"]}
1
+ {"version":3,"file":"declaration.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/declaration.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAed,+CAA+C;AAC/C,MAAM,IAAI,GAAG,OAAC,CAAC,MAAM,CACnB,cAAc,EACd,KAAK,EACL,OAAC,CAAC,MAAM,CAAC;IACP,aAAa,EAAE,OAAC,CAAC,MAAM,EAAiD;IACxE,iBAAiB,EAAE,OAAC,CAAC,QAAQ,CAC3B,OAAC,CAAC,MAAM,EAAiD,CAC1D;CACF,CAAC,CACH,CAAA;AAEQ,oBAAI;AAEA,QAAA,SAAS,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7D,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,KAAK,GAAiB,IAAI,CAAC,KAAK,CAAA;AACrB,QAAA,OAAO,GAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EACzD,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,KAAK,GAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1C,QAAA,UAAU,GAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpD,QAAA,QAAQ,GAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAChD,QAAA,MAAM,GAAiB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,QAAA,UAAU,GAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACpD,QAAA,SAAS,GAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAClD,QAAA,aAAa,GAAiB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.actor.declaration'\n\nexport { $nsid }\n\n/** A declaration of a Bluesky chat account. */\ntype Main = {\n $type: 'chat.bsky.actor.declaration'\n allowIncoming: 'all' | 'none' | 'following' | l.UnknownString\n\n /**\n * [NOTE: This is under active development and should be considered unstable while this note is here]. Declaration about group chat invitation preferences for the record owner.\n */\n allowGroupInvites?: 'all' | 'none' | 'following' | l.UnknownString\n}\n\nexport type { Main }\n\n/** A declaration of a Bluesky chat account. */\nconst main = l.record<'literal:self', Main>(\n 'literal:self',\n $nsid,\n l.object({\n allowIncoming: l.string<{ knownValues: ['all', 'none', 'following'] }>(),\n allowGroupInvites: l.optional(\n l.string<{ knownValues: ['all', 'none', 'following'] }>(),\n ),\n }),\n)\n\nexport { main }\n\nexport const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main),\n $build = /*#__PURE__*/ main.build.bind(main),\n $type = /*#__PURE__*/ main.$type\nexport const $assert = /*#__PURE__*/ main.assert.bind(main),\n $check = /*#__PURE__*/ main.check.bind(main),\n $cast = /*#__PURE__*/ main.cast.bind(main),\n $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main),\n $matches = /*#__PURE__*/ main.matches.bind(main),\n $parse = /*#__PURE__*/ main.parse.bind(main),\n $safeParse = /*#__PURE__*/ main.safeParse.bind(main),\n $validate = /*#__PURE__*/ main.validate.bind(main),\n $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)\n"]}
@@ -3,6 +3,12 @@ import * as ActorDefs from '../../../app/bsky/actor/defs.defs.js';
3
3
  import * as LabelDefs from '../../../com/atproto/label/defs.defs.js';
4
4
  declare const $nsid = "chat.bsky.actor.defs";
5
5
  export { $nsid };
6
+ type MemberRole = 'owner' | 'standard' | l.UnknownString;
7
+ export type { MemberRole };
8
+ declare const memberRole: l.StringSchema<{
9
+ knownValues: ["owner", "standard"];
10
+ }>;
11
+ export { memberRole };
6
12
  type ProfileViewBasic = {
7
13
  $type?: 'chat.bsky.actor.defs#profileViewBasic';
8
14
  did: l.DidString;
@@ -12,13 +18,42 @@ type ProfileViewBasic = {
12
18
  associated?: ActorDefs.ProfileAssociated;
13
19
  viewer?: ActorDefs.ViewerState;
14
20
  labels?: LabelDefs.Label[];
21
+ createdAt?: l.DatetimeString;
15
22
  /**
16
23
  * Set to true when the actor cannot actively participate in conversations
17
24
  */
18
25
  chatDisabled?: boolean;
19
26
  verification?: ActorDefs.VerificationState;
27
+ /**
28
+ * Union field that has data specific to different kinds of convos.
29
+ */
30
+ kind?: l.$Typed<DirectConvoMember> | l.$Typed<GroupConvoMember> | l.Unknown$TypedObject;
20
31
  };
21
32
  export type { ProfileViewBasic };
22
33
  declare const profileViewBasic: l.TypedObjectSchema<"chat.bsky.actor.defs#profileViewBasic", l.Validator<ProfileViewBasic, ProfileViewBasic>>;
23
34
  export { profileViewBasic };
35
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
36
+ type DirectConvoMember = {
37
+ $type?: 'chat.bsky.actor.defs#directConvoMember';
38
+ };
39
+ export type { DirectConvoMember };
40
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
41
+ declare const directConvoMember: l.TypedObjectSchema<"chat.bsky.actor.defs#directConvoMember", l.Validator<DirectConvoMember, DirectConvoMember>>;
42
+ export { directConvoMember };
43
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
44
+ type GroupConvoMember = {
45
+ $type?: 'chat.bsky.actor.defs#groupConvoMember';
46
+ /**
47
+ * Who added this member. Only present if the member was added (instead of joining via link).
48
+ */
49
+ addedBy?: ProfileViewBasic;
50
+ /**
51
+ * The member's role within this conversation. Only present in group conversation member lists.
52
+ */
53
+ role: MemberRole;
54
+ };
55
+ export type { GroupConvoMember };
56
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
57
+ declare const groupConvoMember: l.TypedObjectSchema<"chat.bsky.actor.defs#groupConvoMember", l.Validator<GroupConvoMember, GroupConvoMember>>;
58
+ export { groupConvoMember };
24
59
  //# sourceMappingURL=defs.defs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,SAAS,MAAM,yCAAyC,CAAA;AAEpE,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,GAAG,EAAE,CAAC,CAAC,SAAS,CAAA;IAChB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAA;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC,WAAW,CAAA;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAA;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAA;CAC3C,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,QAAA,MAAM,gBAAgB,+GA0BrB,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"defs.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/defs.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,SAAS,MAAM,yCAAyC,CAAA;AAEpE,QAAA,MAAM,KAAK,yBAAyB,CAAA;AAEpC,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,KAAK,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,aAAa,CAAA;AAExD,YAAY,EAAE,UAAU,EAAE,CAAA;AAE1B,QAAA,MAAM,UAAU;;EAAqD,CAAA;AAErE,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAC/C,GAAG,EAAE,CAAC,CAAC,SAAS,CAAA;IAChB,MAAM,EAAE,CAAC,CAAC,YAAY,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAA;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAA;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC,WAAW,CAAA;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,CAAC,CAAC,cAAc,CAAA;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,YAAY,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAA;IAE1C;;OAEG;IACH,IAAI,CAAC,EACD,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAC3B,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAC1B,CAAC,CAAC,mBAAmB,CAAA;CAC1B,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,QAAA,MAAM,gBAAgB,+GAoCrB,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA;AAE3B,0GAA0G;AAC1G,KAAK,iBAAiB,GAAG;IAAE,KAAK,CAAC,EAAE,wCAAwC,CAAA;CAAE,CAAA;AAE7E,YAAY,EAAE,iBAAiB,EAAE,CAAA;AAEjC,0GAA0G;AAC1G,QAAA,MAAM,iBAAiB,kHAItB,CAAA;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,0GAA0G;AAC1G,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,uCAAuC,CAAA;IAE/C;;OAEG;IACH,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAE1B;;OAEG;IACH,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,0GAA0G;AAC1G,QAAA,MAAM,gBAAgB,+GASrB,CAAA;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
@@ -36,12 +36,14 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.profileViewBasic = exports.$nsid = void 0;
39
+ exports.groupConvoMember = exports.directConvoMember = exports.profileViewBasic = exports.memberRole = exports.$nsid = void 0;
40
40
  const lex_1 = require("@atproto/lex");
41
41
  const ActorDefs = __importStar(require("../../../app/bsky/actor/defs.defs.js"));
42
42
  const LabelDefs = __importStar(require("../../../com/atproto/label/defs.defs.js"));
43
43
  const $nsid = 'chat.bsky.actor.defs';
44
44
  exports.$nsid = $nsid;
45
+ const memberRole = lex_1.l.string();
46
+ exports.memberRole = memberRole;
45
47
  const profileViewBasic = lex_1.l.typedObject($nsid, 'profileViewBasic', lex_1.l.object({
46
48
  did: lex_1.l.string({ format: 'did' }),
47
49
  handle: lex_1.l.string({ format: 'handle' }),
@@ -50,8 +52,22 @@ const profileViewBasic = lex_1.l.typedObject($nsid, 'profileViewBasic', lex_1.l.
50
52
  associated: lex_1.l.optional(lex_1.l.ref((() => ActorDefs.profileAssociated))),
51
53
  viewer: lex_1.l.optional(lex_1.l.ref((() => ActorDefs.viewerState))),
52
54
  labels: lex_1.l.optional(lex_1.l.array(lex_1.l.ref((() => LabelDefs.label)))),
55
+ createdAt: lex_1.l.optional(lex_1.l.string({ format: 'datetime' })),
53
56
  chatDisabled: lex_1.l.optional(lex_1.l.boolean()),
54
57
  verification: lex_1.l.optional(lex_1.l.ref((() => ActorDefs.verificationState))),
58
+ kind: lex_1.l.optional(lex_1.l.typedUnion([
59
+ lex_1.l.typedRef((() => directConvoMember)),
60
+ lex_1.l.typedRef((() => groupConvoMember)),
61
+ ], false)),
55
62
  }));
56
63
  exports.profileViewBasic = profileViewBasic;
64
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
65
+ const directConvoMember = lex_1.l.typedObject($nsid, 'directConvoMember', lex_1.l.object({}));
66
+ exports.directConvoMember = directConvoMember;
67
+ /** [NOTE: This is under active development and should be considered unstable while this note is here]. */
68
+ const groupConvoMember = lex_1.l.typedObject($nsid, 'groupConvoMember', lex_1.l.object({
69
+ addedBy: lex_1.l.optional(lex_1.l.ref((() => profileViewBasic))),
70
+ role: lex_1.l.ref((() => memberRole)),
71
+ }));
72
+ exports.groupConvoMember = groupConvoMember;
57
73
  //# sourceMappingURL=defs.defs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/defs.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAgC;AAChC,gFAAiE;AACjE,mFAAoE;AAEpE,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAE3B,sBAAK;AAqBd,MAAM,gBAAgB,GAAG,OAAC,CAAC,WAAW,CACpC,KAAK,EACL,kBAAkB,EAClB,OAAC,CAAC,MAAM,CAAC;IACP,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,OAAC,CAAC,QAAQ,CACpB,OAAC,CAAC,GAAG,CACH,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAQ,CAC3C,CACF;IACD,MAAM,EAAE,OAAC,CAAC,QAAQ,CAChB,OAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC,CACnE;IACD,MAAM,EAAE,OAAC,CAAC,QAAQ,CAChB,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,GAAG,CAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAQ,CAAC,CAAC,CAChE;IACD,YAAY,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;IACrC,YAAY,EAAE,OAAC,CAAC,QAAQ,CACtB,OAAC,CAAC,GAAG,CACH,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAQ,CAC3C,CACF;CACF,CAAC,CACH,CAAA;AAEQ,4CAAgB","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../../../app/bsky/actor/defs.defs.js'\nimport * as LabelDefs from '../../../com/atproto/label/defs.defs.js'\n\nconst $nsid = 'chat.bsky.actor.defs'\n\nexport { $nsid }\n\ntype ProfileViewBasic = {\n $type?: 'chat.bsky.actor.defs#profileViewBasic'\n did: l.DidString\n handle: l.HandleString\n displayName?: string\n avatar?: l.UriString\n associated?: ActorDefs.ProfileAssociated\n viewer?: ActorDefs.ViewerState\n labels?: LabelDefs.Label[]\n\n /**\n * Set to true when the actor cannot actively participate in conversations\n */\n chatDisabled?: boolean\n verification?: ActorDefs.VerificationState\n}\n\nexport type { ProfileViewBasic }\n\nconst profileViewBasic = l.typedObject<ProfileViewBasic>(\n $nsid,\n 'profileViewBasic',\n l.object({\n did: l.string({ format: 'did' }),\n handle: l.string({ format: 'handle' }),\n displayName: l.optional(l.string({ maxGraphemes: 64, maxLength: 640 })),\n avatar: l.optional(l.string({ format: 'uri' })),\n associated: l.optional(\n l.ref<ActorDefs.ProfileAssociated>(\n (() => ActorDefs.profileAssociated) as any,\n ),\n ),\n viewer: l.optional(\n l.ref<ActorDefs.ViewerState>((() => ActorDefs.viewerState) as any),\n ),\n labels: l.optional(\n l.array(l.ref<LabelDefs.Label>((() => LabelDefs.label) as any)),\n ),\n chatDisabled: l.optional(l.boolean()),\n verification: l.optional(\n l.ref<ActorDefs.VerificationState>(\n (() => ActorDefs.verificationState) as any,\n ),\n ),\n }),\n)\n\nexport { profileViewBasic }\n"]}
1
+ {"version":3,"file":"defs.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/actor/defs.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAgC;AAChC,gFAAiE;AACjE,mFAAoE;AAEpE,MAAM,KAAK,GAAG,sBAAsB,CAAA;AAE3B,sBAAK;AAMd,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,EAA0C,CAAA;AAE5D,gCAAU;AA8BnB,MAAM,gBAAgB,GAAG,OAAC,CAAC,WAAW,CACpC,KAAK,EACL,kBAAkB,EAClB,OAAC,CAAC,MAAM,CAAC;IACP,GAAG,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChC,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,OAAC,CAAC,QAAQ,CACpB,OAAC,CAAC,GAAG,CACH,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAQ,CAC3C,CACF;IACD,MAAM,EAAE,OAAC,CAAC,QAAQ,CAChB,OAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC,CACnE;IACD,MAAM,EAAE,OAAC,CAAC,QAAQ,CAChB,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,GAAG,CAAkB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAQ,CAAC,CAAC,CAChE;IACD,SAAS,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,YAAY,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;IACrC,YAAY,EAAE,OAAC,CAAC,QAAQ,CACtB,OAAC,CAAC,GAAG,CACH,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAQ,CAC3C,CACF;IACD,IAAI,EAAE,OAAC,CAAC,QAAQ,CACd,OAAC,CAAC,UAAU,CACV;QACE,OAAC,CAAC,QAAQ,CAAoB,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAQ,CAAC;QAC/D,OAAC,CAAC,QAAQ,CAAmB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAQ,CAAC;KAC9D,EACD,KAAK,CACN,CACF;CACF,CAAC,CACH,CAAA;AAEQ,4CAAgB;AAOzB,0GAA0G;AAC1G,MAAM,iBAAiB,GAAG,OAAC,CAAC,WAAW,CACrC,KAAK,EACL,mBAAmB,EACnB,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CACb,CAAA;AAEQ,8CAAiB;AAmB1B,0GAA0G;AAC1G,MAAM,gBAAgB,GAAG,OAAC,CAAC,WAAW,CACpC,KAAK,EACL,kBAAkB,EAClB,OAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,OAAC,CAAC,QAAQ,CACjB,OAAC,CAAC,GAAG,CAAmB,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAQ,CAAC,CACzD;IACD,IAAI,EAAE,OAAC,CAAC,GAAG,CAAa,CAAC,GAAG,EAAE,CAAC,UAAU,CAAQ,CAAC;CACnD,CAAC,CACH,CAAA;AAEQ,4CAAgB","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ActorDefs from '../../../app/bsky/actor/defs.defs.js'\nimport * as LabelDefs from '../../../com/atproto/label/defs.defs.js'\n\nconst $nsid = 'chat.bsky.actor.defs'\n\nexport { $nsid }\n\ntype MemberRole = 'owner' | 'standard' | l.UnknownString\n\nexport type { MemberRole }\n\nconst memberRole = l.string<{ knownValues: ['owner', 'standard'] }>()\n\nexport { memberRole }\n\ntype ProfileViewBasic = {\n $type?: 'chat.bsky.actor.defs#profileViewBasic'\n did: l.DidString\n handle: l.HandleString\n displayName?: string\n avatar?: l.UriString\n associated?: ActorDefs.ProfileAssociated\n viewer?: ActorDefs.ViewerState\n labels?: LabelDefs.Label[]\n createdAt?: l.DatetimeString\n\n /**\n * Set to true when the actor cannot actively participate in conversations\n */\n chatDisabled?: boolean\n verification?: ActorDefs.VerificationState\n\n /**\n * Union field that has data specific to different kinds of convos.\n */\n kind?:\n | l.$Typed<DirectConvoMember>\n | l.$Typed<GroupConvoMember>\n | l.Unknown$TypedObject\n}\n\nexport type { ProfileViewBasic }\n\nconst profileViewBasic = l.typedObject<ProfileViewBasic>(\n $nsid,\n 'profileViewBasic',\n l.object({\n did: l.string({ format: 'did' }),\n handle: l.string({ format: 'handle' }),\n displayName: l.optional(l.string({ maxGraphemes: 64, maxLength: 640 })),\n avatar: l.optional(l.string({ format: 'uri' })),\n associated: l.optional(\n l.ref<ActorDefs.ProfileAssociated>(\n (() => ActorDefs.profileAssociated) as any,\n ),\n ),\n viewer: l.optional(\n l.ref<ActorDefs.ViewerState>((() => ActorDefs.viewerState) as any),\n ),\n labels: l.optional(\n l.array(l.ref<LabelDefs.Label>((() => LabelDefs.label) as any)),\n ),\n createdAt: l.optional(l.string({ format: 'datetime' })),\n chatDisabled: l.optional(l.boolean()),\n verification: l.optional(\n l.ref<ActorDefs.VerificationState>(\n (() => ActorDefs.verificationState) as any,\n ),\n ),\n kind: l.optional(\n l.typedUnion(\n [\n l.typedRef<DirectConvoMember>((() => directConvoMember) as any),\n l.typedRef<GroupConvoMember>((() => groupConvoMember) as any),\n ],\n false,\n ),\n ),\n }),\n)\n\nexport { profileViewBasic }\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. */\ntype DirectConvoMember = { $type?: 'chat.bsky.actor.defs#directConvoMember' }\n\nexport type { DirectConvoMember }\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. */\nconst directConvoMember = l.typedObject<DirectConvoMember>(\n $nsid,\n 'directConvoMember',\n l.object({}),\n)\n\nexport { directConvoMember }\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. */\ntype GroupConvoMember = {\n $type?: 'chat.bsky.actor.defs#groupConvoMember'\n\n /**\n * Who added this member. Only present if the member was added (instead of joining via link).\n */\n addedBy?: ProfileViewBasic\n\n /**\n * The member's role within this conversation. Only present in group conversation member lists.\n */\n role: MemberRole\n}\n\nexport type { GroupConvoMember }\n\n/** [NOTE: This is under active development and should be considered unstable while this note is here]. */\nconst groupConvoMember = l.typedObject<GroupConvoMember>(\n $nsid,\n 'groupConvoMember',\n l.object({\n addedBy: l.optional(\n l.ref<ProfileViewBasic>((() => profileViewBasic) as any),\n ),\n role: l.ref<MemberRole>((() => memberRole) as any),\n }),\n)\n\nexport { groupConvoMember }\n"]}
@@ -12,10 +12,10 @@ const main = lex_1.l.permissionSet($nsid, [
12
12
  inheritAud: true,
13
13
  lxm: [
14
14
  'chat.bsky.actor.deleteAccount',
15
- 'chat.bsky.actor.exportAccountData',
16
15
  'chat.bsky.convo.acceptConvo',
17
16
  'chat.bsky.convo.addReaction',
18
17
  'chat.bsky.convo.deleteMessageForSelf',
18
+ 'chat.bsky.convo.exportAccountData',
19
19
  'chat.bsky.convo.getConvo',
20
20
  'chat.bsky.convo.getConvoAvailability',
21
21
  'chat.bsky.convo.getConvoForMembers',
@@ -1 +1 @@
1
- {"version":3,"file":"authFullChatClient.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/authFullChatClient.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,8BAA8B,CAAA;AAEnC,sBAAK;AAEd,MAAM,IAAI,GAAG,OAAC,CAAC,aAAa,CAC1B,KAAK,EACL;IACE,OAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAClB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,mCAAmC;YACnC,6BAA6B;YAC7B,6BAA6B;YAC7B,sCAAsC;YACtC,0BAA0B;YAC1B,sCAAsC;YACtC,oCAAoC;YACpC,wBAAwB;YACxB,6BAA6B;YAC7B,4BAA4B;YAC5B,4BAA4B;YAC5B,2BAA2B;YAC3B,gCAAgC;YAChC,6BAA6B;YAC7B,kCAAkC;YAClC,6BAA6B;YAC7B,+BAA+B;YAC/B,4BAA4B;SAC7B;KACF,CAAC;IACF,OAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACtC,UAAU,EAAE,CAAC,6BAA6B,CAAC;KAC5C,CAAC;CACH,EACD;IACE,KAAK,EAAE,sCAAsC;IAC7C,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,iEAAiE;IACzE,aAAa,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE;CAChD,CACF,CAAA;AAEQ,oBAAI","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.authFullChatClient'\n\nexport { $nsid }\n\nconst main = l.permissionSet(\n $nsid,\n [\n l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'chat.bsky.actor.deleteAccount',\n 'chat.bsky.actor.exportAccountData',\n 'chat.bsky.convo.acceptConvo',\n 'chat.bsky.convo.addReaction',\n 'chat.bsky.convo.deleteMessageForSelf',\n 'chat.bsky.convo.getConvo',\n 'chat.bsky.convo.getConvoAvailability',\n 'chat.bsky.convo.getConvoForMembers',\n 'chat.bsky.convo.getLog',\n 'chat.bsky.convo.getMessages',\n 'chat.bsky.convo.leaveConvo',\n 'chat.bsky.convo.listConvos',\n 'chat.bsky.convo.muteConvo',\n 'chat.bsky.convo.removeReaction',\n 'chat.bsky.convo.sendMessage',\n 'chat.bsky.convo.sendMessageBatch',\n 'chat.bsky.convo.unmuteConvo',\n 'chat.bsky.convo.updateAllRead',\n 'chat.bsky.convo.updateRead',\n ],\n }),\n l.permission('repo', {\n action: ['create', 'update', 'delete'],\n collection: ['chat.bsky.actor.declaration'],\n }),\n ],\n {\n title: 'Full Chat Client (All Conversations)',\n 'title:lang': {},\n detail: 'Control of all chat conversations and configuration management.',\n 'detail:lang': { en: 'All Chat Conversations' },\n },\n)\n\nexport { main }\n"]}
1
+ {"version":3,"file":"authFullChatClient.defs.js","sourceRoot":"","sources":["../../../../src/lexicons/chat/bsky/authFullChatClient.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,8BAA8B,CAAA;AAEnC,sBAAK;AAEd,MAAM,IAAI,GAAG,OAAC,CAAC,aAAa,CAC1B,KAAK,EACL;IACE,OAAC,CAAC,UAAU,CAAC,KAAK,EAAE;QAClB,UAAU,EAAE,IAAI;QAChB,GAAG,EAAE;YACH,+BAA+B;YAC/B,6BAA6B;YAC7B,6BAA6B;YAC7B,sCAAsC;YACtC,mCAAmC;YACnC,0BAA0B;YAC1B,sCAAsC;YACtC,oCAAoC;YACpC,wBAAwB;YACxB,6BAA6B;YAC7B,4BAA4B;YAC5B,4BAA4B;YAC5B,2BAA2B;YAC3B,gCAAgC;YAChC,6BAA6B;YAC7B,kCAAkC;YAClC,6BAA6B;YAC7B,+BAA+B;YAC/B,4BAA4B;SAC7B;KACF,CAAC;IACF,OAAC,CAAC,UAAU,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;QACtC,UAAU,EAAE,CAAC,6BAA6B,CAAC;KAC5C,CAAC;CACH,EACD;IACE,KAAK,EAAE,sCAAsC;IAC7C,YAAY,EAAE,EAAE;IAChB,MAAM,EAAE,iEAAiE;IACzE,aAAa,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE;CAChD,CACF,CAAA;AAEQ,oBAAI","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.authFullChatClient'\n\nexport { $nsid }\n\nconst main = l.permissionSet(\n $nsid,\n [\n l.permission('rpc', {\n inheritAud: true,\n lxm: [\n 'chat.bsky.actor.deleteAccount',\n 'chat.bsky.convo.acceptConvo',\n 'chat.bsky.convo.addReaction',\n 'chat.bsky.convo.deleteMessageForSelf',\n 'chat.bsky.convo.exportAccountData',\n 'chat.bsky.convo.getConvo',\n 'chat.bsky.convo.getConvoAvailability',\n 'chat.bsky.convo.getConvoForMembers',\n 'chat.bsky.convo.getLog',\n 'chat.bsky.convo.getMessages',\n 'chat.bsky.convo.leaveConvo',\n 'chat.bsky.convo.listConvos',\n 'chat.bsky.convo.muteConvo',\n 'chat.bsky.convo.removeReaction',\n 'chat.bsky.convo.sendMessage',\n 'chat.bsky.convo.sendMessageBatch',\n 'chat.bsky.convo.unmuteConvo',\n 'chat.bsky.convo.updateAllRead',\n 'chat.bsky.convo.updateRead',\n ],\n }),\n l.permission('repo', {\n action: ['create', 'update', 'delete'],\n collection: ['chat.bsky.actor.declaration'],\n }),\n ],\n {\n title: 'Full Chat Client (All Conversations)',\n 'title:lang': {},\n detail: 'Control of all chat conversations and configuration management.',\n 'detail:lang': { en: 'All Chat Conversations' },\n },\n)\n\nexport { main }\n"]}
@@ -1,11 +1,12 @@
1
1
  import { l } from '@atproto/lex';
2
2
  declare const $nsid = "chat.bsky.convo.acceptConvo";
3
3
  export { $nsid };
4
+ /** Marks a conversation as accepted, so it is shown in the list of accepted convos instead on the request convos. */
4
5
  declare const main: l.Procedure<"chat.bsky.convo.acceptConvo", l.ParamsSchema<{}>, l.Payload<"application/json", l.ObjectSchema<{
5
6
  convoId: l.StringSchema<{}>;
6
7
  }>>, l.Payload<"application/json", l.ObjectSchema<{
7
8
  rev: l.OptionalSchema<l.StringSchema<{}>>;
8
- }>>, undefined>;
9
+ }>>, readonly ["InvalidConvo"]>;
9
10
  export { main };
10
11
  export type $Params = l.InferMethodParams<typeof main>;
11
12
  export type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>;
@@ -1 +1 @@
1
- {"version":3,"file":"acceptConvo.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/acceptConvo.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,QAAA,MAAM,IAAI;;;;eAKT,CAAA;AACD,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,oBAAoB,CAC/D,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,qBAAqB,CACjE,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AAED,eAAO,MAAM,IAAI,+BAAY,EAC3B,OAAO,oBAAkB,EACzB,MAAM;;GAAa,EACnB,OAAO;;GAAc,CAAA"}
1
+ {"version":3,"file":"acceptConvo.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/acceptConvo.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,qHAAqH;AACrH,QAAA,MAAM,IAAI;;;;+BAMT,CAAA;AACD,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,oBAAoB,CAC/D,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,qBAAqB,CACjE,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AAED,eAAO,MAAM,IAAI,+BAAY,EAC3B,OAAO,oBAAkB,EACzB,MAAM;;GAAa,EACnB,OAAO;;GAAc,CAAA"}
@@ -7,7 +7,8 @@ exports.$output = exports.$input = exports.$params = exports.$lxm = exports.main
7
7
  const lex_1 = require("@atproto/lex");
8
8
  const $nsid = 'chat.bsky.convo.acceptConvo';
9
9
  exports.$nsid = $nsid;
10
- const main = lex_1.l.procedure($nsid, lex_1.l.params(), lex_1.l.jsonPayload({ convoId: lex_1.l.string() }), lex_1.l.jsonPayload({ rev: lex_1.l.optional(lex_1.l.string()) }));
10
+ /** Marks a conversation as accepted, so it is shown in the list of accepted convos instead on the request convos. */
11
+ const main = lex_1.l.procedure($nsid, lex_1.l.params(), lex_1.l.jsonPayload({ convoId: lex_1.l.string() }), lex_1.l.jsonPayload({ rev: lex_1.l.optional(lex_1.l.string()) }), ['InvalidConvo']);
11
12
  exports.main = main;
12
13
  exports.$lxm = main.nsid, exports.$params = main.parameters, exports.$input = main.input, exports.$output = main.output;
13
14
  //# sourceMappingURL=acceptConvo.defs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"acceptConvo.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/acceptConvo.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAEd,MAAM,IAAI,GAAG,OAAC,CAAC,SAAS,CACtB,KAAK,EACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EACtC,OAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAC/C,CAAA;AACQ,oBAAI;AAcA,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,EAC3B,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,EACzB,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,EACnB,QAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.convo.acceptConvo'\n\nexport { $nsid }\n\nconst main = l.procedure(\n $nsid,\n l.params(),\n l.jsonPayload({ convoId: l.string() }),\n l.jsonPayload({ rev: l.optional(l.string()) }),\n)\nexport { main }\n\nexport type $Params = l.InferMethodParams<typeof main>\nexport type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>\nexport type $InputBody<B = l.BinaryData> = l.InferMethodInputBody<\n typeof main,\n B\n>\nexport type $Output<B = l.BinaryData> = l.InferMethodOutput<typeof main, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferMethodOutputBody<\n typeof main,\n B\n>\n\nexport const $lxm = main.nsid,\n $params = main.parameters,\n $input = main.input,\n $output = main.output\n"]}
1
+ {"version":3,"file":"acceptConvo.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/acceptConvo.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,sCAAgC;AAEhC,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAEd,qHAAqH;AACrH,MAAM,IAAI,GAAG,OAAC,CAAC,SAAS,CACtB,KAAK,EACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EACtC,OAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,OAAC,CAAC,QAAQ,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAC9C,CAAC,cAAc,CAAC,CACjB,CAAA;AACQ,oBAAI;AAcA,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,EAC3B,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,EACzB,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,EACnB,QAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\n\nconst $nsid = 'chat.bsky.convo.acceptConvo'\n\nexport { $nsid }\n\n/** Marks a conversation as accepted, so it is shown in the list of accepted convos instead on the request convos. */\nconst main = l.procedure(\n $nsid,\n l.params(),\n l.jsonPayload({ convoId: l.string() }),\n l.jsonPayload({ rev: l.optional(l.string()) }),\n ['InvalidConvo'],\n)\nexport { main }\n\nexport type $Params = l.InferMethodParams<typeof main>\nexport type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>\nexport type $InputBody<B = l.BinaryData> = l.InferMethodInputBody<\n typeof main,\n B\n>\nexport type $Output<B = l.BinaryData> = l.InferMethodOutput<typeof main, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferMethodOutputBody<\n typeof main,\n B\n>\n\nexport const $lxm = main.nsid,\n $params = main.parameters,\n $input = main.input,\n $output = main.output\n"]}
@@ -14,7 +14,7 @@ declare const main: l.Procedure<"chat.bsky.convo.addReaction", l.ParamsSchema<{}
14
14
  }>;
15
15
  }>>, l.Payload<"application/json", l.ObjectSchema<{
16
16
  message: l.RefSchema<l.Validator<ConvoDefs.MessageView, ConvoDefs.MessageView>>;
17
- }>>, readonly ["ReactionMessageDeleted", "ReactionLimitReached", "ReactionInvalidValue"]>;
17
+ }>>, readonly ["InvalidConvo", "ReactionNotAllowed", "ReactionMessageDeleted", "ReactionLimitReached", "ReactionInvalidValue"]>;
18
18
  export { main };
19
19
  export type $Params = l.InferMethodParams<typeof main>;
20
20
  export type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>;
@@ -1 +1 @@
1
- {"version":3,"file":"addReaction.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/addReaction.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,4KAA4K;AAC5K,QAAA,MAAM,IAAI;;;;;;;;;;;yFAiBT,CAAA;AACD,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,oBAAoB,CAC/D,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,qBAAqB,CACjE,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AAED,eAAO,MAAM,IAAI,+BAAY,EAC3B,OAAO,oBAAkB,EACzB,MAAM;;;;;;;;;GAAa,EACnB,OAAO;;GAAc,CAAA"}
1
+ {"version":3,"file":"addReaction.defs.d.ts","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/addReaction.defs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C,QAAA,MAAM,KAAK,gCAAgC,CAAA;AAE3C,OAAO,EAAE,KAAK,EAAE,CAAA;AAEhB,4KAA4K;AAC5K,QAAA,MAAM,IAAI;;;;;;;;;;;+HAuBT,CAAA;AACD,OAAO,EAAE,IAAI,EAAE,CAAA;AAEf,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,CAAA;AACtD,MAAM,MAAM,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AACzE,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,oBAAoB,CAC/D,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;AAC3E,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,qBAAqB,CACjE,OAAO,IAAI,EACX,CAAC,CACF,CAAA;AAED,eAAO,MAAM,IAAI,+BAAY,EAC3B,OAAO,oBAAkB,EACzB,MAAM;;;;;;;;;GAAa,EACnB,OAAO;;GAAc,CAAA"}
@@ -53,7 +53,13 @@ const main = lex_1.l.procedure($nsid, lex_1.l.params(), lex_1.l.jsonPayload({
53
53
  }),
54
54
  }), lex_1.l.jsonPayload({
55
55
  message: lex_1.l.ref((() => ConvoDefs.messageView)),
56
- }), ['ReactionMessageDeleted', 'ReactionLimitReached', 'ReactionInvalidValue']);
56
+ }), [
57
+ 'InvalidConvo',
58
+ 'ReactionNotAllowed',
59
+ 'ReactionMessageDeleted',
60
+ 'ReactionLimitReached',
61
+ 'ReactionInvalidValue',
62
+ ]);
57
63
  exports.main = main;
58
64
  exports.$lxm = main.nsid, exports.$params = main.parameters, exports.$input = main.input, exports.$output = main.output;
59
65
  //# sourceMappingURL=addReaction.defs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addReaction.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/addReaction.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAgC;AAChC,0DAA2C;AAE3C,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAEd,4KAA4K;AAC5K,MAAM,IAAI,GAAG,OAAC,CAAC,SAAS,CACtB,KAAK,EACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,WAAW,CAAC;IACZ,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;KAChB,CAAC;CACH,CAAC,EACF,OAAC,CAAC,WAAW,CAAC;IACZ,OAAO,EAAE,OAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC;CAC5E,CAAC,EACF,CAAC,wBAAwB,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAC3E,CAAA;AACQ,oBAAI;AAcA,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,EAC3B,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,EACzB,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,EACnB,QAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ConvoDefs from './defs.defs.js'\n\nconst $nsid = 'chat.bsky.convo.addReaction'\n\nexport { $nsid }\n\n/** Adds an emoji reaction to a message. Requires authentication. It is idempotent, so multiple calls from the same user with the same emoji result in a single reaction. */\nconst main = l.procedure(\n $nsid,\n l.params(),\n l.jsonPayload({\n convoId: l.string(),\n messageId: l.string(),\n value: l.string({\n minLength: 1,\n maxLength: 64,\n minGraphemes: 1,\n maxGraphemes: 1,\n }),\n }),\n l.jsonPayload({\n message: l.ref<ConvoDefs.MessageView>((() => ConvoDefs.messageView) as any),\n }),\n ['ReactionMessageDeleted', 'ReactionLimitReached', 'ReactionInvalidValue'],\n)\nexport { main }\n\nexport type $Params = l.InferMethodParams<typeof main>\nexport type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>\nexport type $InputBody<B = l.BinaryData> = l.InferMethodInputBody<\n typeof main,\n B\n>\nexport type $Output<B = l.BinaryData> = l.InferMethodOutput<typeof main, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferMethodOutputBody<\n typeof main,\n B\n>\n\nexport const $lxm = main.nsid,\n $params = main.parameters,\n $input = main.input,\n $output = main.output\n"]}
1
+ {"version":3,"file":"addReaction.defs.js","sourceRoot":"","sources":["../../../../../src/lexicons/chat/bsky/convo/addReaction.defs.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,sCAAgC;AAChC,0DAA2C;AAE3C,MAAM,KAAK,GAAG,6BAA6B,CAAA;AAElC,sBAAK;AAEd,4KAA4K;AAC5K,MAAM,IAAI,GAAG,OAAC,CAAC,SAAS,CACtB,KAAK,EACL,OAAC,CAAC,MAAM,EAAE,EACV,OAAC,CAAC,WAAW,CAAC;IACZ,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,CAAC;KAChB,CAAC;CACH,CAAC,EACF,OAAC,CAAC,WAAW,CAAC;IACZ,OAAO,EAAE,OAAC,CAAC,GAAG,CAAwB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,CAAQ,CAAC;CAC5E,CAAC,EACF;IACE,cAAc;IACd,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,sBAAsB;CACvB,CACF,CAAA;AACQ,oBAAI;AAcA,QAAA,IAAI,GAAG,IAAI,CAAC,IAAI,EAC3B,QAAA,OAAO,GAAG,IAAI,CAAC,UAAU,EACzB,QAAA,MAAM,GAAG,IAAI,CAAC,KAAK,EACnB,QAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA","sourcesContent":["/*\n * THIS FILE WAS GENERATED BY \"@atproto/lex\". DO NOT EDIT.\n */\n\nimport { l } from '@atproto/lex'\nimport * as ConvoDefs from './defs.defs.js'\n\nconst $nsid = 'chat.bsky.convo.addReaction'\n\nexport { $nsid }\n\n/** Adds an emoji reaction to a message. Requires authentication. It is idempotent, so multiple calls from the same user with the same emoji result in a single reaction. */\nconst main = l.procedure(\n $nsid,\n l.params(),\n l.jsonPayload({\n convoId: l.string(),\n messageId: l.string(),\n value: l.string({\n minLength: 1,\n maxLength: 64,\n minGraphemes: 1,\n maxGraphemes: 1,\n }),\n }),\n l.jsonPayload({\n message: l.ref<ConvoDefs.MessageView>((() => ConvoDefs.messageView) as any),\n }),\n [\n 'InvalidConvo',\n 'ReactionNotAllowed',\n 'ReactionMessageDeleted',\n 'ReactionLimitReached',\n 'ReactionInvalidValue',\n ],\n)\nexport { main }\n\nexport type $Params = l.InferMethodParams<typeof main>\nexport type $Input<B = l.BinaryData> = l.InferMethodInput<typeof main, B>\nexport type $InputBody<B = l.BinaryData> = l.InferMethodInputBody<\n typeof main,\n B\n>\nexport type $Output<B = l.BinaryData> = l.InferMethodOutput<typeof main, B>\nexport type $OutputBody<B = l.BinaryData> = l.InferMethodOutputBody<\n typeof main,\n B\n>\n\nexport const $lxm = main.nsid,\n $params = main.parameters,\n $input = main.input,\n $output = main.output\n"]}