@atproto/pds 0.4.161 → 0.4.162

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,58 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { type ValidationResult } from '@atproto/lexicon';
5
+ import { type $Typed } from '../../../../util';
6
+ export type QueryParams = {
7
+ /** Tentative handle. Will be checked for availability or used to build handle suggestions. */
8
+ handle: string;
9
+ /** User-provided email. Might be used to build handle suggestions. */
10
+ email?: string;
11
+ /** User-provided birth date. Might be used to build handle suggestions. */
12
+ birthDate?: string;
13
+ };
14
+ export type InputSchema = undefined;
15
+ export interface OutputSchema {
16
+ /** Echo of the input handle. */
17
+ handle: string;
18
+ result: $Typed<ResultAvailable> | $Typed<ResultUnavailable> | {
19
+ $type: string;
20
+ };
21
+ }
22
+ export type HandlerInput = void;
23
+ export interface HandlerSuccess {
24
+ encoding: 'application/json';
25
+ body: OutputSchema;
26
+ headers?: {
27
+ [key: string]: string;
28
+ };
29
+ }
30
+ export interface HandlerError {
31
+ status: number;
32
+ message?: string;
33
+ error?: 'InvalidEmail';
34
+ }
35
+ export type HandlerOutput = HandlerError | HandlerSuccess;
36
+ /** Indicates the provided handle is available. */
37
+ export interface ResultAvailable {
38
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#resultAvailable';
39
+ }
40
+ export declare function isResultAvailable<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.checkHandleAvailability", "resultAvailable">;
41
+ export declare function validateResultAvailable<V>(v: V): ValidationResult<ResultAvailable & V>;
42
+ /** Indicates the provided handle is unavailable and gives suggestions of available handles. */
43
+ export interface ResultUnavailable {
44
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#resultUnavailable';
45
+ /** List of suggested handles based on the provided inputs. */
46
+ suggestions: Suggestion[];
47
+ }
48
+ export declare function isResultUnavailable<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.checkHandleAvailability", "resultUnavailable">;
49
+ export declare function validateResultUnavailable<V>(v: V): ValidationResult<ResultUnavailable & V>;
50
+ export interface Suggestion {
51
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#suggestion';
52
+ handle: string;
53
+ /** Method used to build this suggestion. Should be considered opaque to clients. Can be used for metrics. */
54
+ method: string;
55
+ }
56
+ export declare function isSuggestion<V>(v: V): v is import("../../../../util").$TypedObject<V, "app.bsky.unspecced.checkHandleAvailability", "suggestion">;
57
+ export declare function validateSuggestion<V>(v: V): ValidationResult<Suggestion & V>;
58
+ //# sourceMappingURL=checkHandleAvailability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHandleAvailability.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/checkHandleAvailability.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAGjE,OAAO,EACL,KAAK,MAAM,EAGZ,MAAM,kBAAkB,CAAA;AAMzB,MAAM,MAAM,WAAW,GAAG;IACxB,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EACF,MAAM,CAAC,eAAe,CAAC,GACvB,MAAM,CAAC,iBAAiB,CAAC,GACzB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtB;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAA;AAE/B,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAA;AAEzD,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,4DAA4D,CAAA;CACrE;AAID,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oHAExC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,yCAE9C;AAED,+FAA+F;AAC/F,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,8DAA8D,CAAA;IACtE,8DAA8D;IAC9D,WAAW,EAAE,UAAU,EAAE,CAAA;CAC1B;AAID,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,sHAE1C;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2CAEhD;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,uDAAuD,CAAA;IAC/D,MAAM,EAAE,MAAM,CAAA;IACd,6GAA6G;IAC7G,MAAM,EAAE,MAAM,CAAA;CACf;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,+GAEnC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,oCAEzC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isResultAvailable = isResultAvailable;
4
+ exports.validateResultAvailable = validateResultAvailable;
5
+ exports.isResultUnavailable = isResultUnavailable;
6
+ exports.validateResultUnavailable = validateResultUnavailable;
7
+ exports.isSuggestion = isSuggestion;
8
+ exports.validateSuggestion = validateSuggestion;
9
+ const lexicons_1 = require("../../../../lexicons");
10
+ const util_1 = require("../../../../util");
11
+ const is$typed = util_1.is$typed, validate = lexicons_1.validate;
12
+ const id = 'app.bsky.unspecced.checkHandleAvailability';
13
+ const hashResultAvailable = 'resultAvailable';
14
+ function isResultAvailable(v) {
15
+ return is$typed(v, id, hashResultAvailable);
16
+ }
17
+ function validateResultAvailable(v) {
18
+ return validate(v, id, hashResultAvailable);
19
+ }
20
+ const hashResultUnavailable = 'resultUnavailable';
21
+ function isResultUnavailable(v) {
22
+ return is$typed(v, id, hashResultUnavailable);
23
+ }
24
+ function validateResultUnavailable(v) {
25
+ return validate(v, id, hashResultUnavailable);
26
+ }
27
+ const hashSuggestion = 'suggestion';
28
+ function isSuggestion(v) {
29
+ return is$typed(v, id, hashSuggestion);
30
+ }
31
+ function validateSuggestion(v) {
32
+ return validate(v, id, hashSuggestion);
33
+ }
34
+ //# sourceMappingURL=checkHandleAvailability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHandleAvailability.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/checkHandleAvailability.ts"],"names":[],"mappings":";;AA0DA,8CAEC;AAED,0DAEC;AAWD,kDAEC;AAED,8DAEC;AAWD,oCAEC;AAED,gDAEC;AA7FD,mDAA4D;AAC5D,2CAIyB;AAEzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,4CAA4C,CAAA;AA0CvD,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;AAE7C,SAAgB,iBAAiB,CAAI,CAAI;IACvC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;AAC7C,CAAC;AAED,SAAgB,uBAAuB,CAAI,CAAI;IAC7C,OAAO,QAAQ,CAAsB,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAA;AAClE,CAAC;AASD,MAAM,qBAAqB,GAAG,mBAAmB,CAAA;AAEjD,SAAgB,mBAAmB,CAAI,CAAI;IACzC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAA;AAC/C,CAAC;AAED,SAAgB,yBAAyB,CAAI,CAAI;IAC/C,OAAO,QAAQ,CAAwB,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAA;AACtE,CAAC;AASD,MAAM,cAAc,GAAG,YAAY,CAAA;AAEnC,SAAgB,YAAY,CAAI,CAAI;IAClC,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC;AAED,SAAgB,kBAAkB,CAAI,CAAI;IACxC,OAAO,QAAQ,CAAiB,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;AACxD,CAAC"}
@@ -23,6 +23,7 @@ export interface HandlerSuccess {
23
23
  export interface HandlerError {
24
24
  status: number;
25
25
  message?: string;
26
+ error?: 'InvalidEmail' | 'DidTooLong' | 'InvalidInitiation';
26
27
  }
27
28
  export type HandlerOutput = HandlerError | HandlerSuccess;
28
29
  //# sourceMappingURL=initAgeAssurance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initAgeAssurance.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,MAAM,WAAW,GAAG,EAAE,CAAA;AAE5B,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"initAgeAssurance.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,oBAAoB,MAAM,WAAW,CAAA;AAMtD,MAAM,MAAM,WAAW,GAAG,EAAE,CAAA;AAE5B,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,CAAA;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,mBAAmB,CAAA;CAC5D;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/pds",
3
- "version": "0.4.161",
3
+ "version": "0.4.162",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of atproto Personal Data Server (PDS)",
6
6
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "zod": "^3.23.8",
50
50
  "@atproto-labs/fetch-node": "0.1.9",
51
51
  "@atproto-labs/xrpc-utils": "0.0.17",
52
- "@atproto/api": "^0.15.26",
52
+ "@atproto/api": "^0.15.27",
53
53
  "@atproto/aws": "^0.2.25",
54
54
  "@atproto/common": "^0.4.11",
55
55
  "@atproto/crypto": "^0.4.4",
@@ -77,9 +77,9 @@
77
77
  "ts-node": "^10.8.2",
78
78
  "typescript": "^5.6.3",
79
79
  "ws": "^8.12.0",
80
- "@atproto/api": "^0.15.26",
81
- "@atproto/bsky": "^0.0.172",
82
- "@atproto/dev-env": "^0.3.155",
80
+ "@atproto/api": "^0.15.27",
81
+ "@atproto/bsky": "^0.0.174",
82
+ "@atproto/dev-env": "^0.3.157",
83
83
  "@atproto/lex-cli": "^0.9.0",
84
84
  "@atproto/oauth-client-browser-example": "0.0.5"
85
85
  },
@@ -109,8 +109,8 @@ import * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGene
109
109
  import * as AppBskyFeedGetFeedSkeleton from './types/app/bsky/feed/getFeedSkeleton.js'
110
110
  import * as AppBskyFeedGetLikes from './types/app/bsky/feed/getLikes.js'
111
111
  import * as AppBskyFeedGetListFeed from './types/app/bsky/feed/getListFeed.js'
112
- import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js'
113
112
  import * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.js'
113
+ import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js'
114
114
  import * as AppBskyFeedGetQuotes from './types/app/bsky/feed/getQuotes.js'
115
115
  import * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy.js'
116
116
  import * as AppBskyFeedGetSuggestedFeeds from './types/app/bsky/feed/getSuggestedFeeds.js'
@@ -149,6 +149,7 @@ import * as AppBskyNotificationPutPreferencesV2 from './types/app/bsky/notificat
149
149
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush.js'
150
150
  import * as AppBskyNotificationUnregisterPush from './types/app/bsky/notification/unregisterPush.js'
151
151
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen.js'
152
+ import * as AppBskyUnspeccedCheckHandleAvailability from './types/app/bsky/unspecced/checkHandleAvailability.js'
152
153
  import * as AppBskyUnspeccedGetAgeAssuranceState from './types/app/bsky/unspecced/getAgeAssuranceState.js'
153
154
  import * as AppBskyUnspeccedGetConfig from './types/app/bsky/unspecced/getConfig.js'
154
155
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators.js'
@@ -1655,27 +1656,27 @@ export class AppBskyFeedNS {
1655
1656
  return this._server.xrpc.method(nsid, cfg)
1656
1657
  }
1657
1658
 
1658
- getPostThread<A extends Auth = void>(
1659
+ getPosts<A extends Auth = void>(
1659
1660
  cfg: MethodConfigOrHandler<
1660
1661
  A,
1661
- AppBskyFeedGetPostThread.QueryParams,
1662
- AppBskyFeedGetPostThread.HandlerInput,
1663
- AppBskyFeedGetPostThread.HandlerOutput
1662
+ AppBskyFeedGetPosts.QueryParams,
1663
+ AppBskyFeedGetPosts.HandlerInput,
1664
+ AppBskyFeedGetPosts.HandlerOutput
1664
1665
  >,
1665
1666
  ) {
1666
- const nsid = 'app.bsky.feed.getPostThread' // @ts-ignore
1667
+ const nsid = 'app.bsky.feed.getPosts' // @ts-ignore
1667
1668
  return this._server.xrpc.method(nsid, cfg)
1668
1669
  }
1669
1670
 
1670
- getPosts<A extends Auth = void>(
1671
+ getPostThread<A extends Auth = void>(
1671
1672
  cfg: MethodConfigOrHandler<
1672
1673
  A,
1673
- AppBskyFeedGetPosts.QueryParams,
1674
- AppBskyFeedGetPosts.HandlerInput,
1675
- AppBskyFeedGetPosts.HandlerOutput
1674
+ AppBskyFeedGetPostThread.QueryParams,
1675
+ AppBskyFeedGetPostThread.HandlerInput,
1676
+ AppBskyFeedGetPostThread.HandlerOutput
1676
1677
  >,
1677
1678
  ) {
1678
- const nsid = 'app.bsky.feed.getPosts' // @ts-ignore
1679
+ const nsid = 'app.bsky.feed.getPostThread' // @ts-ignore
1679
1680
  return this._server.xrpc.method(nsid, cfg)
1680
1681
  }
1681
1682
 
@@ -2175,6 +2176,18 @@ export class AppBskyUnspeccedNS {
2175
2176
  this._server = server
2176
2177
  }
2177
2178
 
2179
+ checkHandleAvailability<A extends Auth = void>(
2180
+ cfg: MethodConfigOrHandler<
2181
+ A,
2182
+ AppBskyUnspeccedCheckHandleAvailability.QueryParams,
2183
+ AppBskyUnspeccedCheckHandleAvailability.HandlerInput,
2184
+ AppBskyUnspeccedCheckHandleAvailability.HandlerOutput
2185
+ >,
2186
+ ) {
2187
+ const nsid = 'app.bsky.unspecced.checkHandleAvailability' // @ts-ignore
2188
+ return this._server.xrpc.method(nsid, cfg)
2189
+ }
2190
+
2178
2191
  getAgeAssuranceState<A extends Auth = void>(
2179
2192
  cfg: MethodConfigOrHandler<
2180
2193
  A,
@@ -7282,6 +7282,48 @@ export const schemaDict = {
7282
7282
  },
7283
7283
  },
7284
7284
  },
7285
+ AppBskyFeedGetPosts: {
7286
+ lexicon: 1,
7287
+ id: 'app.bsky.feed.getPosts',
7288
+ defs: {
7289
+ main: {
7290
+ type: 'query',
7291
+ description:
7292
+ "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.",
7293
+ parameters: {
7294
+ type: 'params',
7295
+ required: ['uris'],
7296
+ properties: {
7297
+ uris: {
7298
+ type: 'array',
7299
+ description: 'List of post AT-URIs to return hydrated views for.',
7300
+ items: {
7301
+ type: 'string',
7302
+ format: 'at-uri',
7303
+ },
7304
+ maxLength: 25,
7305
+ },
7306
+ },
7307
+ },
7308
+ output: {
7309
+ encoding: 'application/json',
7310
+ schema: {
7311
+ type: 'object',
7312
+ required: ['posts'],
7313
+ properties: {
7314
+ posts: {
7315
+ type: 'array',
7316
+ items: {
7317
+ type: 'ref',
7318
+ ref: 'lex:app.bsky.feed.defs#postView',
7319
+ },
7320
+ },
7321
+ },
7322
+ },
7323
+ },
7324
+ },
7325
+ },
7326
+ },
7285
7327
  AppBskyFeedGetPostThread: {
7286
7328
  lexicon: 1,
7287
7329
  id: 'app.bsky.feed.getPostThread',
@@ -7346,48 +7388,6 @@ export const schemaDict = {
7346
7388
  },
7347
7389
  },
7348
7390
  },
7349
- AppBskyFeedGetPosts: {
7350
- lexicon: 1,
7351
- id: 'app.bsky.feed.getPosts',
7352
- defs: {
7353
- main: {
7354
- type: 'query',
7355
- description:
7356
- "Gets post views for a specified list of posts (by AT-URI). This is sometimes referred to as 'hydrating' a 'feed skeleton'.",
7357
- parameters: {
7358
- type: 'params',
7359
- required: ['uris'],
7360
- properties: {
7361
- uris: {
7362
- type: 'array',
7363
- description: 'List of post AT-URIs to return hydrated views for.',
7364
- items: {
7365
- type: 'string',
7366
- format: 'at-uri',
7367
- },
7368
- maxLength: 25,
7369
- },
7370
- },
7371
- },
7372
- output: {
7373
- encoding: 'application/json',
7374
- schema: {
7375
- type: 'object',
7376
- required: ['posts'],
7377
- properties: {
7378
- posts: {
7379
- type: 'array',
7380
- items: {
7381
- type: 'ref',
7382
- ref: 'lex:app.bsky.feed.defs#postView',
7383
- },
7384
- },
7385
- },
7386
- },
7387
- },
7388
- },
7389
- },
7390
- },
7391
7391
  AppBskyFeedGetQuotes: {
7392
7392
  lexicon: 1,
7393
7393
  id: 'app.bsky.feed.getQuotes',
@@ -10511,6 +10511,104 @@ export const schemaDict = {
10511
10511
  },
10512
10512
  },
10513
10513
  },
10514
+ AppBskyUnspeccedCheckHandleAvailability: {
10515
+ lexicon: 1,
10516
+ id: 'app.bsky.unspecced.checkHandleAvailability',
10517
+ defs: {
10518
+ main: {
10519
+ type: 'query',
10520
+ description:
10521
+ 'Checks whether the provided handle is available. If the handle is not available, available suggestions will be returned. Optional inputs will be used to generate suggestions.',
10522
+ parameters: {
10523
+ type: 'params',
10524
+ required: ['handle'],
10525
+ properties: {
10526
+ handle: {
10527
+ type: 'string',
10528
+ format: 'handle',
10529
+ description:
10530
+ 'Tentative handle. Will be checked for availability or used to build handle suggestions.',
10531
+ },
10532
+ email: {
10533
+ type: 'string',
10534
+ description:
10535
+ 'User-provided email. Might be used to build handle suggestions.',
10536
+ },
10537
+ birthDate: {
10538
+ type: 'string',
10539
+ format: 'datetime',
10540
+ description:
10541
+ 'User-provided birth date. Might be used to build handle suggestions.',
10542
+ },
10543
+ },
10544
+ },
10545
+ output: {
10546
+ encoding: 'application/json',
10547
+ schema: {
10548
+ type: 'object',
10549
+ required: ['handle', 'result'],
10550
+ properties: {
10551
+ handle: {
10552
+ type: 'string',
10553
+ format: 'handle',
10554
+ description: 'Echo of the input handle.',
10555
+ },
10556
+ result: {
10557
+ type: 'union',
10558
+ refs: [
10559
+ 'lex:app.bsky.unspecced.checkHandleAvailability#resultAvailable',
10560
+ 'lex:app.bsky.unspecced.checkHandleAvailability#resultUnavailable',
10561
+ ],
10562
+ },
10563
+ },
10564
+ },
10565
+ },
10566
+ errors: [
10567
+ {
10568
+ name: 'InvalidEmail',
10569
+ description: 'An invalid email was provided.',
10570
+ },
10571
+ ],
10572
+ },
10573
+ resultAvailable: {
10574
+ type: 'object',
10575
+ description: 'Indicates the provided handle is available.',
10576
+ properties: {},
10577
+ },
10578
+ resultUnavailable: {
10579
+ type: 'object',
10580
+ description:
10581
+ 'Indicates the provided handle is unavailable and gives suggestions of available handles.',
10582
+ required: ['suggestions'],
10583
+ properties: {
10584
+ suggestions: {
10585
+ type: 'array',
10586
+ description:
10587
+ 'List of suggested handles based on the provided inputs.',
10588
+ items: {
10589
+ type: 'ref',
10590
+ ref: 'lex:app.bsky.unspecced.checkHandleAvailability#suggestion',
10591
+ },
10592
+ },
10593
+ },
10594
+ },
10595
+ suggestion: {
10596
+ type: 'object',
10597
+ required: ['handle', 'method'],
10598
+ properties: {
10599
+ handle: {
10600
+ type: 'string',
10601
+ format: 'handle',
10602
+ },
10603
+ method: {
10604
+ type: 'string',
10605
+ description:
10606
+ 'Method used to build this suggestion. Should be considered opaque to clients. Can be used for metrics.',
10607
+ },
10608
+ },
10609
+ },
10610
+ },
10611
+ },
10514
10612
  AppBskyUnspeccedDefs: {
10515
10613
  lexicon: 1,
10516
10614
  id: 'app.bsky.unspecced.defs',
@@ -11589,6 +11687,17 @@ export const schemaDict = {
11589
11687
  ref: 'lex:app.bsky.unspecced.defs#ageAssuranceState',
11590
11688
  },
11591
11689
  },
11690
+ errors: [
11691
+ {
11692
+ name: 'InvalidEmail',
11693
+ },
11694
+ {
11695
+ name: 'DidTooLong',
11696
+ },
11697
+ {
11698
+ name: 'InvalidInitiation',
11699
+ },
11700
+ ],
11592
11701
  },
11593
11702
  },
11594
11703
  },
@@ -17668,8 +17777,8 @@ export const ids = {
17668
17777
  AppBskyFeedGetFeedSkeleton: 'app.bsky.feed.getFeedSkeleton',
17669
17778
  AppBskyFeedGetLikes: 'app.bsky.feed.getLikes',
17670
17779
  AppBskyFeedGetListFeed: 'app.bsky.feed.getListFeed',
17671
- AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',
17672
17780
  AppBskyFeedGetPosts: 'app.bsky.feed.getPosts',
17781
+ AppBskyFeedGetPostThread: 'app.bsky.feed.getPostThread',
17673
17782
  AppBskyFeedGetQuotes: 'app.bsky.feed.getQuotes',
17674
17783
  AppBskyFeedGetRepostedBy: 'app.bsky.feed.getRepostedBy',
17675
17784
  AppBskyFeedGetSuggestedFeeds: 'app.bsky.feed.getSuggestedFeeds',
@@ -17730,6 +17839,8 @@ export const ids = {
17730
17839
  AppBskyNotificationUnregisterPush: 'app.bsky.notification.unregisterPush',
17731
17840
  AppBskyNotificationUpdateSeen: 'app.bsky.notification.updateSeen',
17732
17841
  AppBskyRichtextFacet: 'app.bsky.richtext.facet',
17842
+ AppBskyUnspeccedCheckHandleAvailability:
17843
+ 'app.bsky.unspecced.checkHandleAvailability',
17733
17844
  AppBskyUnspeccedDefs: 'app.bsky.unspecced.defs',
17734
17845
  AppBskyUnspeccedGetAgeAssuranceState:
17735
17846
  'app.bsky.unspecced.getAgeAssuranceState',
@@ -0,0 +1,99 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { type ValidationResult, BlobRef } from '@atproto/lexicon'
5
+ import { CID } from 'multiformats/cid'
6
+ import { validate as _validate } from '../../../../lexicons'
7
+ import {
8
+ type $Typed,
9
+ is$typed as _is$typed,
10
+ type OmitKey,
11
+ } from '../../../../util'
12
+
13
+ const is$typed = _is$typed,
14
+ validate = _validate
15
+ const id = 'app.bsky.unspecced.checkHandleAvailability'
16
+
17
+ export type QueryParams = {
18
+ /** Tentative handle. Will be checked for availability or used to build handle suggestions. */
19
+ handle: string
20
+ /** User-provided email. Might be used to build handle suggestions. */
21
+ email?: string
22
+ /** User-provided birth date. Might be used to build handle suggestions. */
23
+ birthDate?: string
24
+ }
25
+ export type InputSchema = undefined
26
+
27
+ export interface OutputSchema {
28
+ /** Echo of the input handle. */
29
+ handle: string
30
+ result:
31
+ | $Typed<ResultAvailable>
32
+ | $Typed<ResultUnavailable>
33
+ | { $type: string }
34
+ }
35
+
36
+ export type HandlerInput = void
37
+
38
+ export interface HandlerSuccess {
39
+ encoding: 'application/json'
40
+ body: OutputSchema
41
+ headers?: { [key: string]: string }
42
+ }
43
+
44
+ export interface HandlerError {
45
+ status: number
46
+ message?: string
47
+ error?: 'InvalidEmail'
48
+ }
49
+
50
+ export type HandlerOutput = HandlerError | HandlerSuccess
51
+
52
+ /** Indicates the provided handle is available. */
53
+ export interface ResultAvailable {
54
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#resultAvailable'
55
+ }
56
+
57
+ const hashResultAvailable = 'resultAvailable'
58
+
59
+ export function isResultAvailable<V>(v: V) {
60
+ return is$typed(v, id, hashResultAvailable)
61
+ }
62
+
63
+ export function validateResultAvailable<V>(v: V) {
64
+ return validate<ResultAvailable & V>(v, id, hashResultAvailable)
65
+ }
66
+
67
+ /** Indicates the provided handle is unavailable and gives suggestions of available handles. */
68
+ export interface ResultUnavailable {
69
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#resultUnavailable'
70
+ /** List of suggested handles based on the provided inputs. */
71
+ suggestions: Suggestion[]
72
+ }
73
+
74
+ const hashResultUnavailable = 'resultUnavailable'
75
+
76
+ export function isResultUnavailable<V>(v: V) {
77
+ return is$typed(v, id, hashResultUnavailable)
78
+ }
79
+
80
+ export function validateResultUnavailable<V>(v: V) {
81
+ return validate<ResultUnavailable & V>(v, id, hashResultUnavailable)
82
+ }
83
+
84
+ export interface Suggestion {
85
+ $type?: 'app.bsky.unspecced.checkHandleAvailability#suggestion'
86
+ handle: string
87
+ /** Method used to build this suggestion. Should be considered opaque to clients. Can be used for metrics. */
88
+ method: string
89
+ }
90
+
91
+ const hashSuggestion = 'suggestion'
92
+
93
+ export function isSuggestion<V>(v: V) {
94
+ return is$typed(v, id, hashSuggestion)
95
+ }
96
+
97
+ export function validateSuggestion<V>(v: V) {
98
+ return validate<Suggestion & V>(v, id, hashSuggestion)
99
+ }
@@ -42,6 +42,7 @@ export interface HandlerSuccess {
42
42
  export interface HandlerError {
43
43
  status: number
44
44
  message?: string
45
+ error?: 'InvalidEmail' | 'DidTooLong' | 'InvalidInitiation'
45
46
  }
46
47
 
47
48
  export type HandlerOutput = HandlerError | HandlerSuccess