@atproto/api 0.18.15 → 0.18.17

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 (55) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/LICENSE.txt +1 -1
  3. package/dist/client/index.d.ts +51 -0
  4. package/dist/client/index.d.ts.map +1 -1
  5. package/dist/client/index.js +120 -8
  6. package/dist/client/index.js.map +1 -1
  7. package/dist/client/lexicons.d.ts +846 -4
  8. package/dist/client/lexicons.d.ts.map +1 -1
  9. package/dist/client/lexicons.js +436 -2
  10. package/dist/client/lexicons.js.map +1 -1
  11. package/dist/client/types/app/bsky/actor/defs.d.ts +8 -0
  12. package/dist/client/types/app/bsky/actor/defs.d.ts.map +1 -1
  13. package/dist/client/types/app/bsky/actor/defs.js +9 -0
  14. package/dist/client/types/app/bsky/actor/defs.js.map +1 -1
  15. package/dist/client/types/app/bsky/draft/createDraft.d.ts +29 -0
  16. package/dist/client/types/app/bsky/draft/createDraft.d.ts.map +1 -0
  17. package/dist/client/types/app/bsky/draft/createDraft.js +26 -0
  18. package/dist/client/types/app/bsky/draft/createDraft.js.map +1 -0
  19. package/dist/client/types/app/bsky/draft/defs.d.ts +106 -0
  20. package/dist/client/types/app/bsky/draft/defs.d.ts.map +1 -0
  21. package/dist/client/types/app/bsky/draft/defs.js +97 -0
  22. package/dist/client/types/app/bsky/draft/defs.js.map +1 -0
  23. package/dist/client/types/app/bsky/draft/deleteDraft.d.ts +20 -0
  24. package/dist/client/types/app/bsky/draft/deleteDraft.d.ts.map +1 -0
  25. package/dist/client/types/app/bsky/draft/deleteDraft.js +11 -0
  26. package/dist/client/types/app/bsky/draft/deleteDraft.js.map +1 -0
  27. package/dist/client/types/app/bsky/draft/getDrafts.d.ts +25 -0
  28. package/dist/client/types/app/bsky/draft/getDrafts.d.ts.map +1 -0
  29. package/dist/client/types/app/bsky/draft/getDrafts.js +11 -0
  30. package/dist/client/types/app/bsky/draft/getDrafts.js.map +1 -0
  31. package/dist/client/types/app/bsky/draft/updateDraft.d.ts +21 -0
  32. package/dist/client/types/app/bsky/draft/updateDraft.d.ts.map +1 -0
  33. package/dist/client/types/app/bsky/draft/updateDraft.js +11 -0
  34. package/dist/client/types/app/bsky/draft/updateDraft.js.map +1 -0
  35. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.d.ts +1 -1
  36. package/dist/client/types/app/bsky/unspecced/getSuggestedUsers.js.map +1 -1
  37. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.d.ts +1 -1
  38. package/dist/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.js.map +1 -1
  39. package/dist/client/types/com/germnetwork/declaration.d.ts +24 -0
  40. package/dist/client/types/com/germnetwork/declaration.d.ts.map +1 -0
  41. package/dist/client/types/com/germnetwork/declaration.js +27 -0
  42. package/dist/client/types/com/germnetwork/declaration.js.map +1 -0
  43. package/package.json +5 -5
  44. package/src/client/index.ts +159 -0
  45. package/src/client/lexicons.ts +445 -2
  46. package/src/client/types/app/bsky/actor/defs.ts +17 -0
  47. package/src/client/types/app/bsky/draft/createDraft.ts +55 -0
  48. package/src/client/types/app/bsky/draft/defs.ts +208 -0
  49. package/src/client/types/app/bsky/draft/deleteDraft.ts +38 -0
  50. package/src/client/types/app/bsky/draft/getDrafts.ts +43 -0
  51. package/src/client/types/app/bsky/draft/updateDraft.ts +39 -0
  52. package/src/client/types/app/bsky/unspecced/getSuggestedUsers.ts +1 -1
  53. package/src/client/types/app/bsky/unspecced/getSuggestedUsersSkeleton.ts +1 -1
  54. package/src/client/types/com/germnetwork/declaration.ts +53 -0
  55. package/tsconfig.build.tsbuildinfo +1 -1
@@ -251,6 +251,10 @@ export const schemaDict = {
251
251
  type: 'ref',
252
252
  ref: 'lex:app.bsky.actor.defs#profileAssociatedActivitySubscription',
253
253
  },
254
+ germ: {
255
+ type: 'ref',
256
+ ref: 'lex:app.bsky.actor.defs#profileAssociatedGerm',
257
+ },
254
258
  },
255
259
  },
256
260
  profileAssociatedChat: {
@@ -263,6 +267,20 @@ export const schemaDict = {
263
267
  },
264
268
  },
265
269
  },
270
+ profileAssociatedGerm: {
271
+ type: 'object',
272
+ required: ['showButtonTo', 'messageMeUrl'],
273
+ properties: {
274
+ messageMeUrl: {
275
+ type: 'string',
276
+ format: 'uri',
277
+ },
278
+ showButtonTo: {
279
+ type: 'string',
280
+ knownValues: ['usersIFollow', 'everyone'],
281
+ },
282
+ },
283
+ },
266
284
  profileAssociatedActivitySubscription: {
267
285
  type: 'object',
268
286
  required: ['allowSubscriptions'],
@@ -2238,6 +2256,375 @@ export const schemaDict = {
2238
2256
  },
2239
2257
  },
2240
2258
  },
2259
+ AppBskyDraftCreateDraft: {
2260
+ lexicon: 1,
2261
+ id: 'app.bsky.draft.createDraft',
2262
+ defs: {
2263
+ main: {
2264
+ type: 'procedure',
2265
+ description:
2266
+ 'Inserts a draft using private storage (stash). An upper limit of drafts might be enforced. Requires authentication.',
2267
+ input: {
2268
+ encoding: 'application/json',
2269
+ schema: {
2270
+ type: 'object',
2271
+ required: ['draft'],
2272
+ properties: {
2273
+ draft: {
2274
+ type: 'ref',
2275
+ ref: 'lex:app.bsky.draft.defs#draft',
2276
+ },
2277
+ },
2278
+ },
2279
+ },
2280
+ output: {
2281
+ encoding: 'application/json',
2282
+ schema: {
2283
+ type: 'object',
2284
+ required: ['id'],
2285
+ properties: {
2286
+ id: {
2287
+ type: 'string',
2288
+ description: 'The ID of the created draft.',
2289
+ },
2290
+ },
2291
+ },
2292
+ },
2293
+ errors: [
2294
+ {
2295
+ name: 'DraftLimitReached',
2296
+ description:
2297
+ 'Trying to insert a new draft when the limit was already reached.',
2298
+ },
2299
+ ],
2300
+ },
2301
+ },
2302
+ },
2303
+ AppBskyDraftDefs: {
2304
+ lexicon: 1,
2305
+ id: 'app.bsky.draft.defs',
2306
+ defs: {
2307
+ draftWithId: {
2308
+ description:
2309
+ 'A draft with an identifier, used to store drafts in private storage (stash).',
2310
+ type: 'object',
2311
+ required: ['id', 'draft'],
2312
+ properties: {
2313
+ id: {
2314
+ description: 'A TID to be used as a draft identifier.',
2315
+ type: 'string',
2316
+ format: 'tid',
2317
+ },
2318
+ draft: {
2319
+ type: 'ref',
2320
+ ref: 'lex:app.bsky.draft.defs#draft',
2321
+ },
2322
+ },
2323
+ },
2324
+ draft: {
2325
+ description: 'A draft containing an array of draft posts.',
2326
+ type: 'object',
2327
+ required: ['posts'],
2328
+ properties: {
2329
+ posts: {
2330
+ description: 'Array of draft posts that compose this draft.',
2331
+ type: 'array',
2332
+ minLength: 1,
2333
+ maxLength: 100,
2334
+ items: {
2335
+ type: 'ref',
2336
+ ref: 'lex:app.bsky.draft.defs#draftPost',
2337
+ },
2338
+ },
2339
+ langs: {
2340
+ type: 'array',
2341
+ description:
2342
+ 'Indicates human language of posts primary text content.',
2343
+ maxLength: 3,
2344
+ items: {
2345
+ type: 'string',
2346
+ format: 'language',
2347
+ },
2348
+ },
2349
+ postgateEmbeddingRules: {
2350
+ description:
2351
+ 'Embedding rules for the postgates to be created when this draft is published.',
2352
+ type: 'array',
2353
+ maxLength: 5,
2354
+ items: {
2355
+ type: 'union',
2356
+ refs: ['lex:app.bsky.feed.postgate#disableRule'],
2357
+ },
2358
+ },
2359
+ threadgateAllow: {
2360
+ description:
2361
+ 'Allow-rules for the threadgate to be created when this draft is published.',
2362
+ type: 'array',
2363
+ maxLength: 5,
2364
+ items: {
2365
+ type: 'union',
2366
+ refs: [
2367
+ 'lex:app.bsky.feed.threadgate#mentionRule',
2368
+ 'lex:app.bsky.feed.threadgate#followerRule',
2369
+ 'lex:app.bsky.feed.threadgate#followingRule',
2370
+ 'lex:app.bsky.feed.threadgate#listRule',
2371
+ ],
2372
+ },
2373
+ },
2374
+ },
2375
+ },
2376
+ draftPost: {
2377
+ description: 'One of the posts that compose a draft.',
2378
+ type: 'object',
2379
+ required: ['text'],
2380
+ properties: {
2381
+ text: {
2382
+ type: 'string',
2383
+ maxLength: 3000,
2384
+ maxGraphemes: 300,
2385
+ description: 'The primary post content.',
2386
+ },
2387
+ labels: {
2388
+ type: 'union',
2389
+ description:
2390
+ 'Self-label values for this post. Effectively content warnings.',
2391
+ refs: ['lex:com.atproto.label.defs#selfLabels'],
2392
+ },
2393
+ embedImages: {
2394
+ type: 'array',
2395
+ items: {
2396
+ type: 'ref',
2397
+ ref: 'lex:app.bsky.draft.defs#draftEmbedImage',
2398
+ },
2399
+ maxLength: 4,
2400
+ },
2401
+ embedVideos: {
2402
+ type: 'array',
2403
+ items: {
2404
+ type: 'ref',
2405
+ ref: 'lex:app.bsky.draft.defs#draftEmbedVideo',
2406
+ },
2407
+ maxLength: 1,
2408
+ },
2409
+ embedExternals: {
2410
+ type: 'array',
2411
+ items: {
2412
+ type: 'ref',
2413
+ ref: 'lex:app.bsky.draft.defs#draftEmbedExternal',
2414
+ },
2415
+ maxLength: 1,
2416
+ },
2417
+ embedRecords: {
2418
+ type: 'array',
2419
+ items: {
2420
+ type: 'ref',
2421
+ ref: 'lex:app.bsky.draft.defs#draftEmbedRecord',
2422
+ },
2423
+ maxLength: 1,
2424
+ },
2425
+ },
2426
+ },
2427
+ draftView: {
2428
+ description: 'View to present drafts data to users.',
2429
+ type: 'object',
2430
+ required: ['id', 'draft', 'createdAt', 'updatedAt'],
2431
+ properties: {
2432
+ id: {
2433
+ description: 'A TID to be used as a draft identifier.',
2434
+ type: 'string',
2435
+ format: 'tid',
2436
+ },
2437
+ draft: {
2438
+ type: 'ref',
2439
+ ref: 'lex:app.bsky.draft.defs#draft',
2440
+ },
2441
+ createdAt: {
2442
+ description: 'The time the draft was created.',
2443
+ type: 'string',
2444
+ format: 'datetime',
2445
+ },
2446
+ updatedAt: {
2447
+ description: 'The time the draft was last updated.',
2448
+ type: 'string',
2449
+ format: 'datetime',
2450
+ },
2451
+ },
2452
+ },
2453
+ draftEmbedLocalRef: {
2454
+ type: 'object',
2455
+ required: ['path'],
2456
+ properties: {
2457
+ path: {
2458
+ type: 'string',
2459
+ description:
2460
+ 'Local, on-device ref to file to be embedded. Embeds are currently device-bound for drafts.',
2461
+ minLength: 1,
2462
+ maxLength: 1024,
2463
+ },
2464
+ },
2465
+ },
2466
+ draftEmbedCaption: {
2467
+ type: 'object',
2468
+ required: ['lang', 'content'],
2469
+ properties: {
2470
+ lang: {
2471
+ type: 'string',
2472
+ format: 'language',
2473
+ },
2474
+ content: {
2475
+ type: 'string',
2476
+ maxLength: 10000,
2477
+ },
2478
+ },
2479
+ },
2480
+ draftEmbedImage: {
2481
+ type: 'object',
2482
+ required: ['localRef'],
2483
+ properties: {
2484
+ localRef: {
2485
+ type: 'ref',
2486
+ ref: 'lex:app.bsky.draft.defs#draftEmbedLocalRef',
2487
+ },
2488
+ alt: {
2489
+ type: 'string',
2490
+ maxGraphemes: 2000,
2491
+ },
2492
+ },
2493
+ },
2494
+ draftEmbedVideo: {
2495
+ type: 'object',
2496
+ required: ['localRef'],
2497
+ properties: {
2498
+ localRef: {
2499
+ type: 'ref',
2500
+ ref: 'lex:app.bsky.draft.defs#draftEmbedLocalRef',
2501
+ },
2502
+ alt: {
2503
+ type: 'string',
2504
+ maxGraphemes: 2000,
2505
+ },
2506
+ captions: {
2507
+ type: 'array',
2508
+ items: {
2509
+ type: 'ref',
2510
+ ref: 'lex:app.bsky.draft.defs#draftEmbedCaption',
2511
+ },
2512
+ maxLength: 20,
2513
+ },
2514
+ },
2515
+ },
2516
+ draftEmbedExternal: {
2517
+ type: 'object',
2518
+ required: ['uri'],
2519
+ properties: {
2520
+ uri: {
2521
+ type: 'string',
2522
+ format: 'uri',
2523
+ },
2524
+ },
2525
+ },
2526
+ draftEmbedRecord: {
2527
+ type: 'object',
2528
+ required: ['record'],
2529
+ properties: {
2530
+ record: {
2531
+ type: 'ref',
2532
+ ref: 'lex:com.atproto.repo.strongRef',
2533
+ },
2534
+ },
2535
+ },
2536
+ },
2537
+ },
2538
+ AppBskyDraftDeleteDraft: {
2539
+ lexicon: 1,
2540
+ id: 'app.bsky.draft.deleteDraft',
2541
+ defs: {
2542
+ main: {
2543
+ type: 'procedure',
2544
+ description: 'Deletes a draft by ID. Requires authentication.',
2545
+ input: {
2546
+ encoding: 'application/json',
2547
+ schema: {
2548
+ type: 'object',
2549
+ required: ['id'],
2550
+ properties: {
2551
+ id: {
2552
+ type: 'string',
2553
+ format: 'tid',
2554
+ },
2555
+ },
2556
+ },
2557
+ },
2558
+ },
2559
+ },
2560
+ },
2561
+ AppBskyDraftGetDrafts: {
2562
+ lexicon: 1,
2563
+ id: 'app.bsky.draft.getDrafts',
2564
+ defs: {
2565
+ main: {
2566
+ type: 'query',
2567
+ description: 'Gets views of user drafts. Requires authentication.',
2568
+ parameters: {
2569
+ type: 'params',
2570
+ properties: {
2571
+ limit: {
2572
+ type: 'integer',
2573
+ minimum: 1,
2574
+ maximum: 100,
2575
+ default: 50,
2576
+ },
2577
+ cursor: {
2578
+ type: 'string',
2579
+ },
2580
+ },
2581
+ },
2582
+ output: {
2583
+ encoding: 'application/json',
2584
+ schema: {
2585
+ type: 'object',
2586
+ required: ['drafts'],
2587
+ properties: {
2588
+ cursor: {
2589
+ type: 'string',
2590
+ },
2591
+ drafts: {
2592
+ type: 'array',
2593
+ items: {
2594
+ type: 'ref',
2595
+ ref: 'lex:app.bsky.draft.defs#draftView',
2596
+ },
2597
+ },
2598
+ },
2599
+ },
2600
+ },
2601
+ },
2602
+ },
2603
+ },
2604
+ AppBskyDraftUpdateDraft: {
2605
+ lexicon: 1,
2606
+ id: 'app.bsky.draft.updateDraft',
2607
+ defs: {
2608
+ main: {
2609
+ type: 'procedure',
2610
+ description:
2611
+ "Updates a draft using private storage (stash). If the draft ID points to a non-existing ID, the update will be silently ignored. This is done because updates don't enforce draft limit, so it accepts all writes, but will ignore invalid ones. Requires authentication.",
2612
+ input: {
2613
+ encoding: 'application/json',
2614
+ schema: {
2615
+ type: 'object',
2616
+ required: ['draft'],
2617
+ properties: {
2618
+ draft: {
2619
+ type: 'ref',
2620
+ ref: 'lex:app.bsky.draft.defs#draftWithId',
2621
+ },
2622
+ },
2623
+ },
2624
+ },
2625
+ },
2626
+ },
2627
+ },
2241
2628
  AppBskyEmbedDefs: {
2242
2629
  lexicon: 1,
2243
2630
  id: 'app.bsky.embed.defs',
@@ -8051,7 +8438,7 @@ export const schemaDict = {
8051
8438
  },
8052
8439
  },
8053
8440
  recId: {
8054
- type: 'integer',
8441
+ type: 'string',
8055
8442
  description:
8056
8443
  'Snowflake for this recommendation, use when submitting recommendation events.',
8057
8444
  },
@@ -8104,7 +8491,7 @@ export const schemaDict = {
8104
8491
  },
8105
8492
  },
8106
8493
  recId: {
8107
- type: 'integer',
8494
+ type: 'string',
8108
8495
  description:
8109
8496
  'Snowflake for this recommendation, use when submitting recommendation events.',
8110
8497
  },
@@ -14931,6 +15318,56 @@ export const schemaDict = {
14931
15318
  },
14932
15319
  },
14933
15320
  },
15321
+ ComGermnetworkDeclaration: {
15322
+ lexicon: 1,
15323
+ id: 'com.germnetwork.declaration',
15324
+ defs: {
15325
+ main: {
15326
+ type: 'record',
15327
+ description: 'A delegate messaging id',
15328
+ key: 'literal:self',
15329
+ record: {
15330
+ type: 'object',
15331
+ required: ['version', 'currentKey'],
15332
+ properties: {
15333
+ version: {
15334
+ type: 'string',
15335
+ },
15336
+ currentKey: {
15337
+ type: 'bytes',
15338
+ },
15339
+ messageMe: {
15340
+ type: 'ref',
15341
+ ref: 'lex:com.germnetwork.declaration#messageMe',
15342
+ },
15343
+ keyPackage: {
15344
+ type: 'bytes',
15345
+ },
15346
+ continuityProofs: {
15347
+ type: 'array',
15348
+ items: {
15349
+ type: 'bytes',
15350
+ },
15351
+ },
15352
+ },
15353
+ },
15354
+ },
15355
+ messageMe: {
15356
+ type: 'object',
15357
+ required: ['showButtonTo', 'messageMeUrl'],
15358
+ properties: {
15359
+ messageMeUrl: {
15360
+ type: 'string',
15361
+ format: 'uri',
15362
+ },
15363
+ showButtonTo: {
15364
+ type: 'string',
15365
+ knownValues: ['usersIFollow', 'everyone'],
15366
+ },
15367
+ },
15368
+ },
15369
+ },
15370
+ },
14934
15371
  ToolsOzoneCommunicationCreateTemplate: {
14935
15372
  lexicon: 1,
14936
15373
  id: 'tools.ozone.communication.createTemplate',
@@ -20148,6 +20585,11 @@ export const ids = {
20148
20585
  AppBskyContactStartPhoneVerification:
20149
20586
  'app.bsky.contact.startPhoneVerification',
20150
20587
  AppBskyContactVerifyPhone: 'app.bsky.contact.verifyPhone',
20588
+ AppBskyDraftCreateDraft: 'app.bsky.draft.createDraft',
20589
+ AppBskyDraftDefs: 'app.bsky.draft.defs',
20590
+ AppBskyDraftDeleteDraft: 'app.bsky.draft.deleteDraft',
20591
+ AppBskyDraftGetDrafts: 'app.bsky.draft.getDrafts',
20592
+ AppBskyDraftUpdateDraft: 'app.bsky.draft.updateDraft',
20151
20593
  AppBskyEmbedDefs: 'app.bsky.embed.defs',
20152
20594
  AppBskyEmbedExternal: 'app.bsky.embed.external',
20153
20595
  AppBskyEmbedImages: 'app.bsky.embed.images',
@@ -20404,6 +20846,7 @@ export const ids = {
20404
20846
  'com.atproto.temp.requestPhoneVerification',
20405
20847
  ComAtprotoTempRevokeAccountCredentials:
20406
20848
  'com.atproto.temp.revokeAccountCredentials',
20849
+ ComGermnetworkDeclaration: 'com.germnetwork.declaration',
20407
20850
  ToolsOzoneCommunicationCreateTemplate:
20408
20851
  'tools.ozone.communication.createTemplate',
20409
20852
  ToolsOzoneCommunicationDefs: 'tools.ozone.communication.defs',
@@ -121,6 +121,7 @@ export interface ProfileAssociated {
121
121
  labeler?: boolean
122
122
  chat?: ProfileAssociatedChat
123
123
  activitySubscription?: ProfileAssociatedActivitySubscription
124
+ germ?: ProfileAssociatedGerm
124
125
  }
125
126
 
126
127
  const hashProfileAssociated = 'profileAssociated'
@@ -148,6 +149,22 @@ export function validateProfileAssociatedChat<V>(v: V) {
148
149
  return validate<ProfileAssociatedChat & V>(v, id, hashProfileAssociatedChat)
149
150
  }
150
151
 
152
+ export interface ProfileAssociatedGerm {
153
+ $type?: 'app.bsky.actor.defs#profileAssociatedGerm'
154
+ messageMeUrl: string
155
+ showButtonTo: 'usersIFollow' | 'everyone' | (string & {})
156
+ }
157
+
158
+ const hashProfileAssociatedGerm = 'profileAssociatedGerm'
159
+
160
+ export function isProfileAssociatedGerm<V>(v: V) {
161
+ return is$typed(v, id, hashProfileAssociatedGerm)
162
+ }
163
+
164
+ export function validateProfileAssociatedGerm<V>(v: V) {
165
+ return validate<ProfileAssociatedGerm & V>(v, id, hashProfileAssociatedGerm)
166
+ }
167
+
151
168
  export interface ProfileAssociatedActivitySubscription {
152
169
  $type?: 'app.bsky.actor.defs#profileAssociatedActivitySubscription'
153
170
  allowSubscriptions: 'followers' | 'mutuals' | 'none' | (string & {})
@@ -0,0 +1,55 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { HeadersMap, XRPCError } from '@atproto/xrpc'
5
+ import { type ValidationResult, BlobRef } from '@atproto/lexicon'
6
+ import { CID } from 'multiformats/cid'
7
+ import { validate as _validate } from '../../../../lexicons'
8
+ import {
9
+ type $Typed,
10
+ is$typed as _is$typed,
11
+ type OmitKey,
12
+ } from '../../../../util'
13
+ import type * as AppBskyDraftDefs from './defs.js'
14
+
15
+ const is$typed = _is$typed,
16
+ validate = _validate
17
+ const id = 'app.bsky.draft.createDraft'
18
+
19
+ export type QueryParams = {}
20
+
21
+ export interface InputSchema {
22
+ draft: AppBskyDraftDefs.Draft
23
+ }
24
+
25
+ export interface OutputSchema {
26
+ /** The ID of the created draft. */
27
+ id: string
28
+ }
29
+
30
+ export interface CallOptions {
31
+ signal?: AbortSignal
32
+ headers?: HeadersMap
33
+ qp?: QueryParams
34
+ encoding?: 'application/json'
35
+ }
36
+
37
+ export interface Response {
38
+ success: boolean
39
+ headers: HeadersMap
40
+ data: OutputSchema
41
+ }
42
+
43
+ export class DraftLimitReachedError extends XRPCError {
44
+ constructor(src: XRPCError) {
45
+ super(src.status, src.error, src.message, src.headers, { cause: src })
46
+ }
47
+ }
48
+
49
+ export function toKnownErr(e: any) {
50
+ if (e instanceof XRPCError) {
51
+ if (e.error === 'DraftLimitReached') return new DraftLimitReachedError(e)
52
+ }
53
+
54
+ return e
55
+ }