@atproto/pds 0.4.21 → 0.4.23

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 (134) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/actor-store/blob/reader.d.ts +4 -0
  3. package/dist/actor-store/blob/reader.d.ts.map +1 -1
  4. package/dist/actor-store/blob/reader.js +9 -3
  5. package/dist/actor-store/blob/reader.js.map +1 -1
  6. package/dist/api/com/atproto/repo/putRecord.d.ts.map +1 -1
  7. package/dist/api/com/atproto/repo/putRecord.js +19 -1
  8. package/dist/api/com/atproto/repo/putRecord.js.map +1 -1
  9. package/dist/index.js +1 -1
  10. package/dist/lexicon/index.d.ts +59 -0
  11. package/dist/lexicon/index.d.ts.map +1 -1
  12. package/dist/lexicon/index.js +164 -1
  13. package/dist/lexicon/index.js.map +1 -1
  14. package/dist/lexicon/lexicons.d.ts +912 -0
  15. package/dist/lexicon/lexicons.d.ts.map +1 -1
  16. package/dist/lexicon/lexicons.js +938 -0
  17. package/dist/lexicon/lexicons.js.map +1 -1
  18. package/dist/lexicon/types/app/bsky/actor/defs.d.ts +7 -0
  19. package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
  20. package/dist/lexicon/types/app/bsky/actor/defs.js +11 -1
  21. package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
  22. package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts +11 -0
  23. package/dist/lexicon/types/chat/bsky/actor/declaration.d.ts.map +1 -0
  24. package/dist/lexicon/types/chat/bsky/actor/declaration.js +17 -0
  25. package/dist/lexicon/types/chat/bsky/actor/declaration.js.map +1 -0
  26. package/dist/lexicon/types/chat/bsky/actor/defs.d.ts +21 -0
  27. package/dist/lexicon/types/chat/bsky/actor/defs.d.ts.map +1 -0
  28. package/dist/lexicon/types/chat/bsky/actor/defs.js +16 -0
  29. package/dist/lexicon/types/chat/bsky/actor/defs.js.map +1 -0
  30. package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts +33 -0
  31. package/dist/lexicon/types/chat/bsky/actor/deleteAccount.d.ts.map +1 -0
  32. package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js +3 -0
  33. package/dist/lexicon/types/chat/bsky/actor/deleteAccount.js.map +1 -0
  34. package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts +32 -0
  35. package/dist/lexicon/types/chat/bsky/actor/exportAccountData.d.ts.map +1 -0
  36. package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js +3 -0
  37. package/dist/lexicon/types/chat/bsky/actor/exportAccountData.js.map +1 -0
  38. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +109 -0
  39. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -0
  40. package/dist/lexicon/types/chat/bsky/convo/defs.js +106 -0
  41. package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -0
  42. package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts +39 -0
  43. package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.d.ts.map +1 -0
  44. package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js +3 -0
  45. package/dist/lexicon/types/chat/bsky/convo/deleteMessageForSelf.js.map +1 -0
  46. package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts +36 -0
  47. package/dist/lexicon/types/chat/bsky/convo/getConvo.d.ts.map +1 -0
  48. package/dist/lexicon/types/chat/bsky/convo/getConvo.js +3 -0
  49. package/dist/lexicon/types/chat/bsky/convo/getConvo.js.map +1 -0
  50. package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts +36 -0
  51. package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -0
  52. package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js +3 -0
  53. package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -0
  54. package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +40 -0
  55. package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -0
  56. package/dist/lexicon/types/chat/bsky/convo/getLog.js +3 -0
  57. package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -0
  58. package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts +42 -0
  59. package/dist/lexicon/types/chat/bsky/convo/getMessages.d.ts.map +1 -0
  60. package/dist/lexicon/types/chat/bsky/convo/getMessages.js +3 -0
  61. package/dist/lexicon/types/chat/bsky/convo/getMessages.js.map +1 -0
  62. package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts +41 -0
  63. package/dist/lexicon/types/chat/bsky/convo/leaveConvo.d.ts.map +1 -0
  64. package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js +3 -0
  65. package/dist/lexicon/types/chat/bsky/convo/leaveConvo.js.map +1 -0
  66. package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts +38 -0
  67. package/dist/lexicon/types/chat/bsky/convo/listConvos.d.ts.map +1 -0
  68. package/dist/lexicon/types/chat/bsky/convo/listConvos.js +3 -0
  69. package/dist/lexicon/types/chat/bsky/convo/listConvos.js.map +1 -0
  70. package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts +41 -0
  71. package/dist/lexicon/types/chat/bsky/convo/muteConvo.d.ts.map +1 -0
  72. package/dist/lexicon/types/chat/bsky/convo/muteConvo.js +3 -0
  73. package/dist/lexicon/types/chat/bsky/convo/muteConvo.js.map +1 -0
  74. package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts +39 -0
  75. package/dist/lexicon/types/chat/bsky/convo/sendMessage.d.ts.map +1 -0
  76. package/dist/lexicon/types/chat/bsky/convo/sendMessage.js +3 -0
  77. package/dist/lexicon/types/chat/bsky/convo/sendMessage.js.map +1 -0
  78. package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts +49 -0
  79. package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.d.ts.map +1 -0
  80. package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js +16 -0
  81. package/dist/lexicon/types/chat/bsky/convo/sendMessageBatch.js.map +1 -0
  82. package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts +41 -0
  83. package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.d.ts.map +1 -0
  84. package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js +3 -0
  85. package/dist/lexicon/types/chat/bsky/convo/unmuteConvo.js.map +1 -0
  86. package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts +42 -0
  87. package/dist/lexicon/types/chat/bsky/convo/updateRead.d.ts.map +1 -0
  88. package/dist/lexicon/types/chat/bsky/convo/updateRead.js +3 -0
  89. package/dist/lexicon/types/chat/bsky/convo/updateRead.js.map +1 -0
  90. package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts +47 -0
  91. package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.d.ts.map +1 -0
  92. package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js +16 -0
  93. package/dist/lexicon/types/chat/bsky/moderation/getActorMetadata.js.map +1 -0
  94. package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts +43 -0
  95. package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.d.ts.map +1 -0
  96. package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js +3 -0
  97. package/dist/lexicon/types/chat/bsky/moderation/getMessageContext.js.map +1 -0
  98. package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts +31 -0
  99. package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.d.ts.map +1 -0
  100. package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js +3 -0
  101. package/dist/lexicon/types/chat/bsky/moderation/updateActorAccess.js.map +1 -0
  102. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +2 -1
  103. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  104. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  105. package/package.json +9 -9
  106. package/src/actor-store/blob/reader.ts +13 -4
  107. package/src/api/com/atproto/repo/putRecord.ts +34 -1
  108. package/src/index.ts +1 -1
  109. package/src/lexicon/index.ts +254 -0
  110. package/src/lexicon/lexicons.ts +940 -0
  111. package/src/lexicon/types/app/bsky/actor/defs.ts +20 -0
  112. package/src/lexicon/types/chat/bsky/actor/declaration.ts +25 -0
  113. package/src/lexicon/types/chat/bsky/actor/defs.ts +34 -0
  114. package/src/lexicon/types/chat/bsky/actor/deleteAccount.ts +42 -0
  115. package/src/lexicon/types/chat/bsky/actor/exportAccountData.ts +38 -0
  116. package/src/lexicon/types/chat/bsky/convo/defs.ts +215 -0
  117. package/src/lexicon/types/chat/bsky/convo/deleteMessageForSelf.ts +48 -0
  118. package/src/lexicon/types/chat/bsky/convo/getConvo.ts +46 -0
  119. package/src/lexicon/types/chat/bsky/convo/getConvoForMembers.ts +46 -0
  120. package/src/lexicon/types/chat/bsky/convo/getLog.ts +53 -0
  121. package/src/lexicon/types/chat/bsky/convo/getMessages.ts +53 -0
  122. package/src/lexicon/types/chat/bsky/convo/leaveConvo.ts +50 -0
  123. package/src/lexicon/types/chat/bsky/convo/listConvos.ts +48 -0
  124. package/src/lexicon/types/chat/bsky/convo/muteConvo.ts +50 -0
  125. package/src/lexicon/types/chat/bsky/convo/sendMessage.ts +48 -0
  126. package/src/lexicon/types/chat/bsky/convo/sendMessageBatch.ts +68 -0
  127. package/src/lexicon/types/chat/bsky/convo/unmuteConvo.ts +50 -0
  128. package/src/lexicon/types/chat/bsky/convo/updateRead.ts +51 -0
  129. package/src/lexicon/types/chat/bsky/moderation/getActorMetadata.ts +67 -0
  130. package/src/lexicon/types/chat/bsky/moderation/getMessageContext.ts +54 -0
  131. package/src/lexicon/types/chat/bsky/moderation/updateActorAccess.ts +40 -0
  132. package/src/lexicon/types/tools/ozone/moderation/defs.ts +2 -0
  133. package/tests/crud.test.ts +30 -0
  134. package/tests/server.test.ts +1 -1
@@ -0,0 +1,48 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {
13
+ limit: number
14
+ cursor?: string
15
+ }
16
+
17
+ export type InputSchema = undefined
18
+
19
+ export interface OutputSchema {
20
+ cursor?: string
21
+ convos: ChatBskyConvoDefs.ConvoView[]
22
+ [k: string]: unknown
23
+ }
24
+
25
+ export type HandlerInput = undefined
26
+
27
+ export interface HandlerSuccess {
28
+ encoding: 'application/json'
29
+ body: OutputSchema
30
+ headers?: { [key: string]: string }
31
+ }
32
+
33
+ export interface HandlerError {
34
+ status: number
35
+ message?: string
36
+ }
37
+
38
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
39
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
40
+ auth: HA
41
+ params: QueryParams
42
+ input: HandlerInput
43
+ req: express.Request
44
+ res: express.Response
45
+ }
46
+ export type Handler<HA extends HandlerAuth = never> = (
47
+ ctx: HandlerReqCtx<HA>,
48
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,50 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {}
13
+
14
+ export interface InputSchema {
15
+ convoId: string
16
+ [k: string]: unknown
17
+ }
18
+
19
+ export interface OutputSchema {
20
+ convo: ChatBskyConvoDefs.ConvoView
21
+ [k: string]: unknown
22
+ }
23
+
24
+ export interface HandlerInput {
25
+ encoding: 'application/json'
26
+ body: InputSchema
27
+ }
28
+
29
+ export interface HandlerSuccess {
30
+ encoding: 'application/json'
31
+ body: OutputSchema
32
+ headers?: { [key: string]: string }
33
+ }
34
+
35
+ export interface HandlerError {
36
+ status: number
37
+ message?: string
38
+ }
39
+
40
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
41
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
42
+ auth: HA
43
+ params: QueryParams
44
+ input: HandlerInput
45
+ req: express.Request
46
+ res: express.Response
47
+ }
48
+ export type Handler<HA extends HandlerAuth = never> = (
49
+ ctx: HandlerReqCtx<HA>,
50
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,48 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {}
13
+
14
+ export interface InputSchema {
15
+ convoId: string
16
+ message: ChatBskyConvoDefs.MessageInput
17
+ [k: string]: unknown
18
+ }
19
+
20
+ export type OutputSchema = ChatBskyConvoDefs.MessageView
21
+
22
+ export interface HandlerInput {
23
+ encoding: 'application/json'
24
+ body: InputSchema
25
+ }
26
+
27
+ export interface HandlerSuccess {
28
+ encoding: 'application/json'
29
+ body: OutputSchema
30
+ headers?: { [key: string]: string }
31
+ }
32
+
33
+ export interface HandlerError {
34
+ status: number
35
+ message?: string
36
+ }
37
+
38
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
39
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
40
+ auth: HA
41
+ params: QueryParams
42
+ input: HandlerInput
43
+ req: express.Request
44
+ res: express.Response
45
+ }
46
+ export type Handler<HA extends HandlerAuth = never> = (
47
+ ctx: HandlerReqCtx<HA>,
48
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,68 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {}
13
+
14
+ export interface InputSchema {
15
+ items: BatchItem[]
16
+ [k: string]: unknown
17
+ }
18
+
19
+ export interface OutputSchema {
20
+ items: ChatBskyConvoDefs.MessageView[]
21
+ [k: string]: unknown
22
+ }
23
+
24
+ export interface HandlerInput {
25
+ encoding: 'application/json'
26
+ body: InputSchema
27
+ }
28
+
29
+ export interface HandlerSuccess {
30
+ encoding: 'application/json'
31
+ body: OutputSchema
32
+ headers?: { [key: string]: string }
33
+ }
34
+
35
+ export interface HandlerError {
36
+ status: number
37
+ message?: string
38
+ }
39
+
40
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
41
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
42
+ auth: HA
43
+ params: QueryParams
44
+ input: HandlerInput
45
+ req: express.Request
46
+ res: express.Response
47
+ }
48
+ export type Handler<HA extends HandlerAuth = never> = (
49
+ ctx: HandlerReqCtx<HA>,
50
+ ) => Promise<HandlerOutput> | HandlerOutput
51
+
52
+ export interface BatchItem {
53
+ convoId: string
54
+ message: ChatBskyConvoDefs.MessageInput
55
+ [k: string]: unknown
56
+ }
57
+
58
+ export function isBatchItem(v: unknown): v is BatchItem {
59
+ return (
60
+ isObj(v) &&
61
+ hasProp(v, '$type') &&
62
+ v.$type === 'chat.bsky.convo.sendMessageBatch#batchItem'
63
+ )
64
+ }
65
+
66
+ export function validateBatchItem(v: unknown): ValidationResult {
67
+ return lexicons.validate('chat.bsky.convo.sendMessageBatch#batchItem', v)
68
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {}
13
+
14
+ export interface InputSchema {
15
+ convoId: string
16
+ [k: string]: unknown
17
+ }
18
+
19
+ export interface OutputSchema {
20
+ convo: ChatBskyConvoDefs.ConvoView
21
+ [k: string]: unknown
22
+ }
23
+
24
+ export interface HandlerInput {
25
+ encoding: 'application/json'
26
+ body: InputSchema
27
+ }
28
+
29
+ export interface HandlerSuccess {
30
+ encoding: 'application/json'
31
+ body: OutputSchema
32
+ headers?: { [key: string]: string }
33
+ }
34
+
35
+ export interface HandlerError {
36
+ status: number
37
+ message?: string
38
+ }
39
+
40
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
41
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
42
+ auth: HA
43
+ params: QueryParams
44
+ input: HandlerInput
45
+ req: express.Request
46
+ res: express.Response
47
+ }
48
+ export type Handler<HA extends HandlerAuth = never> = (
49
+ ctx: HandlerReqCtx<HA>,
50
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,51 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from './defs'
11
+
12
+ export interface QueryParams {}
13
+
14
+ export interface InputSchema {
15
+ convoId: string
16
+ messageId?: string
17
+ [k: string]: unknown
18
+ }
19
+
20
+ export interface OutputSchema {
21
+ convo: ChatBskyConvoDefs.ConvoView
22
+ [k: string]: unknown
23
+ }
24
+
25
+ export interface HandlerInput {
26
+ encoding: 'application/json'
27
+ body: InputSchema
28
+ }
29
+
30
+ export interface HandlerSuccess {
31
+ encoding: 'application/json'
32
+ body: OutputSchema
33
+ headers?: { [key: string]: string }
34
+ }
35
+
36
+ export interface HandlerError {
37
+ status: number
38
+ message?: string
39
+ }
40
+
41
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
42
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
43
+ auth: HA
44
+ params: QueryParams
45
+ input: HandlerInput
46
+ req: express.Request
47
+ res: express.Response
48
+ }
49
+ export type Handler<HA extends HandlerAuth = never> = (
50
+ ctx: HandlerReqCtx<HA>,
51
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,67 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+
11
+ export interface QueryParams {
12
+ actor: string
13
+ }
14
+
15
+ export type InputSchema = undefined
16
+
17
+ export interface OutputSchema {
18
+ day: Metadata
19
+ month: Metadata
20
+ all: Metadata
21
+ [k: string]: unknown
22
+ }
23
+
24
+ export type HandlerInput = undefined
25
+
26
+ export interface HandlerSuccess {
27
+ encoding: 'application/json'
28
+ body: OutputSchema
29
+ headers?: { [key: string]: string }
30
+ }
31
+
32
+ export interface HandlerError {
33
+ status: number
34
+ message?: string
35
+ }
36
+
37
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
38
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
39
+ auth: HA
40
+ params: QueryParams
41
+ input: HandlerInput
42
+ req: express.Request
43
+ res: express.Response
44
+ }
45
+ export type Handler<HA extends HandlerAuth = never> = (
46
+ ctx: HandlerReqCtx<HA>,
47
+ ) => Promise<HandlerOutput> | HandlerOutput
48
+
49
+ export interface Metadata {
50
+ messagesSent: number
51
+ messagesReceived: number
52
+ convos: number
53
+ convosStarted: number
54
+ [k: string]: unknown
55
+ }
56
+
57
+ export function isMetadata(v: unknown): v is Metadata {
58
+ return (
59
+ isObj(v) &&
60
+ hasProp(v, '$type') &&
61
+ v.$type === 'chat.bsky.moderation.getActorMetadata#metadata'
62
+ )
63
+ }
64
+
65
+ export function validateMetadata(v: unknown): ValidationResult {
66
+ return lexicons.validate('chat.bsky.moderation.getActorMetadata#metadata', v)
67
+ }
@@ -0,0 +1,54 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ChatBskyConvoDefs from '../convo/defs'
11
+
12
+ export interface QueryParams {
13
+ /** Conversation that the message is from. NOTE: this field will eventually be required. */
14
+ convoId?: string
15
+ messageId: string
16
+ before: number
17
+ after: number
18
+ }
19
+
20
+ export type InputSchema = undefined
21
+
22
+ export interface OutputSchema {
23
+ messages: (
24
+ | ChatBskyConvoDefs.MessageView
25
+ | ChatBskyConvoDefs.DeletedMessageView
26
+ | { $type: string; [k: string]: unknown }
27
+ )[]
28
+ [k: string]: unknown
29
+ }
30
+
31
+ export type HandlerInput = undefined
32
+
33
+ export interface HandlerSuccess {
34
+ encoding: 'application/json'
35
+ body: OutputSchema
36
+ headers?: { [key: string]: string }
37
+ }
38
+
39
+ export interface HandlerError {
40
+ status: number
41
+ message?: string
42
+ }
43
+
44
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
45
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
46
+ auth: HA
47
+ params: QueryParams
48
+ input: HandlerInput
49
+ req: express.Request
50
+ res: express.Response
51
+ }
52
+ export type Handler<HA extends HandlerAuth = never> = (
53
+ ctx: HandlerReqCtx<HA>,
54
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -0,0 +1,40 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express'
5
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { lexicons } from '../../../../lexicons'
7
+ import { isObj, hasProp } from '../../../../util'
8
+ import { CID } from 'multiformats/cid'
9
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+
11
+ export interface QueryParams {}
12
+
13
+ export interface InputSchema {
14
+ actor: string
15
+ allowAccess: boolean
16
+ ref?: string
17
+ [k: string]: unknown
18
+ }
19
+
20
+ export interface HandlerInput {
21
+ encoding: 'application/json'
22
+ body: InputSchema
23
+ }
24
+
25
+ export interface HandlerError {
26
+ status: number
27
+ message?: string
28
+ }
29
+
30
+ export type HandlerOutput = HandlerError | void
31
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
32
+ auth: HA
33
+ params: QueryParams
34
+ input: HandlerInput
35
+ req: express.Request
36
+ res: express.Response
37
+ }
38
+ export type Handler<HA extends HandlerAuth = never> = (
39
+ ctx: HandlerReqCtx<HA>,
40
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -7,6 +7,7 @@ import { isObj, hasProp } from '../../../../util'
7
7
  import { CID } from 'multiformats/cid'
8
8
  import * as ComAtprotoAdminDefs from '../../../com/atproto/admin/defs'
9
9
  import * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef'
10
+ import * as ChatBskyConvoDefs from '../../../chat/bsky/convo/defs'
10
11
  import * as ComAtprotoModerationDefs from '../../../com/atproto/moderation/defs'
11
12
  import * as ComAtprotoServerDefs from '../../../com/atproto/server/defs'
12
13
  import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs'
@@ -32,6 +33,7 @@ export interface ModEventView {
32
33
  subject:
33
34
  | ComAtprotoAdminDefs.RepoRef
34
35
  | ComAtprotoRepoStrongRef.Main
36
+ | ChatBskyConvoDefs.MessageRef
35
37
  | { $type: string; [k: string]: unknown }
36
38
  subjectBlobCids: string[]
37
39
  createdBy: string
@@ -517,6 +517,36 @@ describe('crud operations', () => {
517
517
  description: 'Dog lover',
518
518
  })
519
519
  })
520
+
521
+ // @TODO remove after migrating legacy blobs
522
+ it('updates a legacy blob ref when updating profile', async () => {
523
+ const { repo } = bobAgent.api.com.atproto
524
+ const file = await fs.readFile(
525
+ '../dev-env/src/seed/img/key-portrait-small.jpg',
526
+ )
527
+ const uploadedRes = await repo.uploadBlob(file, {
528
+ encoding: 'image/jpeg',
529
+ })
530
+
531
+ await repo.putRecord({
532
+ ...profilePath,
533
+ repo: bob.did,
534
+ record: {
535
+ displayName: 'Robert',
536
+ avatar: BlobRef.fromJsonRef({
537
+ mimeType: uploadedRes.data.blob.mimeType,
538
+ cid: uploadedRes.data.blob.ref.toString(),
539
+ }),
540
+ },
541
+ })
542
+
543
+ const got = await repo.getRecord({
544
+ ...profilePath,
545
+ repo: bob.did,
546
+ })
547
+ const gotAvatar = got.data.value['avatar'] as BlobRef
548
+ expect(gotAvatar.original).toEqual(uploadedRes.data.blob.original)
549
+ })
520
550
  })
521
551
 
522
552
  // Validation
@@ -64,7 +64,7 @@ describe('server', () => {
64
64
  await axios.post(
65
65
  `${network.pds.url}/xrpc/com.atproto.repo.createRecord`,
66
66
  {
67
- data: 'x'.repeat(100 * 1024), // 100kb
67
+ data: 'x'.repeat(150 * 1024), // 150kb
68
68
  },
69
69
  { headers: sc.getHeaders(alice) },
70
70
  )