atproto-mcp 0.1.0

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 (131) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +293 -0
  3. package/dist/cli.d.ts +10 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +261 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/health-check.d.ts +7 -0
  8. package/dist/health-check.d.ts.map +1 -0
  9. package/dist/health-check.js +57 -0
  10. package/dist/health-check.js.map +1 -0
  11. package/dist/index.d.ts +122 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +612 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/prompts/index.d.ts +77 -0
  16. package/dist/prompts/index.d.ts.map +1 -0
  17. package/dist/prompts/index.js +186 -0
  18. package/dist/prompts/index.js.map +1 -0
  19. package/dist/resources/index.d.ts +75 -0
  20. package/dist/resources/index.d.ts.map +1 -0
  21. package/dist/resources/index.js +218 -0
  22. package/dist/resources/index.js.map +1 -0
  23. package/dist/test/setup.d.ts +78 -0
  24. package/dist/test/setup.d.ts.map +1 -0
  25. package/dist/test/setup.js +138 -0
  26. package/dist/test/setup.js.map +1 -0
  27. package/dist/tools/implementations/advanced-social-tools.d.ts +250 -0
  28. package/dist/tools/implementations/advanced-social-tools.d.ts.map +1 -0
  29. package/dist/tools/implementations/advanced-social-tools.js +380 -0
  30. package/dist/tools/implementations/advanced-social-tools.js.map +1 -0
  31. package/dist/tools/implementations/base-tool.d.ts +73 -0
  32. package/dist/tools/implementations/base-tool.d.ts.map +1 -0
  33. package/dist/tools/implementations/base-tool.js +225 -0
  34. package/dist/tools/implementations/base-tool.js.map +1 -0
  35. package/dist/tools/implementations/content-management-tools.d.ts +81 -0
  36. package/dist/tools/implementations/content-management-tools.d.ts.map +1 -0
  37. package/dist/tools/implementations/content-management-tools.js +236 -0
  38. package/dist/tools/implementations/content-management-tools.js.map +1 -0
  39. package/dist/tools/implementations/create-post-tool.d.ts +131 -0
  40. package/dist/tools/implementations/create-post-tool.d.ts.map +1 -0
  41. package/dist/tools/implementations/create-post-tool.js +182 -0
  42. package/dist/tools/implementations/create-post-tool.js.map +1 -0
  43. package/dist/tools/implementations/follow-user-tool.d.ts +69 -0
  44. package/dist/tools/implementations/follow-user-tool.d.ts.map +1 -0
  45. package/dist/tools/implementations/follow-user-tool.js +200 -0
  46. package/dist/tools/implementations/follow-user-tool.js.map +1 -0
  47. package/dist/tools/implementations/get-user-profile-tool.d.ts +61 -0
  48. package/dist/tools/implementations/get-user-profile-tool.d.ts.map +1 -0
  49. package/dist/tools/implementations/get-user-profile-tool.js +139 -0
  50. package/dist/tools/implementations/get-user-profile-tool.js.map +1 -0
  51. package/dist/tools/implementations/index.d.ts +22 -0
  52. package/dist/tools/implementations/index.d.ts.map +1 -0
  53. package/dist/tools/implementations/index.js +32 -0
  54. package/dist/tools/implementations/index.js.map +1 -0
  55. package/dist/tools/implementations/like-post-tool.d.ts +68 -0
  56. package/dist/tools/implementations/like-post-tool.d.ts.map +1 -0
  57. package/dist/tools/implementations/like-post-tool.js +184 -0
  58. package/dist/tools/implementations/like-post-tool.js.map +1 -0
  59. package/dist/tools/implementations/media-tools.d.ts +360 -0
  60. package/dist/tools/implementations/media-tools.d.ts.map +1 -0
  61. package/dist/tools/implementations/media-tools.js +444 -0
  62. package/dist/tools/implementations/media-tools.js.map +1 -0
  63. package/dist/tools/implementations/moderation-tools.d.ts +189 -0
  64. package/dist/tools/implementations/moderation-tools.d.ts.map +1 -0
  65. package/dist/tools/implementations/moderation-tools.js +289 -0
  66. package/dist/tools/implementations/moderation-tools.js.map +1 -0
  67. package/dist/tools/implementations/oauth-tools.d.ts +108 -0
  68. package/dist/tools/implementations/oauth-tools.d.ts.map +1 -0
  69. package/dist/tools/implementations/oauth-tools.js +183 -0
  70. package/dist/tools/implementations/oauth-tools.js.map +1 -0
  71. package/dist/tools/implementations/reply-to-post-tool.d.ts +52 -0
  72. package/dist/tools/implementations/reply-to-post-tool.d.ts.map +1 -0
  73. package/dist/tools/implementations/reply-to-post-tool.js +167 -0
  74. package/dist/tools/implementations/reply-to-post-tool.js.map +1 -0
  75. package/dist/tools/implementations/repost-tool.d.ts +76 -0
  76. package/dist/tools/implementations/repost-tool.d.ts.map +1 -0
  77. package/dist/tools/implementations/repost-tool.js +181 -0
  78. package/dist/tools/implementations/repost-tool.js.map +1 -0
  79. package/dist/tools/implementations/search-posts-tool.d.ts +95 -0
  80. package/dist/tools/implementations/search-posts-tool.d.ts.map +1 -0
  81. package/dist/tools/implementations/search-posts-tool.js +208 -0
  82. package/dist/tools/implementations/search-posts-tool.js.map +1 -0
  83. package/dist/tools/implementations/social-graph-tools.d.ts +119 -0
  84. package/dist/tools/implementations/social-graph-tools.d.ts.map +1 -0
  85. package/dist/tools/implementations/social-graph-tools.js +262 -0
  86. package/dist/tools/implementations/social-graph-tools.js.map +1 -0
  87. package/dist/tools/implementations/streaming-tools.d.ts +130 -0
  88. package/dist/tools/implementations/streaming-tools.d.ts.map +1 -0
  89. package/dist/tools/implementations/streaming-tools.js +241 -0
  90. package/dist/tools/implementations/streaming-tools.js.map +1 -0
  91. package/dist/tools/implementations/timeline-tools.d.ts +69 -0
  92. package/dist/tools/implementations/timeline-tools.d.ts.map +1 -0
  93. package/dist/tools/implementations/timeline-tools.js +194 -0
  94. package/dist/tools/implementations/timeline-tools.js.map +1 -0
  95. package/dist/tools/index.d.ts +23 -0
  96. package/dist/tools/index.d.ts.map +1 -0
  97. package/dist/tools/index.js +73 -0
  98. package/dist/tools/index.js.map +1 -0
  99. package/dist/types/index.d.ts +242 -0
  100. package/dist/types/index.d.ts.map +1 -0
  101. package/dist/types/index.js +73 -0
  102. package/dist/types/index.js.map +1 -0
  103. package/dist/utils/atp-client.d.ts +109 -0
  104. package/dist/utils/atp-client.d.ts.map +1 -0
  105. package/dist/utils/atp-client.js +451 -0
  106. package/dist/utils/atp-client.js.map +1 -0
  107. package/dist/utils/config.d.ts +74 -0
  108. package/dist/utils/config.d.ts.map +1 -0
  109. package/dist/utils/config.js +311 -0
  110. package/dist/utils/config.js.map +1 -0
  111. package/dist/utils/firehose-client.d.ts +96 -0
  112. package/dist/utils/firehose-client.d.ts.map +1 -0
  113. package/dist/utils/firehose-client.js +252 -0
  114. package/dist/utils/firehose-client.js.map +1 -0
  115. package/dist/utils/logger.d.ts +74 -0
  116. package/dist/utils/logger.d.ts.map +1 -0
  117. package/dist/utils/logger.js +142 -0
  118. package/dist/utils/logger.js.map +1 -0
  119. package/dist/utils/oauth-client.d.ts +61 -0
  120. package/dist/utils/oauth-client.d.ts.map +1 -0
  121. package/dist/utils/oauth-client.js +224 -0
  122. package/dist/utils/oauth-client.js.map +1 -0
  123. package/dist/utils/performance.d.ts +102 -0
  124. package/dist/utils/performance.d.ts.map +1 -0
  125. package/dist/utils/performance.js +302 -0
  126. package/dist/utils/performance.js.map +1 -0
  127. package/dist/utils/security.d.ts +154 -0
  128. package/dist/utils/security.d.ts.map +1 -0
  129. package/dist/utils/security.js +358 -0
  130. package/dist/utils/security.js.map +1 -0
  131. package/package.json +93 -0
@@ -0,0 +1,360 @@
1
+ /**
2
+ * Enhanced media support tools for AT Protocol
3
+ */
4
+ import { z } from 'zod';
5
+ import { BaseTool } from './base-tool.js';
6
+ import type { AtpClient } from '../../utils/atp-client.js';
7
+ export declare class UploadImageTool extends BaseTool {
8
+ readonly schema: {
9
+ method: string;
10
+ description: string;
11
+ params: z.ZodObject<{
12
+ filePath: z.ZodString;
13
+ altText: z.ZodOptional<z.ZodString>;
14
+ }, "strip", z.ZodTypeAny, {
15
+ filePath: string;
16
+ altText?: string | undefined;
17
+ }, {
18
+ filePath: string;
19
+ altText?: string | undefined;
20
+ }>;
21
+ };
22
+ constructor(atpClient: AtpClient);
23
+ protected execute(params: {
24
+ filePath: string;
25
+ altText?: string;
26
+ }): Promise<{
27
+ success: boolean;
28
+ message: string;
29
+ image: {
30
+ blob: {
31
+ type: string;
32
+ ref: string;
33
+ mimeType: string;
34
+ size: number;
35
+ };
36
+ alt: string;
37
+ aspectRatio?: {
38
+ width: number;
39
+ height: number;
40
+ };
41
+ };
42
+ }>;
43
+ }
44
+ export declare class UploadVideoTool extends BaseTool {
45
+ readonly schema: {
46
+ method: string;
47
+ description: string;
48
+ params: z.ZodObject<{
49
+ filePath: z.ZodString;
50
+ altText: z.ZodOptional<z.ZodString>;
51
+ captions: z.ZodOptional<z.ZodArray<z.ZodObject<{
52
+ lang: z.ZodString;
53
+ file: z.ZodString;
54
+ }, "strip", z.ZodTypeAny, {
55
+ lang: string;
56
+ file: string;
57
+ }, {
58
+ lang: string;
59
+ file: string;
60
+ }>, "many">>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ filePath: string;
63
+ altText?: string | undefined;
64
+ captions?: {
65
+ lang: string;
66
+ file: string;
67
+ }[] | undefined;
68
+ }, {
69
+ filePath: string;
70
+ altText?: string | undefined;
71
+ captions?: {
72
+ lang: string;
73
+ file: string;
74
+ }[] | undefined;
75
+ }>;
76
+ };
77
+ constructor(atpClient: AtpClient);
78
+ protected execute(params: {
79
+ filePath: string;
80
+ altText?: string;
81
+ captions?: Array<{
82
+ lang: string;
83
+ file: string;
84
+ }>;
85
+ }): Promise<{
86
+ success: boolean;
87
+ message: string;
88
+ video: {
89
+ blob: {
90
+ type: string;
91
+ ref: string;
92
+ mimeType: string;
93
+ size: number;
94
+ };
95
+ alt: string;
96
+ aspectRatio?: {
97
+ width: number;
98
+ height: number;
99
+ };
100
+ captions?: Array<{
101
+ lang: string;
102
+ file: string;
103
+ }>;
104
+ };
105
+ }>;
106
+ }
107
+ export declare class CreateRichTextPostTool extends BaseTool {
108
+ readonly schema: {
109
+ method: string;
110
+ description: string;
111
+ params: z.ZodObject<{
112
+ text: z.ZodString;
113
+ facets: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
+ index: z.ZodObject<{
115
+ byteStart: z.ZodNumber;
116
+ byteEnd: z.ZodNumber;
117
+ }, "strip", z.ZodTypeAny, {
118
+ byteStart: number;
119
+ byteEnd: number;
120
+ }, {
121
+ byteStart: number;
122
+ byteEnd: number;
123
+ }>;
124
+ features: z.ZodArray<z.ZodObject<{
125
+ type: z.ZodEnum<["mention", "link", "hashtag"]>;
126
+ value: z.ZodString;
127
+ }, "strip", z.ZodTypeAny, {
128
+ value: string;
129
+ type: "hashtag" | "mention" | "link";
130
+ }, {
131
+ value: string;
132
+ type: "hashtag" | "mention" | "link";
133
+ }>, "many">;
134
+ }, "strip", z.ZodTypeAny, {
135
+ index: {
136
+ byteStart: number;
137
+ byteEnd: number;
138
+ };
139
+ features: {
140
+ value: string;
141
+ type: "hashtag" | "mention" | "link";
142
+ }[];
143
+ }, {
144
+ index: {
145
+ byteStart: number;
146
+ byteEnd: number;
147
+ };
148
+ features: {
149
+ value: string;
150
+ type: "hashtag" | "mention" | "link";
151
+ }[];
152
+ }>, "many">>;
153
+ embed: z.ZodOptional<z.ZodObject<{
154
+ type: z.ZodEnum<["images", "external", "record"]>;
155
+ images: z.ZodOptional<z.ZodArray<z.ZodObject<{
156
+ image: z.ZodString;
157
+ alt: z.ZodString;
158
+ }, "strip", z.ZodTypeAny, {
159
+ alt: string;
160
+ image: string;
161
+ }, {
162
+ alt: string;
163
+ image: string;
164
+ }>, "many">>;
165
+ external: z.ZodOptional<z.ZodObject<{
166
+ uri: z.ZodString;
167
+ title: z.ZodString;
168
+ description: z.ZodString;
169
+ thumb: z.ZodOptional<z.ZodString>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ description: string;
172
+ uri: string;
173
+ title: string;
174
+ thumb?: string | undefined;
175
+ }, {
176
+ description: string;
177
+ uri: string;
178
+ title: string;
179
+ thumb?: string | undefined;
180
+ }>>;
181
+ record: z.ZodOptional<z.ZodObject<{
182
+ uri: z.ZodString;
183
+ cid: z.ZodString;
184
+ }, "strip", z.ZodTypeAny, {
185
+ uri: string;
186
+ cid: string;
187
+ }, {
188
+ uri: string;
189
+ cid: string;
190
+ }>>;
191
+ }, "strip", z.ZodTypeAny, {
192
+ type: "images" | "external" | "record";
193
+ images?: {
194
+ alt: string;
195
+ image: string;
196
+ }[] | undefined;
197
+ external?: {
198
+ description: string;
199
+ uri: string;
200
+ title: string;
201
+ thumb?: string | undefined;
202
+ } | undefined;
203
+ record?: {
204
+ uri: string;
205
+ cid: string;
206
+ } | undefined;
207
+ }, {
208
+ type: "images" | "external" | "record";
209
+ images?: {
210
+ alt: string;
211
+ image: string;
212
+ }[] | undefined;
213
+ external?: {
214
+ description: string;
215
+ uri: string;
216
+ title: string;
217
+ thumb?: string | undefined;
218
+ } | undefined;
219
+ record?: {
220
+ uri: string;
221
+ cid: string;
222
+ } | undefined;
223
+ }>>;
224
+ }, "strip", z.ZodTypeAny, {
225
+ text: string;
226
+ embed?: {
227
+ type: "images" | "external" | "record";
228
+ images?: {
229
+ alt: string;
230
+ image: string;
231
+ }[] | undefined;
232
+ external?: {
233
+ description: string;
234
+ uri: string;
235
+ title: string;
236
+ thumb?: string | undefined;
237
+ } | undefined;
238
+ record?: {
239
+ uri: string;
240
+ cid: string;
241
+ } | undefined;
242
+ } | undefined;
243
+ facets?: {
244
+ index: {
245
+ byteStart: number;
246
+ byteEnd: number;
247
+ };
248
+ features: {
249
+ value: string;
250
+ type: "hashtag" | "mention" | "link";
251
+ }[];
252
+ }[] | undefined;
253
+ }, {
254
+ text: string;
255
+ embed?: {
256
+ type: "images" | "external" | "record";
257
+ images?: {
258
+ alt: string;
259
+ image: string;
260
+ }[] | undefined;
261
+ external?: {
262
+ description: string;
263
+ uri: string;
264
+ title: string;
265
+ thumb?: string | undefined;
266
+ } | undefined;
267
+ record?: {
268
+ uri: string;
269
+ cid: string;
270
+ } | undefined;
271
+ } | undefined;
272
+ facets?: {
273
+ index: {
274
+ byteStart: number;
275
+ byteEnd: number;
276
+ };
277
+ features: {
278
+ value: string;
279
+ type: "hashtag" | "mention" | "link";
280
+ }[];
281
+ }[] | undefined;
282
+ }>;
283
+ };
284
+ constructor(atpClient: AtpClient);
285
+ protected execute(params: {
286
+ text: string;
287
+ facets?: Array<{
288
+ index: {
289
+ byteStart: number;
290
+ byteEnd: number;
291
+ };
292
+ features: Array<{
293
+ type: string;
294
+ value: string;
295
+ }>;
296
+ }>;
297
+ embed?: {
298
+ type: string;
299
+ images?: Array<{
300
+ image: string;
301
+ alt: string;
302
+ }>;
303
+ external?: {
304
+ uri: string;
305
+ title: string;
306
+ description: string;
307
+ thumb?: string;
308
+ };
309
+ record?: {
310
+ uri: string;
311
+ cid: string;
312
+ };
313
+ };
314
+ }): Promise<{
315
+ success: boolean;
316
+ message: string;
317
+ post: {
318
+ uri: string;
319
+ cid: string;
320
+ text: string;
321
+ facets?: any[];
322
+ embed?: any;
323
+ createdAt: string;
324
+ };
325
+ }>;
326
+ }
327
+ export declare class GenerateLinkPreviewTool extends BaseTool {
328
+ readonly schema: {
329
+ method: string;
330
+ description: string;
331
+ params: z.ZodObject<{
332
+ url: z.ZodString;
333
+ }, "strip", z.ZodTypeAny, {
334
+ url: string;
335
+ }, {
336
+ url: string;
337
+ }>;
338
+ };
339
+ constructor(atpClient: AtpClient);
340
+ protected execute(params: {
341
+ url: string;
342
+ }): Promise<{
343
+ success: boolean;
344
+ message: string;
345
+ preview: {
346
+ uri: string;
347
+ title: string;
348
+ description: string;
349
+ thumb?: {
350
+ blob: {
351
+ type: string;
352
+ ref: string;
353
+ mimeType: string;
354
+ size: number;
355
+ };
356
+ };
357
+ };
358
+ }>;
359
+ }
360
+ //# sourceMappingURL=media-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-tools.d.ts","sourceRoot":"","sources":["../../../src/tools/implementations/media-tools.ts"],"names":[],"mappings":"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"}