@anvil-js/client 0.0.1 → 0.0.3

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.
@@ -0,0 +1,1932 @@
1
+ import * as _trpc_client from '@trpc/client';
2
+ import * as _trpc_server from '@trpc/server';
3
+
4
+ interface AnvilClientConfig {
5
+ /** Base URL of the Anvil API, e.g. "http://localhost:3001/v1" */
6
+ baseUrl: string;
7
+ /** Async getter for the bearer token (read from Tauri secure store / OS keyring). */
8
+ getToken: () => string | null | Promise<string | null>;
9
+ /** Optional: invoked on 401 responses so the UI can redirect to /login. */
10
+ onAuthError?: () => void;
11
+ /** Optional: disable WebSocket subscriptions (e.g. SSR / tests). */
12
+ disableWebSocket?: boolean;
13
+ }
14
+ declare const createAnvilClient: (config: AnvilClientConfig) => _trpc_client.TRPCClient<_trpc_server.TRPCBuiltRouter<{
15
+ ctx: {
16
+ userUuid: string | undefined;
17
+ token: string | undefined;
18
+ requestId: string;
19
+ };
20
+ meta: object;
21
+ errorShape: {
22
+ data: {
23
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
24
+ httpStatus: number;
25
+ };
26
+ message: string;
27
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
28
+ };
29
+ transformer: false;
30
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
31
+ v1: _trpc_server.TRPCBuiltRouter<{
32
+ ctx: {
33
+ userUuid: string | undefined;
34
+ token: string | undefined;
35
+ requestId: string;
36
+ };
37
+ meta: object;
38
+ errorShape: {
39
+ data: {
40
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
41
+ httpStatus: number;
42
+ };
43
+ message: string;
44
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
45
+ };
46
+ transformer: false;
47
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
48
+ health: _trpc_server.TRPCBuiltRouter<{
49
+ ctx: {
50
+ userUuid: string | undefined;
51
+ token: string | undefined;
52
+ requestId: string;
53
+ };
54
+ meta: object;
55
+ errorShape: {
56
+ data: {
57
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
58
+ httpStatus: number;
59
+ };
60
+ message: string;
61
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
62
+ };
63
+ transformer: false;
64
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
65
+ ping: _trpc_server.TRPCQueryProcedure<{
66
+ input: void;
67
+ output: {
68
+ status: string;
69
+ version: string;
70
+ timestamp: string;
71
+ };
72
+ meta: object;
73
+ }>;
74
+ version: _trpc_server.TRPCQueryProcedure<{
75
+ input: void;
76
+ output: {
77
+ api: string;
78
+ minLauncher: string;
79
+ recommendedLauncher: string;
80
+ deprecations: string[];
81
+ };
82
+ meta: object;
83
+ }>;
84
+ }>>;
85
+ auth: _trpc_server.TRPCBuiltRouter<{
86
+ ctx: {
87
+ userUuid: string | undefined;
88
+ token: string | undefined;
89
+ requestId: string;
90
+ };
91
+ meta: object;
92
+ errorShape: {
93
+ data: {
94
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
95
+ httpStatus: number;
96
+ };
97
+ message: string;
98
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
99
+ };
100
+ transformer: false;
101
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
102
+ signIn: _trpc_server.TRPCMutationProcedure<{
103
+ input: {
104
+ email: string;
105
+ password: string;
106
+ };
107
+ output: {
108
+ accessToken: string;
109
+ refreshToken: string;
110
+ expiresAt: string;
111
+ user: {
112
+ email: string;
113
+ uuid: string;
114
+ username: string;
115
+ displayName: string;
116
+ avatarUrl: string | null;
117
+ role: "USER" | "MODERATOR" | "ADMIN";
118
+ };
119
+ };
120
+ meta: object;
121
+ }>;
122
+ signUp: _trpc_server.TRPCMutationProcedure<{
123
+ input: {
124
+ email: string;
125
+ password: string;
126
+ username: string;
127
+ };
128
+ output: {
129
+ accessToken: string;
130
+ refreshToken: string;
131
+ expiresAt: string;
132
+ user: {
133
+ email: string;
134
+ uuid: string;
135
+ username: string;
136
+ displayName: string;
137
+ avatarUrl: string | null;
138
+ role: "USER" | "MODERATOR" | "ADMIN";
139
+ };
140
+ };
141
+ meta: object;
142
+ }>;
143
+ refresh: _trpc_server.TRPCMutationProcedure<{
144
+ input: {
145
+ refreshToken: string;
146
+ };
147
+ output: {
148
+ accessToken: string;
149
+ refreshToken: string;
150
+ expiresAt: string;
151
+ };
152
+ meta: object;
153
+ }>;
154
+ validate: _trpc_server.TRPCQueryProcedure<{
155
+ input: {
156
+ token: string;
157
+ };
158
+ output: {
159
+ valid: boolean;
160
+ expiresAt?: string | undefined;
161
+ user?: {
162
+ email: string;
163
+ uuid: string;
164
+ username: string;
165
+ displayName: string;
166
+ avatarUrl: string | null;
167
+ role: "USER" | "MODERATOR" | "ADMIN";
168
+ } | undefined;
169
+ };
170
+ meta: object;
171
+ }>;
172
+ forgotPassword: _trpc_server.TRPCMutationProcedure<{
173
+ input: {
174
+ email: string;
175
+ };
176
+ output: void;
177
+ meta: object;
178
+ }>;
179
+ resetPassword: _trpc_server.TRPCMutationProcedure<{
180
+ input: {
181
+ token: string;
182
+ newPassword: string;
183
+ };
184
+ output: void;
185
+ meta: object;
186
+ }>;
187
+ signOut: _trpc_server.TRPCMutationProcedure<{
188
+ input: void;
189
+ output: void;
190
+ meta: object;
191
+ }>;
192
+ session: _trpc_server.TRPCBuiltRouter<{
193
+ ctx: {
194
+ userUuid: string | undefined;
195
+ token: string | undefined;
196
+ requestId: string;
197
+ };
198
+ meta: object;
199
+ errorShape: {
200
+ data: {
201
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
202
+ httpStatus: number;
203
+ };
204
+ message: string;
205
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
206
+ };
207
+ transformer: false;
208
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
209
+ current: _trpc_server.TRPCQueryProcedure<{
210
+ input: void;
211
+ output: {
212
+ anvil: {
213
+ accessToken: string;
214
+ refreshToken: string;
215
+ expiresAt: string;
216
+ user: {
217
+ email: string;
218
+ uuid: string;
219
+ username: string;
220
+ displayName: string;
221
+ avatarUrl: string | null;
222
+ role: "USER" | "MODERATOR" | "ADMIN";
223
+ };
224
+ };
225
+ mojang: {
226
+ accessToken: string;
227
+ expiresAt: string;
228
+ uuid: string;
229
+ username: string;
230
+ } | null;
231
+ };
232
+ meta: object;
233
+ }>;
234
+ }>>;
235
+ mojang: _trpc_server.TRPCBuiltRouter<{
236
+ ctx: {
237
+ userUuid: string | undefined;
238
+ token: string | undefined;
239
+ requestId: string;
240
+ };
241
+ meta: object;
242
+ errorShape: {
243
+ data: {
244
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
245
+ httpStatus: number;
246
+ };
247
+ message: string;
248
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
249
+ };
250
+ transformer: false;
251
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
252
+ startDeviceCode: _trpc_server.TRPCMutationProcedure<{
253
+ input: void;
254
+ output: {
255
+ deviceCode: string;
256
+ userCode: string;
257
+ verificationUri: string;
258
+ expiresIn: number;
259
+ interval: number;
260
+ };
261
+ meta: object;
262
+ }>;
263
+ pollDeviceCode: _trpc_server.TRPCQueryProcedure<{
264
+ input: {
265
+ deviceCode: string;
266
+ };
267
+ output: {
268
+ kind: "success";
269
+ mcAccessToken: string;
270
+ mcRefreshToken: string;
271
+ mcExpiresAt: string;
272
+ profile: {
273
+ uuid: string;
274
+ username: string;
275
+ };
276
+ } | {
277
+ kind: "pending";
278
+ } | {
279
+ code: "authorization_declined" | "expired" | "slow_down";
280
+ kind: "error";
281
+ };
282
+ meta: object;
283
+ }>;
284
+ }>>;
285
+ }>>;
286
+ profile: _trpc_server.TRPCBuiltRouter<{
287
+ ctx: {
288
+ userUuid: string | undefined;
289
+ token: string | undefined;
290
+ requestId: string;
291
+ };
292
+ meta: object;
293
+ errorShape: {
294
+ data: {
295
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
296
+ httpStatus: number;
297
+ };
298
+ message: string;
299
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
300
+ };
301
+ transformer: false;
302
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
303
+ update: _trpc_server.TRPCMutationProcedure<{
304
+ input: {
305
+ displayName?: string | undefined;
306
+ avatarUrl?: string | null | undefined;
307
+ bio?: string | null | undefined;
308
+ };
309
+ output: never;
310
+ meta: object;
311
+ }>;
312
+ changePassword: _trpc_server.TRPCMutationProcedure<{
313
+ input: {
314
+ newPassword: string;
315
+ currentPassword: string;
316
+ };
317
+ output: never;
318
+ meta: object;
319
+ }>;
320
+ }>>;
321
+ builds: _trpc_server.TRPCBuiltRouter<{
322
+ ctx: {
323
+ userUuid: string | undefined;
324
+ token: string | undefined;
325
+ requestId: string;
326
+ };
327
+ meta: object;
328
+ errorShape: {
329
+ data: {
330
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
331
+ httpStatus: number;
332
+ };
333
+ message: string;
334
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
335
+ };
336
+ transformer: false;
337
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
338
+ list: _trpc_server.TRPCQueryProcedure<{
339
+ input: {
340
+ sort?: "popular" | "recent" | "name" | undefined;
341
+ search?: string | undefined;
342
+ tags?: string[] | undefined;
343
+ mcVersions?: string[] | undefined;
344
+ loaders?: ("vanilla" | "fabric" | "forge" | "neoforge" | "quilt")[] | undefined;
345
+ visibility?: ("public" | "private" | "unlisted")[] | undefined;
346
+ source?: ("anvil" | "modrinth")[] | undefined;
347
+ page?: number | undefined;
348
+ pageSize?: number | undefined;
349
+ };
350
+ output: {
351
+ page: number;
352
+ pageSize: number;
353
+ items: {
354
+ mcVersions: string[];
355
+ loaders: ("vanilla" | "fabric" | "forge" | "neoforge" | "quilt")[];
356
+ visibility: "public" | "private" | "unlisted";
357
+ source: "anvil" | "modrinth";
358
+ name: string;
359
+ id: string;
360
+ slug: string;
361
+ shortDescription: string;
362
+ iconUrl: string | null;
363
+ pricing: {
364
+ model: "free";
365
+ } | {
366
+ model: "paid";
367
+ priceCents: number;
368
+ currency: string;
369
+ } | {
370
+ model: "subscription";
371
+ tiers: {
372
+ interval: "month" | "year";
373
+ name: string;
374
+ id: string;
375
+ priceCents: number;
376
+ }[];
377
+ };
378
+ stats: {
379
+ downloads: number;
380
+ favorites: number;
381
+ updatedAt: string;
382
+ };
383
+ }[];
384
+ total: number;
385
+ };
386
+ meta: object;
387
+ }>;
388
+ get: _trpc_server.TRPCQueryProcedure<{
389
+ input: {
390
+ idOrSlug: string;
391
+ };
392
+ output: {
393
+ mcVersions: string[];
394
+ loaders: ("vanilla" | "fabric" | "forge" | "neoforge" | "quilt")[];
395
+ visibility: "public" | "private" | "unlisted";
396
+ source: "anvil" | "modrinth";
397
+ name: string;
398
+ id: string;
399
+ slug: string;
400
+ shortDescription: string;
401
+ iconUrl: string | null;
402
+ pricing: {
403
+ model: "free";
404
+ } | {
405
+ model: "paid";
406
+ priceCents: number;
407
+ currency: string;
408
+ } | {
409
+ model: "subscription";
410
+ tiers: {
411
+ interval: "month" | "year";
412
+ name: string;
413
+ id: string;
414
+ priceCents: number;
415
+ }[];
416
+ };
417
+ stats: {
418
+ downloads: number;
419
+ favorites: number;
420
+ updatedAt: string;
421
+ };
422
+ versions: {
423
+ name: string;
424
+ id: string;
425
+ buildId: string;
426
+ mcVersion: string;
427
+ loader: "vanilla" | "fabric" | "forge" | "neoforge" | "quilt";
428
+ loaderVersion: string;
429
+ files: {
430
+ url: string;
431
+ sha256: string;
432
+ sizeBytes: number;
433
+ primary: boolean;
434
+ }[];
435
+ dependencies: {
436
+ kind: "required" | "optional" | "incompatible" | "embedded";
437
+ projectId: string;
438
+ versionId?: string | undefined;
439
+ }[];
440
+ publishedAt: string;
441
+ changelog?: string | undefined;
442
+ }[];
443
+ description?: string | undefined;
444
+ longDescription?: Record<string, string> | undefined;
445
+ };
446
+ meta: object;
447
+ }>;
448
+ getVersions: _trpc_server.TRPCQueryProcedure<{
449
+ input: {
450
+ buildId: string;
451
+ };
452
+ output: any[];
453
+ meta: object;
454
+ }>;
455
+ requestDownload: _trpc_server.TRPCMutationProcedure<{
456
+ input: {
457
+ versionId: string;
458
+ clientArch?: "x64" | "arm64" | "x86" | undefined;
459
+ };
460
+ output: {
461
+ expiresAt: string;
462
+ sha256: string;
463
+ sizeBytes: number;
464
+ installId: string;
465
+ downloadUrl: string;
466
+ };
467
+ meta: object;
468
+ }>;
469
+ }>>;
470
+ licenses: _trpc_server.TRPCBuiltRouter<{
471
+ ctx: {
472
+ userUuid: string | undefined;
473
+ token: string | undefined;
474
+ requestId: string;
475
+ };
476
+ meta: object;
477
+ errorShape: {
478
+ data: {
479
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
480
+ httpStatus: number;
481
+ };
482
+ message: string;
483
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
484
+ };
485
+ transformer: false;
486
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
487
+ list: _trpc_server.TRPCQueryProcedure<{
488
+ input: {
489
+ status?: "expired" | "active" | "revoked" | undefined;
490
+ buildId?: string | undefined;
491
+ };
492
+ output: {
493
+ status: "expired" | "active" | "revoked";
494
+ expiresAt: string | null;
495
+ source: "subscription" | "purchase" | "gift" | "promo" | "dev_grant";
496
+ id: string;
497
+ buildId: string;
498
+ buildName: string;
499
+ grantedAt: string;
500
+ }[];
501
+ meta: object;
502
+ }>;
503
+ check: _trpc_server.TRPCQueryProcedure<{
504
+ input: {
505
+ buildId: string;
506
+ };
507
+ output: {
508
+ hasAccess: boolean;
509
+ license?: {
510
+ status: "expired" | "active" | "revoked";
511
+ expiresAt: string | null;
512
+ source: "subscription" | "purchase" | "gift" | "promo" | "dev_grant";
513
+ id: string;
514
+ buildId: string;
515
+ buildName: string;
516
+ grantedAt: string;
517
+ } | undefined;
518
+ reason?: "expired" | "revoked" | "no_license" | "region_locked" | undefined;
519
+ };
520
+ meta: object;
521
+ }>;
522
+ }>>;
523
+ social: _trpc_server.TRPCBuiltRouter<{
524
+ ctx: {
525
+ userUuid: string | undefined;
526
+ token: string | undefined;
527
+ requestId: string;
528
+ };
529
+ meta: object;
530
+ errorShape: {
531
+ data: {
532
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
533
+ httpStatus: number;
534
+ };
535
+ message: string;
536
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
537
+ };
538
+ transformer: false;
539
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
540
+ relationships: _trpc_server.TRPCBuiltRouter<{
541
+ ctx: {
542
+ userUuid: string | undefined;
543
+ token: string | undefined;
544
+ requestId: string;
545
+ };
546
+ meta: object;
547
+ errorShape: {
548
+ data: {
549
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
550
+ httpStatus: number;
551
+ };
552
+ message: string;
553
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
554
+ };
555
+ transformer: false;
556
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
557
+ create: _trpc_server.TRPCMutationProcedure<{
558
+ input: {
559
+ type: "FRIENDS" | "BLOCKED" | "NEUTRAL";
560
+ targetUuid: string;
561
+ };
562
+ output: {
563
+ relationship: {
564
+ type: "FRIENDS" | "BLOCKED" | "NEUTRAL";
565
+ status: "PENDING" | "VERIFIED";
566
+ id: string;
567
+ direction: "INCOMING" | "OUTGOING" | "MUTUAL";
568
+ otherUser: {
569
+ email: string;
570
+ uuid: string;
571
+ username: string;
572
+ displayName: string;
573
+ avatarUrl: string | null;
574
+ role: "USER" | "MODERATOR" | "ADMIN";
575
+ };
576
+ since: string;
577
+ initiatorUuid: string;
578
+ };
579
+ created: boolean;
580
+ };
581
+ meta: object;
582
+ }>;
583
+ delete: _trpc_server.TRPCMutationProcedure<{
584
+ input: {
585
+ type: "FRIENDS" | "BLOCKED" | "NEUTRAL";
586
+ targetUuid: string;
587
+ };
588
+ output: {
589
+ deleted: boolean;
590
+ };
591
+ meta: object;
592
+ }>;
593
+ list: _trpc_server.TRPCQueryProcedure<{
594
+ input: {
595
+ type?: "FRIENDS" | "BLOCKED" | "INCOMING_PENDING" | "OUTGOING_PENDING" | undefined;
596
+ };
597
+ output: {
598
+ items: {
599
+ type: "FRIENDS" | "BLOCKED" | "NEUTRAL";
600
+ status: "PENDING" | "VERIFIED";
601
+ id: string;
602
+ direction: "INCOMING" | "OUTGOING" | "MUTUAL";
603
+ otherUser: {
604
+ email: string;
605
+ uuid: string;
606
+ username: string;
607
+ displayName: string;
608
+ avatarUrl: string | null;
609
+ role: "USER" | "MODERATOR" | "ADMIN";
610
+ };
611
+ since: string;
612
+ initiatorUuid: string;
613
+ }[];
614
+ };
615
+ meta: object;
616
+ }>;
617
+ acceptRequest: _trpc_server.TRPCMutationProcedure<{
618
+ input: {
619
+ fromUuid: string;
620
+ };
621
+ output: {
622
+ relationship: {
623
+ type: "FRIENDS" | "BLOCKED" | "NEUTRAL";
624
+ status: "PENDING" | "VERIFIED";
625
+ id: string;
626
+ direction: "INCOMING" | "OUTGOING" | "MUTUAL";
627
+ otherUser: {
628
+ email: string;
629
+ uuid: string;
630
+ username: string;
631
+ displayName: string;
632
+ avatarUrl: string | null;
633
+ role: "USER" | "MODERATOR" | "ADMIN";
634
+ };
635
+ since: string;
636
+ initiatorUuid: string;
637
+ };
638
+ };
639
+ meta: object;
640
+ }>;
641
+ cancelRequest: _trpc_server.TRPCMutationProcedure<{
642
+ input: {
643
+ toUuid: string;
644
+ };
645
+ output: {
646
+ cancelled: boolean;
647
+ };
648
+ meta: object;
649
+ }>;
650
+ }>>;
651
+ users: _trpc_server.TRPCBuiltRouter<{
652
+ ctx: {
653
+ userUuid: string | undefined;
654
+ token: string | undefined;
655
+ requestId: string;
656
+ };
657
+ meta: object;
658
+ errorShape: {
659
+ data: {
660
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
661
+ httpStatus: number;
662
+ };
663
+ message: string;
664
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
665
+ };
666
+ transformer: false;
667
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
668
+ lookupByName: _trpc_server.TRPCQueryProcedure<{
669
+ input: {
670
+ username: string;
671
+ };
672
+ output: {
673
+ user: {
674
+ uuid: string;
675
+ username: string;
676
+ displayName: string;
677
+ } | null;
678
+ nameMap: Record<string, string>;
679
+ };
680
+ meta: object;
681
+ }>;
682
+ }>>;
683
+ presence: _trpc_server.TRPCBuiltRouter<{
684
+ ctx: {
685
+ userUuid: string | undefined;
686
+ token: string | undefined;
687
+ requestId: string;
688
+ };
689
+ meta: object;
690
+ errorShape: {
691
+ data: {
692
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
693
+ httpStatus: number;
694
+ };
695
+ message: string;
696
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
697
+ };
698
+ transformer: false;
699
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
700
+ get: _trpc_server.TRPCQueryProcedure<{
701
+ input: {
702
+ uuids: string[];
703
+ };
704
+ output: {
705
+ items: {
706
+ status: "ONLINE" | "OFFLINE" | "AWAY" | "BUSY";
707
+ uuid: string;
708
+ lastOnline: string;
709
+ currentActivity?: {
710
+ type: string;
711
+ metadata: Record<string, string>;
712
+ } | undefined;
713
+ }[];
714
+ };
715
+ meta: object;
716
+ }>;
717
+ }>>;
718
+ activity: _trpc_server.TRPCBuiltRouter<{
719
+ ctx: {
720
+ userUuid: string | undefined;
721
+ token: string | undefined;
722
+ requestId: string;
723
+ };
724
+ meta: object;
725
+ errorShape: {
726
+ data: {
727
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
728
+ httpStatus: number;
729
+ };
730
+ message: string;
731
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
732
+ };
733
+ transformer: false;
734
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
735
+ report: _trpc_server.TRPCMutationProcedure<{
736
+ input: {
737
+ type: string;
738
+ metadata: Record<string, string>;
739
+ };
740
+ output: void;
741
+ meta: object;
742
+ }>;
743
+ }>>;
744
+ invites: _trpc_server.TRPCBuiltRouter<{
745
+ ctx: {
746
+ userUuid: string | undefined;
747
+ token: string | undefined;
748
+ requestId: string;
749
+ };
750
+ meta: object;
751
+ errorShape: {
752
+ data: {
753
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
754
+ httpStatus: number;
755
+ };
756
+ message: string;
757
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
758
+ };
759
+ transformer: false;
760
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
761
+ toServer: _trpc_server.TRPCMutationProcedure<{
762
+ input: {
763
+ targetUuid: string;
764
+ address: string;
765
+ };
766
+ output: {
767
+ delivered: boolean;
768
+ };
769
+ meta: object;
770
+ }>;
771
+ }>>;
772
+ trustedHosts: _trpc_server.TRPCBuiltRouter<{
773
+ ctx: {
774
+ userUuid: string | undefined;
775
+ token: string | undefined;
776
+ requestId: string;
777
+ };
778
+ meta: object;
779
+ errorShape: {
780
+ data: {
781
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
782
+ httpStatus: number;
783
+ };
784
+ message: string;
785
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
786
+ };
787
+ transformer: false;
788
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
789
+ list: _trpc_server.TRPCQueryProcedure<{
790
+ input: void;
791
+ output: {
792
+ items: {
793
+ name: string;
794
+ id: string;
795
+ domains: string[];
796
+ addedAt: string;
797
+ }[];
798
+ };
799
+ meta: object;
800
+ }>;
801
+ create: _trpc_server.TRPCMutationProcedure<{
802
+ input: {
803
+ name: string;
804
+ domains: string[];
805
+ };
806
+ output: {
807
+ host: {
808
+ name: string;
809
+ id: string;
810
+ domains: string[];
811
+ addedAt: string;
812
+ };
813
+ };
814
+ meta: object;
815
+ }>;
816
+ delete: _trpc_server.TRPCMutationProcedure<{
817
+ input: {
818
+ id: string;
819
+ };
820
+ output: {
821
+ deleted: boolean;
822
+ };
823
+ meta: object;
824
+ }>;
825
+ }>>;
826
+ communityRules: _trpc_server.TRPCBuiltRouter<{
827
+ ctx: {
828
+ userUuid: string | undefined;
829
+ token: string | undefined;
830
+ requestId: string;
831
+ };
832
+ meta: object;
833
+ errorShape: {
834
+ data: {
835
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
836
+ httpStatus: number;
837
+ };
838
+ message: string;
839
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
840
+ };
841
+ transformer: false;
842
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
843
+ get: _trpc_server.TRPCQueryProcedure<{
844
+ input: void;
845
+ output: {
846
+ version: string;
847
+ updatedAt: string;
848
+ accepted: boolean;
849
+ rules: {
850
+ locale: string;
851
+ title: string;
852
+ body: string;
853
+ }[];
854
+ };
855
+ meta: object;
856
+ }>;
857
+ agree: _trpc_server.TRPCMutationProcedure<{
858
+ input: void;
859
+ output: {
860
+ accepted: boolean;
861
+ };
862
+ meta: object;
863
+ }>;
864
+ }>>;
865
+ suspension: _trpc_server.TRPCBuiltRouter<{
866
+ ctx: {
867
+ userUuid: string | undefined;
868
+ token: string | undefined;
869
+ requestId: string;
870
+ };
871
+ meta: object;
872
+ errorShape: {
873
+ data: {
874
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
875
+ httpStatus: number;
876
+ };
877
+ message: string;
878
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
879
+ };
880
+ transformer: false;
881
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
882
+ get: _trpc_server.TRPCQueryProcedure<{
883
+ input: void;
884
+ output: {
885
+ suspended: boolean;
886
+ expiresAt?: string | undefined;
887
+ reason?: string | undefined;
888
+ };
889
+ meta: object;
890
+ }>;
891
+ }>>;
892
+ }>>;
893
+ cosmetics: _trpc_server.TRPCBuiltRouter<{
894
+ ctx: {
895
+ userUuid: string | undefined;
896
+ token: string | undefined;
897
+ requestId: string;
898
+ };
899
+ meta: object;
900
+ errorShape: {
901
+ data: {
902
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
903
+ httpStatus: number;
904
+ };
905
+ message: string;
906
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
907
+ };
908
+ transformer: false;
909
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
910
+ list: _trpc_server.TRPCQueryProcedure<{
911
+ input: {
912
+ type?: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote" | undefined;
913
+ owned?: boolean | undefined;
914
+ limit?: number | undefined;
915
+ offset?: number | undefined;
916
+ };
917
+ output: {
918
+ items: {
919
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
920
+ name: Record<string, string>;
921
+ id: string;
922
+ iconUrl: string | null;
923
+ owned: boolean;
924
+ rarity: "common" | "uncommon" | "rare" | "epic" | "legendary";
925
+ modelUrl: string | null;
926
+ equipped: boolean;
927
+ description?: Record<string, string> | undefined;
928
+ }[];
929
+ total: number;
930
+ };
931
+ meta: object;
932
+ }>;
933
+ equip: _trpc_server.TRPCMutationProcedure<{
934
+ input: {
935
+ equipped: boolean;
936
+ cosmeticId: string;
937
+ };
938
+ output: {
939
+ ok: boolean;
940
+ };
941
+ meta: object;
942
+ }>;
943
+ }>>;
944
+ admin: _trpc_server.TRPCBuiltRouter<{
945
+ ctx: {
946
+ userUuid: string | undefined;
947
+ token: string | undefined;
948
+ requestId: string;
949
+ };
950
+ meta: object;
951
+ errorShape: {
952
+ data: {
953
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
954
+ httpStatus: number;
955
+ };
956
+ message: string;
957
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
958
+ };
959
+ transformer: false;
960
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
961
+ users: _trpc_server.TRPCBuiltRouter<{
962
+ ctx: {
963
+ userUuid: string | undefined;
964
+ token: string | undefined;
965
+ requestId: string;
966
+ };
967
+ meta: object;
968
+ errorShape: {
969
+ data: {
970
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
971
+ httpStatus: number;
972
+ };
973
+ message: string;
974
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
975
+ };
976
+ transformer: false;
977
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
978
+ list: _trpc_server.TRPCQueryProcedure<{
979
+ input: {
980
+ search?: string | undefined;
981
+ limit?: number | undefined;
982
+ offset?: number | undefined;
983
+ } | undefined;
984
+ output: never;
985
+ meta: object;
986
+ }>;
987
+ get: _trpc_server.TRPCQueryProcedure<{
988
+ input: {
989
+ uuid: string;
990
+ };
991
+ output: never;
992
+ meta: object;
993
+ }>;
994
+ updateRole: _trpc_server.TRPCMutationProcedure<{
995
+ input: {
996
+ uuid: string;
997
+ role: "USER" | "MODERATOR" | "ADMIN";
998
+ };
999
+ output: never;
1000
+ meta: object;
1001
+ }>;
1002
+ ban: _trpc_server.TRPCMutationProcedure<{
1003
+ input: {
1004
+ uuid: string;
1005
+ };
1006
+ output: never;
1007
+ meta: object;
1008
+ }>;
1009
+ }>>;
1010
+ builds: _trpc_server.TRPCBuiltRouter<{
1011
+ ctx: {
1012
+ userUuid: string | undefined;
1013
+ token: string | undefined;
1014
+ requestId: string;
1015
+ };
1016
+ meta: object;
1017
+ errorShape: {
1018
+ data: {
1019
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1020
+ httpStatus: number;
1021
+ };
1022
+ message: string;
1023
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1024
+ };
1025
+ transformer: false;
1026
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1027
+ list: _trpc_server.TRPCQueryProcedure<{
1028
+ input: void;
1029
+ output: never;
1030
+ meta: object;
1031
+ }>;
1032
+ create: _trpc_server.TRPCMutationProcedure<{
1033
+ input: {
1034
+ name: string;
1035
+ slug: string;
1036
+ visibility?: "PUBLIC" | "PRIVATE" | "UNLISTED" | undefined;
1037
+ shortDescription?: string | undefined;
1038
+ iconUrl?: string | undefined;
1039
+ };
1040
+ output: never;
1041
+ meta: object;
1042
+ }>;
1043
+ update: _trpc_server.TRPCMutationProcedure<{
1044
+ input: {
1045
+ id: string;
1046
+ visibility?: "PUBLIC" | "PRIVATE" | "UNLISTED" | undefined;
1047
+ name?: string | undefined;
1048
+ shortDescription?: string | undefined;
1049
+ iconUrl?: string | null | undefined;
1050
+ };
1051
+ output: never;
1052
+ meta: object;
1053
+ }>;
1054
+ delete: _trpc_server.TRPCMutationProcedure<{
1055
+ input: {
1056
+ id: string;
1057
+ };
1058
+ output: never;
1059
+ meta: object;
1060
+ }>;
1061
+ listVersions: _trpc_server.TRPCQueryProcedure<{
1062
+ input: {
1063
+ buildId: string;
1064
+ };
1065
+ output: never;
1066
+ meta: object;
1067
+ }>;
1068
+ createVersion: _trpc_server.TRPCMutationProcedure<{
1069
+ input: {
1070
+ name: string;
1071
+ buildId: string;
1072
+ mcVersion: string;
1073
+ loader: "VANILLA" | "FABRIC" | "FORGE" | "NEOFORGE" | "QUILT";
1074
+ loaderVersion?: string | undefined;
1075
+ sha256?: string | undefined;
1076
+ changelog?: string | undefined;
1077
+ downloadUrl?: string | undefined;
1078
+ bytes?: number | undefined;
1079
+ };
1080
+ output: never;
1081
+ meta: object;
1082
+ }>;
1083
+ deleteVersion: _trpc_server.TRPCMutationProcedure<{
1084
+ input: {
1085
+ id: string;
1086
+ };
1087
+ output: never;
1088
+ meta: object;
1089
+ }>;
1090
+ }>>;
1091
+ telemetry: _trpc_server.TRPCBuiltRouter<{
1092
+ ctx: {
1093
+ userUuid: string | undefined;
1094
+ token: string | undefined;
1095
+ requestId: string;
1096
+ };
1097
+ meta: object;
1098
+ errorShape: {
1099
+ data: {
1100
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1101
+ httpStatus: number;
1102
+ };
1103
+ message: string;
1104
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1105
+ };
1106
+ transformer: false;
1107
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1108
+ recent: _trpc_server.TRPCQueryProcedure<{
1109
+ input: void;
1110
+ output: never;
1111
+ meta: object;
1112
+ }>;
1113
+ }>>;
1114
+ stats: _trpc_server.TRPCQueryProcedure<{
1115
+ input: void;
1116
+ output: never;
1117
+ meta: object;
1118
+ }>;
1119
+ }>>;
1120
+ outfits: _trpc_server.TRPCBuiltRouter<{
1121
+ ctx: {
1122
+ userUuid: string | undefined;
1123
+ token: string | undefined;
1124
+ requestId: string;
1125
+ };
1126
+ meta: object;
1127
+ errorShape: {
1128
+ data: {
1129
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1130
+ httpStatus: number;
1131
+ };
1132
+ message: string;
1133
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1134
+ };
1135
+ transformer: false;
1136
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1137
+ list: _trpc_server.TRPCQueryProcedure<{
1138
+ input: void;
1139
+ output: {
1140
+ items: {
1141
+ name: string;
1142
+ id: string;
1143
+ updatedAt: string;
1144
+ slots: {
1145
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
1146
+ cosmeticId: string | null;
1147
+ }[];
1148
+ createdAt: string;
1149
+ }[];
1150
+ };
1151
+ meta: object;
1152
+ }>;
1153
+ create: _trpc_server.TRPCMutationProcedure<{
1154
+ input: {
1155
+ name: string;
1156
+ slots: {
1157
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
1158
+ cosmeticId: string | null;
1159
+ }[];
1160
+ };
1161
+ output: {
1162
+ outfit: {
1163
+ name: string;
1164
+ id: string;
1165
+ updatedAt: string;
1166
+ slots: {
1167
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
1168
+ cosmeticId: string | null;
1169
+ }[];
1170
+ createdAt: string;
1171
+ };
1172
+ };
1173
+ meta: object;
1174
+ }>;
1175
+ update: _trpc_server.TRPCMutationProcedure<{
1176
+ input: {
1177
+ id: string;
1178
+ name?: string | undefined;
1179
+ slots?: {
1180
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
1181
+ cosmeticId: string | null;
1182
+ }[] | undefined;
1183
+ };
1184
+ output: {
1185
+ outfit: {
1186
+ name: string;
1187
+ id: string;
1188
+ updatedAt: string;
1189
+ slots: {
1190
+ type: "body" | "hat" | "back" | "face" | "hand" | "feet" | "particle" | "emote";
1191
+ cosmeticId: string | null;
1192
+ }[];
1193
+ createdAt: string;
1194
+ };
1195
+ };
1196
+ meta: object;
1197
+ }>;
1198
+ delete: _trpc_server.TRPCMutationProcedure<{
1199
+ input: {
1200
+ id: string;
1201
+ };
1202
+ output: {
1203
+ deleted: boolean;
1204
+ };
1205
+ meta: object;
1206
+ }>;
1207
+ }>>;
1208
+ emoteWheels: _trpc_server.TRPCBuiltRouter<{
1209
+ ctx: {
1210
+ userUuid: string | undefined;
1211
+ token: string | undefined;
1212
+ requestId: string;
1213
+ };
1214
+ meta: object;
1215
+ errorShape: {
1216
+ data: {
1217
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1218
+ httpStatus: number;
1219
+ };
1220
+ message: string;
1221
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1222
+ };
1223
+ transformer: false;
1224
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1225
+ list: _trpc_server.TRPCQueryProcedure<{
1226
+ input: void;
1227
+ output: {
1228
+ items: {
1229
+ name: string;
1230
+ id: string;
1231
+ slots: {
1232
+ position: number;
1233
+ emoteId: string | null;
1234
+ }[];
1235
+ createdAt: string;
1236
+ }[];
1237
+ };
1238
+ meta: object;
1239
+ }>;
1240
+ save: _trpc_server.TRPCMutationProcedure<{
1241
+ input: {
1242
+ name: string;
1243
+ id: string | null;
1244
+ slots: {
1245
+ position: number;
1246
+ emoteId: string | null;
1247
+ }[];
1248
+ };
1249
+ output: {
1250
+ wheel: {
1251
+ name: string;
1252
+ id: string;
1253
+ slots: {
1254
+ position: number;
1255
+ emoteId: string | null;
1256
+ }[];
1257
+ createdAt: string;
1258
+ };
1259
+ };
1260
+ meta: object;
1261
+ }>;
1262
+ }>>;
1263
+ skins: _trpc_server.TRPCBuiltRouter<{
1264
+ ctx: {
1265
+ userUuid: string | undefined;
1266
+ token: string | undefined;
1267
+ requestId: string;
1268
+ };
1269
+ meta: object;
1270
+ errorShape: {
1271
+ data: {
1272
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1273
+ httpStatus: number;
1274
+ };
1275
+ message: string;
1276
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1277
+ };
1278
+ transformer: false;
1279
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1280
+ list: _trpc_server.TRPCQueryProcedure<{
1281
+ input: void;
1282
+ output: {
1283
+ items: {
1284
+ source: "mojang" | "uploaded";
1285
+ name: string;
1286
+ id: string;
1287
+ sha256: string;
1288
+ sizeBytes: number;
1289
+ active: boolean;
1290
+ createdAt: string;
1291
+ variant: "classic" | "slim";
1292
+ textureUrl: string;
1293
+ }[];
1294
+ };
1295
+ meta: object;
1296
+ }>;
1297
+ upload: _trpc_server.TRPCMutationProcedure<{
1298
+ input: {
1299
+ name: string;
1300
+ variant: "classic" | "slim";
1301
+ data: string;
1302
+ };
1303
+ output: {
1304
+ skin: {
1305
+ source: "mojang" | "uploaded";
1306
+ name: string;
1307
+ id: string;
1308
+ sha256: string;
1309
+ sizeBytes: number;
1310
+ active: boolean;
1311
+ createdAt: string;
1312
+ variant: "classic" | "slim";
1313
+ textureUrl: string;
1314
+ };
1315
+ };
1316
+ meta: object;
1317
+ }>;
1318
+ setActive: _trpc_server.TRPCMutationProcedure<{
1319
+ input: {
1320
+ id: string;
1321
+ };
1322
+ output: {
1323
+ ok: boolean;
1324
+ };
1325
+ meta: object;
1326
+ }>;
1327
+ }>>;
1328
+ chat: _trpc_server.TRPCBuiltRouter<{
1329
+ ctx: {
1330
+ userUuid: string | undefined;
1331
+ token: string | undefined;
1332
+ requestId: string;
1333
+ };
1334
+ meta: object;
1335
+ errorShape: {
1336
+ data: {
1337
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1338
+ httpStatus: number;
1339
+ };
1340
+ message: string;
1341
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1342
+ };
1343
+ transformer: false;
1344
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1345
+ channels: _trpc_server.TRPCBuiltRouter<{
1346
+ ctx: {
1347
+ userUuid: string | undefined;
1348
+ token: string | undefined;
1349
+ requestId: string;
1350
+ };
1351
+ meta: object;
1352
+ errorShape: {
1353
+ data: {
1354
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1355
+ httpStatus: number;
1356
+ };
1357
+ message: string;
1358
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1359
+ };
1360
+ transformer: false;
1361
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1362
+ list: _trpc_server.TRPCQueryProcedure<{
1363
+ input: {
1364
+ kind?: "DM" | "GROUP" | "ANNOUNCEMENT" | undefined;
1365
+ };
1366
+ output: {
1367
+ items: {
1368
+ kind: "DM" | "GROUP" | "ANNOUNCEMENT";
1369
+ name: string | null;
1370
+ id: string;
1371
+ createdAt: string;
1372
+ members: {
1373
+ role: "admin" | "owner" | "member";
1374
+ user: {
1375
+ email: string;
1376
+ uuid: string;
1377
+ username: string;
1378
+ displayName: string;
1379
+ avatarUrl: string | null;
1380
+ role: "USER" | "MODERATOR" | "ADMIN";
1381
+ };
1382
+ joinedAt: string;
1383
+ lastReadAt: string | null;
1384
+ muted: boolean;
1385
+ }[];
1386
+ lastMessageAt: string | null;
1387
+ unreadCount: number;
1388
+ }[];
1389
+ };
1390
+ meta: object;
1391
+ }>;
1392
+ createDM: _trpc_server.TRPCMutationProcedure<{
1393
+ input: {
1394
+ otherUserUuid: string;
1395
+ };
1396
+ output: {
1397
+ channel: {
1398
+ kind: "DM" | "GROUP" | "ANNOUNCEMENT";
1399
+ name: string | null;
1400
+ id: string;
1401
+ createdAt: string;
1402
+ members: {
1403
+ role: "admin" | "owner" | "member";
1404
+ user: {
1405
+ email: string;
1406
+ uuid: string;
1407
+ username: string;
1408
+ displayName: string;
1409
+ avatarUrl: string | null;
1410
+ role: "USER" | "MODERATOR" | "ADMIN";
1411
+ };
1412
+ joinedAt: string;
1413
+ lastReadAt: string | null;
1414
+ muted: boolean;
1415
+ }[];
1416
+ lastMessageAt: string | null;
1417
+ unreadCount: number;
1418
+ };
1419
+ };
1420
+ meta: object;
1421
+ }>;
1422
+ createGroup: _trpc_server.TRPCMutationProcedure<{
1423
+ input: {
1424
+ name: string;
1425
+ memberUuids: string[];
1426
+ };
1427
+ output: {
1428
+ channel: {
1429
+ kind: "DM" | "GROUP" | "ANNOUNCEMENT";
1430
+ name: string | null;
1431
+ id: string;
1432
+ createdAt: string;
1433
+ members: {
1434
+ role: "admin" | "owner" | "member";
1435
+ user: {
1436
+ email: string;
1437
+ uuid: string;
1438
+ username: string;
1439
+ displayName: string;
1440
+ avatarUrl: string | null;
1441
+ role: "USER" | "MODERATOR" | "ADMIN";
1442
+ };
1443
+ joinedAt: string;
1444
+ lastReadAt: string | null;
1445
+ muted: boolean;
1446
+ }[];
1447
+ lastMessageAt: string | null;
1448
+ unreadCount: number;
1449
+ };
1450
+ };
1451
+ meta: object;
1452
+ }>;
1453
+ }>>;
1454
+ messages: _trpc_server.TRPCBuiltRouter<{
1455
+ ctx: {
1456
+ userUuid: string | undefined;
1457
+ token: string | undefined;
1458
+ requestId: string;
1459
+ };
1460
+ meta: object;
1461
+ errorShape: {
1462
+ data: {
1463
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1464
+ httpStatus: number;
1465
+ };
1466
+ message: string;
1467
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1468
+ };
1469
+ transformer: false;
1470
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1471
+ list: _trpc_server.TRPCQueryProcedure<{
1472
+ input: {
1473
+ channelId: string;
1474
+ limit?: number | undefined;
1475
+ before?: string | undefined;
1476
+ };
1477
+ output: {
1478
+ items: {
1479
+ id: string;
1480
+ body: string;
1481
+ createdAt: string;
1482
+ channelId: string;
1483
+ authorUuid: string;
1484
+ authorDisplayName: string;
1485
+ editedAt: string | null;
1486
+ deletedAt: string | null;
1487
+ bodyMarkdown?: string | undefined;
1488
+ replyTo?: string | null | undefined;
1489
+ }[];
1490
+ };
1491
+ meta: object;
1492
+ }>;
1493
+ send: _trpc_server.TRPCMutationProcedure<{
1494
+ input: {
1495
+ body: string;
1496
+ channelId: string;
1497
+ replyTo?: string | undefined;
1498
+ };
1499
+ output: {
1500
+ message: {
1501
+ id: string;
1502
+ body: string;
1503
+ createdAt: string;
1504
+ channelId: string;
1505
+ authorUuid: string;
1506
+ authorDisplayName: string;
1507
+ editedAt: string | null;
1508
+ deletedAt: string | null;
1509
+ bodyMarkdown?: string | undefined;
1510
+ replyTo?: string | null | undefined;
1511
+ };
1512
+ };
1513
+ meta: object;
1514
+ }>;
1515
+ edit: _trpc_server.TRPCMutationProcedure<{
1516
+ input: {
1517
+ id: string;
1518
+ body: string;
1519
+ };
1520
+ output: {
1521
+ message: {
1522
+ id: string;
1523
+ body: string;
1524
+ createdAt: string;
1525
+ channelId: string;
1526
+ authorUuid: string;
1527
+ authorDisplayName: string;
1528
+ editedAt: string | null;
1529
+ deletedAt: string | null;
1530
+ bodyMarkdown?: string | undefined;
1531
+ replyTo?: string | null | undefined;
1532
+ };
1533
+ };
1534
+ meta: object;
1535
+ }>;
1536
+ delete: _trpc_server.TRPCMutationProcedure<{
1537
+ input: {
1538
+ id: string;
1539
+ };
1540
+ output: {
1541
+ deleted: boolean;
1542
+ };
1543
+ meta: object;
1544
+ }>;
1545
+ markRead: _trpc_server.TRPCMutationProcedure<{
1546
+ input: {
1547
+ channelId: string;
1548
+ messageId: string;
1549
+ };
1550
+ output: {
1551
+ ok: boolean;
1552
+ };
1553
+ meta: object;
1554
+ }>;
1555
+ report: _trpc_server.TRPCMutationProcedure<{
1556
+ input: {
1557
+ reason: "spam" | "harassment" | "illegal" | "other";
1558
+ messageId: string;
1559
+ note?: string | undefined;
1560
+ };
1561
+ output: {
1562
+ reported: boolean;
1563
+ };
1564
+ meta: object;
1565
+ }>;
1566
+ reports: _trpc_server.TRPCQueryProcedure<{
1567
+ input: {
1568
+ channelId: string;
1569
+ start?: string | undefined;
1570
+ end?: string | undefined;
1571
+ };
1572
+ output: {
1573
+ items: any[];
1574
+ };
1575
+ meta: object;
1576
+ }>;
1577
+ }>>;
1578
+ }>>;
1579
+ media: _trpc_server.TRPCBuiltRouter<{
1580
+ ctx: {
1581
+ userUuid: string | undefined;
1582
+ token: string | undefined;
1583
+ requestId: string;
1584
+ };
1585
+ meta: object;
1586
+ errorShape: {
1587
+ data: {
1588
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1589
+ httpStatus: number;
1590
+ };
1591
+ message: string;
1592
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1593
+ };
1594
+ transformer: false;
1595
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1596
+ list: _trpc_server.TRPCQueryProcedure<{
1597
+ input: {
1598
+ kind?: "skin" | "screenshot" | "video" | "world" | undefined;
1599
+ limit?: number | undefined;
1600
+ offset?: number | undefined;
1601
+ };
1602
+ output: {
1603
+ items: {
1604
+ kind: "skin" | "screenshot" | "video" | "world";
1605
+ id: string;
1606
+ url: string;
1607
+ sha256: string;
1608
+ sizeBytes: number;
1609
+ createdAt: string;
1610
+ thumbnailUrl: string | null;
1611
+ width?: number | undefined;
1612
+ height?: number | undefined;
1613
+ durationSec?: number | undefined;
1614
+ }[];
1615
+ };
1616
+ meta: object;
1617
+ }>;
1618
+ upload: _trpc_server.TRPCMutationProcedure<{
1619
+ input: {
1620
+ kind: "skin" | "screenshot" | "video" | "world";
1621
+ data: string;
1622
+ filename: string;
1623
+ width?: number | undefined;
1624
+ height?: number | undefined;
1625
+ };
1626
+ output: {
1627
+ item: {
1628
+ kind: "skin" | "screenshot" | "video" | "world";
1629
+ id: string;
1630
+ url: string;
1631
+ sha256: string;
1632
+ sizeBytes: number;
1633
+ createdAt: string;
1634
+ thumbnailUrl: string | null;
1635
+ width?: number | undefined;
1636
+ height?: number | undefined;
1637
+ durationSec?: number | undefined;
1638
+ };
1639
+ };
1640
+ meta: object;
1641
+ }>;
1642
+ delete: _trpc_server.TRPCMutationProcedure<{
1643
+ input: {
1644
+ id: string;
1645
+ };
1646
+ output: {
1647
+ deleted: boolean;
1648
+ };
1649
+ meta: object;
1650
+ }>;
1651
+ }>>;
1652
+ multiplayer: _trpc_server.TRPCBuiltRouter<{
1653
+ ctx: {
1654
+ userUuid: string | undefined;
1655
+ token: string | undefined;
1656
+ requestId: string;
1657
+ };
1658
+ meta: object;
1659
+ errorShape: {
1660
+ data: {
1661
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1662
+ httpStatus: number;
1663
+ };
1664
+ message: string;
1665
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1666
+ };
1667
+ transformer: false;
1668
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1669
+ sendSignaling: _trpc_server.TRPCMutationProcedure<{
1670
+ input: {
1671
+ kind: "offer" | "answer" | "candidate";
1672
+ toUuid: string;
1673
+ payload: string;
1674
+ };
1675
+ output: {
1676
+ message: {
1677
+ kind: "offer" | "answer" | "candidate";
1678
+ id: string;
1679
+ fromUuid: string;
1680
+ toUuid: string;
1681
+ createdAt: string;
1682
+ payload: string;
1683
+ };
1684
+ };
1685
+ meta: object;
1686
+ }>;
1687
+ listSignaling: _trpc_server.TRPCQueryProcedure<{
1688
+ input: {
1689
+ since?: string | undefined;
1690
+ fromUuid?: string | undefined;
1691
+ };
1692
+ output: {
1693
+ items: {
1694
+ kind: "offer" | "answer" | "candidate";
1695
+ id: string;
1696
+ fromUuid: string;
1697
+ toUuid: string;
1698
+ createdAt: string;
1699
+ payload: string;
1700
+ }[];
1701
+ };
1702
+ meta: object;
1703
+ }>;
1704
+ }>>;
1705
+ upnp: _trpc_server.TRPCBuiltRouter<{
1706
+ ctx: {
1707
+ userUuid: string | undefined;
1708
+ token: string | undefined;
1709
+ requestId: string;
1710
+ };
1711
+ meta: object;
1712
+ errorShape: {
1713
+ data: {
1714
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1715
+ httpStatus: number;
1716
+ };
1717
+ message: string;
1718
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1719
+ };
1720
+ transformer: false;
1721
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1722
+ list: _trpc_server.TRPCQueryProcedure<{
1723
+ input: void;
1724
+ output: {
1725
+ items: {
1726
+ status: "pending" | "error" | "active" | "closed";
1727
+ id: string;
1728
+ createdAt: string;
1729
+ ownerUuid: string;
1730
+ ownerDisplayName: string;
1731
+ publicAddress: string;
1732
+ publicPort: number;
1733
+ localAddress: string;
1734
+ localPort: number;
1735
+ closedAt: string | null;
1736
+ invitedUuids: string[];
1737
+ }[];
1738
+ };
1739
+ meta: object;
1740
+ }>;
1741
+ create: _trpc_server.TRPCMutationProcedure<{
1742
+ input: {
1743
+ localAddress: string;
1744
+ localPort: number;
1745
+ invitedUuids?: string[] | undefined;
1746
+ };
1747
+ output: {
1748
+ session: {
1749
+ status: "pending" | "error" | "active" | "closed";
1750
+ id: string;
1751
+ createdAt: string;
1752
+ ownerUuid: string;
1753
+ ownerDisplayName: string;
1754
+ publicAddress: string;
1755
+ publicPort: number;
1756
+ localAddress: string;
1757
+ localPort: number;
1758
+ closedAt: string | null;
1759
+ invitedUuids: string[];
1760
+ };
1761
+ };
1762
+ meta: object;
1763
+ }>;
1764
+ close: _trpc_server.TRPCMutationProcedure<{
1765
+ input: {
1766
+ id: string;
1767
+ };
1768
+ output: {
1769
+ closed: boolean;
1770
+ };
1771
+ meta: object;
1772
+ }>;
1773
+ }>>;
1774
+ discovery: _trpc_server.TRPCBuiltRouter<{
1775
+ ctx: {
1776
+ userUuid: string | undefined;
1777
+ token: string | undefined;
1778
+ requestId: string;
1779
+ };
1780
+ meta: object;
1781
+ errorShape: {
1782
+ data: {
1783
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1784
+ httpStatus: number;
1785
+ };
1786
+ message: string;
1787
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1788
+ };
1789
+ transformer: false;
1790
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1791
+ list: _trpc_server.TRPCQueryProcedure<{
1792
+ input: void;
1793
+ output: {
1794
+ items: {
1795
+ version: string | null;
1796
+ source: "anvil" | "community";
1797
+ name: string;
1798
+ id: string;
1799
+ iconUrl: string | null;
1800
+ address: string;
1801
+ playerCount: number | null;
1802
+ maxPlayers: number | null;
1803
+ pingMs: number | null;
1804
+ description?: string | undefined;
1805
+ }[];
1806
+ };
1807
+ meta: object;
1808
+ }>;
1809
+ }>>;
1810
+ system: _trpc_server.TRPCBuiltRouter<{
1811
+ ctx: {
1812
+ userUuid: string | undefined;
1813
+ token: string | undefined;
1814
+ requestId: string;
1815
+ };
1816
+ meta: object;
1817
+ errorShape: {
1818
+ data: {
1819
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1820
+ httpStatus: number;
1821
+ };
1822
+ message: string;
1823
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1824
+ };
1825
+ transformer: false;
1826
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1827
+ status: _trpc_server.TRPCQueryProcedure<{
1828
+ input: void;
1829
+ output: {
1830
+ message: string | null;
1831
+ status: "operational" | "degraded" | "outage";
1832
+ maintenanceUntil: string | null;
1833
+ };
1834
+ meta: object;
1835
+ }>;
1836
+ }>>;
1837
+ instances: _trpc_server.TRPCBuiltRouter<{
1838
+ ctx: {
1839
+ userUuid: string | undefined;
1840
+ token: string | undefined;
1841
+ requestId: string;
1842
+ };
1843
+ meta: object;
1844
+ errorShape: {
1845
+ data: {
1846
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1847
+ httpStatus: number;
1848
+ };
1849
+ message: string;
1850
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1851
+ };
1852
+ transformer: false;
1853
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1854
+ list: _trpc_server.TRPCQueryProcedure<{
1855
+ input: void;
1856
+ output: {
1857
+ items: {
1858
+ path: string;
1859
+ name: string;
1860
+ id: string;
1861
+ mcVersion: string;
1862
+ loader: "vanilla" | "fabric" | "forge" | "neoforge" | "quilt";
1863
+ loaderVersion: string;
1864
+ sizeBytes: number;
1865
+ lastPlayedAt: string | null;
1866
+ installedAt: string;
1867
+ }[];
1868
+ };
1869
+ meta: object;
1870
+ }>;
1871
+ }>>;
1872
+ telemetry: _trpc_server.TRPCBuiltRouter<{
1873
+ ctx: {
1874
+ userUuid: string | undefined;
1875
+ token: string | undefined;
1876
+ requestId: string;
1877
+ };
1878
+ meta: object;
1879
+ errorShape: {
1880
+ data: {
1881
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1882
+ httpStatus: number;
1883
+ };
1884
+ message: string;
1885
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1886
+ };
1887
+ transformer: false;
1888
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1889
+ report: _trpc_server.TRPCMutationProcedure<{
1890
+ input: {
1891
+ event: "launch" | "playtime" | "crash";
1892
+ metadata?: Record<string, string> | undefined;
1893
+ };
1894
+ output: {
1895
+ ok: boolean;
1896
+ };
1897
+ meta: object;
1898
+ }>;
1899
+ }>>;
1900
+ launcher: _trpc_server.TRPCBuiltRouter<{
1901
+ ctx: {
1902
+ userUuid: string | undefined;
1903
+ token: string | undefined;
1904
+ requestId: string;
1905
+ };
1906
+ meta: object;
1907
+ errorShape: {
1908
+ data: {
1909
+ code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "NOT_IMPLEMENTED" | "BAD_GATEWAY" | "SERVICE_UNAVAILABLE" | "GATEWAY_TIMEOUT" | "UNAUTHORIZED" | "PAYMENT_REQUIRED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "UNSUPPORTED_MEDIA_TYPE" | "UNPROCESSABLE_CONTENT" | "PRECONDITION_REQUIRED" | "TOO_MANY_REQUESTS" | "CLIENT_CLOSED_REQUEST";
1910
+ httpStatus: number;
1911
+ };
1912
+ message: string;
1913
+ code: _trpc_server.TRPC_ERROR_CODE_NUMBER;
1914
+ };
1915
+ transformer: false;
1916
+ }, _trpc_server.TRPCDecorateCreateRouterOptions<{
1917
+ updateCheck: _trpc_server.TRPCQueryProcedure<{
1918
+ input: void;
1919
+ output: {
1920
+ changelog: string | null;
1921
+ downloadUrl: string | null;
1922
+ currentVersion: string;
1923
+ latestVersion: string;
1924
+ updateAvailable: boolean;
1925
+ };
1926
+ meta: object;
1927
+ }>;
1928
+ }>>;
1929
+ }>>;
1930
+ }>>>;
1931
+
1932
+ export { type AnvilClientConfig as A, createAnvilClient as c };