@atproto/bsky 0.0.172 → 0.0.174

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 (42) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/api/app/bsky/unspecced/checkHandleAvailability.d.ts +4 -0
  3. package/dist/api/app/bsky/unspecced/checkHandleAvailability.d.ts.map +1 -0
  4. package/dist/api/app/bsky/unspecced/checkHandleAvailability.js +238 -0
  5. package/dist/api/app/bsky/unspecced/checkHandleAvailability.js.map +1 -0
  6. package/dist/api/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
  7. package/dist/api/app/bsky/unspecced/initAgeAssurance.js +71 -9
  8. package/dist/api/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/api/index.js +2 -0
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/kws.d.ts +2 -0
  13. package/dist/kws.d.ts.map +1 -1
  14. package/dist/kws.js +10 -2
  15. package/dist/kws.js.map +1 -1
  16. package/dist/lexicon/index.d.ts +4 -2
  17. package/dist/lexicon/index.d.ts.map +1 -1
  18. package/dist/lexicon/index.js +8 -4
  19. package/dist/lexicon/index.js.map +1 -1
  20. package/dist/lexicon/lexicons.d.ts +268 -82
  21. package/dist/lexicon/lexicons.d.ts.map +1 -1
  22. package/dist/lexicon/lexicons.js +145 -42
  23. package/dist/lexicon/lexicons.js.map +1 -1
  24. package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.d.ts +58 -0
  25. package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.d.ts.map +1 -0
  26. package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.js +34 -0
  27. package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.js.map +1 -0
  28. package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts +1 -0
  29. package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
  30. package/package.json +7 -6
  31. package/src/api/app/bsky/unspecced/checkHandleAvailability.ts +291 -0
  32. package/src/api/app/bsky/unspecced/initAgeAssurance.ts +96 -11
  33. package/src/api/index.ts +2 -0
  34. package/src/kws.ts +9 -1
  35. package/src/lexicon/index.ts +24 -11
  36. package/src/lexicon/lexicons.ts +154 -43
  37. package/src/lexicon/types/app/bsky/unspecced/checkHandleAvailability.ts +99 -0
  38. package/src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts +1 -0
  39. package/tests/views/age-assurance.test.ts +44 -0
  40. package/tests/views/handle-availability.test.ts +294 -0
  41. package/tsconfig.build.tsbuildinfo +1 -1
  42. package/tsconfig.tests.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atproto/bsky
2
2
 
3
+ ## 0.0.174
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4058](https://github.com/bluesky-social/atproto/pull/4058) [`8787fd9de`](https://github.com/bluesky-social/atproto/commit/8787fd9dea769716412c9883e355cd496664bc6e) Thanks [@estrattonbailey](https://github.com/estrattonbailey)! - Only allow initiating age assurance flow from certain states, return `InvalidInitiation` error if violated.
8
+
9
+ - Updated dependencies [[`8787fd9de`](https://github.com/bluesky-social/atproto/commit/8787fd9dea769716412c9883e355cd496664bc6e), [`dc84906c8`](https://github.com/bluesky-social/atproto/commit/dc84906c865e8a97939a909dd3f75decde538363)]:
10
+ - @atproto/api@0.15.27
11
+
12
+ ## 0.0.173
13
+
14
+ ### Patch Changes
15
+
16
+ - [#4050](https://github.com/bluesky-social/atproto/pull/4050) [`77c6dffd0`](https://github.com/bluesky-social/atproto/commit/77c6dffd0b3577a0fbdc5f0975c9eeb2a46b55c9) Thanks [@rafaelbsky](https://github.com/rafaelbsky)! - Add errors to app.bsky.unspecced.initAgeAssurance lexicon
17
+
3
18
  ## 0.0.172
4
19
 
5
20
  ### Patch Changes
@@ -0,0 +1,4 @@
1
+ import { AppContext } from '../../../../context';
2
+ import { Server } from '../../../../lexicon';
3
+ export default function (server: Server, ctx: AppContext): void;
4
+ //# sourceMappingURL=checkHandleAvailability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHandleAvailability.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/checkHandleAvailability.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAO5C,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAkDvD"}
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = default_1;
40
+ const address_1 = require("@hapi/address");
41
+ const leo_profanity_1 = __importDefault(require("leo-profanity"));
42
+ const ident = __importStar(require("@atproto/syntax"));
43
+ const xrpc_server_1 = require("@atproto/xrpc-server");
44
+ // THIS IS A TEMPORARY UNSPECCED ROUTE
45
+ function default_1(server, ctx) {
46
+ server.app.bsky.unspecced.checkHandleAvailability({
47
+ handler: async ({ params }) => {
48
+ const { birthDate, email, handle } = validateParams(params);
49
+ if (isSlur(handle)) {
50
+ return {
51
+ encoding: 'application/json',
52
+ body: {
53
+ handle,
54
+ result: {
55
+ $type: 'app.bsky.unspecced.checkHandleAvailability#resultUnavailable',
56
+ suggestions: [],
57
+ },
58
+ },
59
+ };
60
+ }
61
+ const [did] = await ctx.hydrator.actor.getDids([handle], {
62
+ lookupUnidirectional: true,
63
+ });
64
+ if (!did) {
65
+ return {
66
+ encoding: 'application/json',
67
+ body: {
68
+ handle,
69
+ result: {
70
+ $type: 'app.bsky.unspecced.checkHandleAvailability#resultAvailable',
71
+ },
72
+ },
73
+ };
74
+ }
75
+ const suggestions = await getSuggestions(ctx, handle, email, birthDate);
76
+ return {
77
+ encoding: 'application/json',
78
+ body: {
79
+ handle,
80
+ result: {
81
+ $type: 'app.bsky.unspecced.checkHandleAvailability#resultUnavailable',
82
+ suggestions,
83
+ },
84
+ },
85
+ };
86
+ },
87
+ });
88
+ }
89
+ const validateParams = (params) => {
90
+ const { email } = params;
91
+ if (email && !(0, address_1.isEmailValid)(email)) {
92
+ throw new xrpc_server_1.InvalidRequestError('Invalid email address.', 'InvalidEmail');
93
+ }
94
+ return {
95
+ birthDate: params.birthDate,
96
+ email,
97
+ handle: ident.normalizeHandle(params.handle),
98
+ };
99
+ };
100
+ const uniqueSuggestions = (suggestions) => suggestions.filter((s0, i, ss) => {
101
+ return ss.findIndex((s1) => s0.handle === s1.handle) === i;
102
+ });
103
+ /** Gets the target number of suggestions, ensuring uniqueness and availability. */
104
+ const getSuggestions = async (ctx, tentativeHandle, email, birthDate) => {
105
+ const [subdomain, ...rest] = tentativeHandle.split('.');
106
+ const domain = rest.join('.');
107
+ let suggestions = [];
108
+ const want = 5;
109
+ let attempt = 0;
110
+ const deterministic = await availableSuggestions(ctx, deterministicSuggestions(subdomain, email, birthDate), tentativeHandle, domain);
111
+ suggestions.push(...deterministic);
112
+ while (suggestions.length < want && attempt < 3) {
113
+ const random = await availableSuggestions(ctx, randomSuggestions(subdomain), tentativeHandle, domain);
114
+ suggestions.push(...random);
115
+ suggestions = uniqueSuggestions([...suggestions, ...random]);
116
+ attempt++;
117
+ }
118
+ return suggestions.slice(0, want);
119
+ };
120
+ const availableSuggestions = async (ctx, suggestions, tentativeHandle, domain) => {
121
+ const join = (subdomain, domain) => `${subdomain}.${domain}`;
122
+ const validSuggestions = suggestions
123
+ .filter((s) => {
124
+ // @TODO: from a magic number in the PDS code.
125
+ if (s.subdomain.length < 3)
126
+ return false;
127
+ // @TODO: from a magic number in the PDS code.
128
+ if (s.subdomain.length > 18)
129
+ return false;
130
+ const handle = join(s.subdomain, domain);
131
+ // @TODO: from a magic number in the entryway code.
132
+ if (handle.length > 30)
133
+ return false;
134
+ // Only valid, and not the tentative one.
135
+ return ident.isValidHandle(handle) && handle !== tentativeHandle;
136
+ })
137
+ .map((s) => ({
138
+ handle: join(s.subdomain, domain),
139
+ method: s.method,
140
+ }));
141
+ const dids = await ctx.hydrator.actor.getDids(validSuggestions.map((s) => s.handle), {
142
+ lookupUnidirectional: true,
143
+ });
144
+ return validSuggestions.filter((_, i) => !dids[i]);
145
+ };
146
+ const deterministicSuggestions = (subdomain, email, birthDate) => {
147
+ const localPart = email
148
+ ?.split('@')[0]
149
+ .toLowerCase()
150
+ .replace('.', '-')
151
+ .replace(/[^a-zA-Z0-9-]/g, '');
152
+ const year = getYear(birthDate);
153
+ return [
154
+ ...suggestAppendDigits('handle_yob', subdomain, year),
155
+ ...suggestValue('email', localPart),
156
+ ...suggestAppendDigits('email_yob', localPart, year),
157
+ ];
158
+ };
159
+ const randomSuggestions = (subdomain) => [
160
+ ...suggestHyphens('hyphen', subdomain),
161
+ ...suggestAppendRandomDigits('random_digits', subdomain),
162
+ ];
163
+ const avoidDigits = ['69'];
164
+ const getYear = (d) => {
165
+ if (!d)
166
+ return undefined;
167
+ const date = new Date(d);
168
+ if (isNaN(date.getTime()))
169
+ return undefined;
170
+ const year = date.getFullYear().toString().slice(-2);
171
+ return avoidDigits.includes(year) ? undefined : year;
172
+ };
173
+ const suggestValue = (method, s) => {
174
+ if (!s)
175
+ return [];
176
+ return [{ subdomain: `${s}`, method }];
177
+ };
178
+ const suggestAppendDigits = (method, s, d) => {
179
+ if (!s || !d)
180
+ return [];
181
+ // If s already ends in digits, add an hyphen before appending the number.
182
+ const separator = /\d$/.test(s) ? '-' : '';
183
+ return [{ subdomain: `${s}${separator}${d}`, method }];
184
+ };
185
+ const suggestAppendRandomDigits = (method, s) => {
186
+ const ss = [];
187
+ const want = 2;
188
+ let got = 0;
189
+ while (got < want) {
190
+ const randomDigits = Math.floor(Math.random() * 100).toString();
191
+ if (avoidDigits.includes(randomDigits))
192
+ continue;
193
+ ss.push(...suggestAppendDigits(method, s, randomDigits));
194
+ got++;
195
+ }
196
+ return ss;
197
+ };
198
+ const suggestHyphens = (method, s) => {
199
+ const ss = [];
200
+ // 2 suggestions or less, if the string is too short.
201
+ const want = Math.min(Math.floor(s.length / 2), 2);
202
+ let got = 0;
203
+ while (got < want) {
204
+ // Exclude first and last character to avoid leading/trailing hyphens.
205
+ for (let i = 1; i < s.length && got < want; i++) {
206
+ // Randomly skip some combinations.
207
+ if (Math.random() > 0.5)
208
+ continue;
209
+ const left = s.slice(0, i);
210
+ const right = s.slice(i);
211
+ if (isSlur(left) || isSlur(right)) {
212
+ // Skip but count to avoid infinite loop.
213
+ got++;
214
+ continue;
215
+ }
216
+ ss.push({ subdomain: `${left}-${right}`, method });
217
+ got++;
218
+ }
219
+ }
220
+ return ss;
221
+ };
222
+ // regexes taken from: https://github.com/Blank-Cheque/Slurs
223
+ /* eslint-disable no-misleading-character-class */
224
+ const explicitSlurRegexes = [
225
+ /\b[cĆćĈĉČčĊċÇçḈḉȻȼꞒꞓꟄꞔƇƈɕ][hĤĥȞȟḦḧḢḣḨḩḤḥḪḫH̱ẖĦħⱧⱨꞪɦꞕΗНн][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLl][nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲŊŋꞐꞑꞤꞥᵰᶇɳȵꬻꬼИиПпNn][kḰḱǨǩĶķḲḳḴḵƘƙⱩⱪᶄꝀꝁꝂꝃꝄꝅꞢꞣ][sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?\b/,
226
+ /\b[cĆćĈĉČčĊċÇçḈḉȻȼꞒꞓꟄꞔƇƈɕ][ÓóÒòŎŏÔôỐốỒồỖỗỔổǑǒÖöȪȫŐőÕõṌṍṎṏȬȭȮȯO͘o͘ȰȱØøǾǿǪǫǬǭŌōṒṓṐṑỎỏȌȍȎȏƠơỚớỜờỠỡỞởỢợỌọỘộO̩o̩Ò̩ò̩Ó̩ó̩ƟɵꝊꝋꝌꝍⱺOo0]{2}[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲŊŋꞐꞑꞤꞥᵰᶇɳȵꬻꬼИиПпNn][sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?\b/,
227
+ /\b[fḞḟƑƒꞘꞙᵮᶂ][aÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa@4][gǴǵĞğĜĝǦǧĠġG̃g̃ĢģḠḡǤǥꞠꞡƓɠᶃꬶGgqꝖꝗꝘꝙɋʠ]{1,2}([ÓóÒòŎŏÔôỐốỒồỖỗỔổǑǒÖöȪȫŐőÕõṌṍṎṏȬȭȮȯO͘o͘ȰȱØøǾǿǪǫǬǭŌōṒṓṐṑỎỏȌȍȎȏƠơỚớỜờỠỡỞởỢợỌọỘộO̩o̩Ò̩ò̩Ó̩ó̩ƟɵꝊꝋꝌꝍⱺOo0e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEeiÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLl][tŤťṪṫŢţṬṭȚțṰṱṮṯŦŧȾⱦƬƭƮʈT̈ẗᵵƫȶ]{1,2}([rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ][yÝýỲỳŶŷY̊ẙŸÿỸỹẎẏȲȳỶỷỴỵɎɏƳƴỾỿ]|[rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLl][e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe])?)?[sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?\b/,
228
+ /\b[kḰḱǨǩĶķḲḳḴḵƘƙⱩⱪᶄꝀꝁꝂꝃꝄꝅꞢꞣ][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLlyÝýỲỳŶŷY̊ẙŸÿỸỹẎẏȲȳỶỷỴỵɎɏƳƴỾỿ][kḰḱǨǩĶķḲḳḴḵƘƙⱩⱪᶄꝀꝁꝂꝃꝄꝅꞢꞣ][e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe]([rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ][yÝýỲỳŶŷY̊ẙŸÿỸỹẎẏȲȳỶỷỴỵɎɏƳƴỾỿ]|[rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLl][e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe])?[sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]*\b/,
229
+ /\b[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲŊŋꞐꞑꞤꞥᵰᶇɳȵꬻꬼИиПпNn][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLloÓóÒòŎŏÔôỐốỒồỖỗỔổǑǒÖöȪȫŐőÕõṌṍṎṏȬȭȮȯO͘o͘ȰȱØøǾǿǪǫǬǭŌōṒṓṐṑỎỏȌȍȎȏƠơỚớỜờỠỡỞởỢợỌọỘộO̩o̩Ò̩ò̩Ó̩ó̩ƟɵꝊꝋꝌꝍⱺOoІіa4ÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa][gǴǵĞğĜĝǦǧĠġG̃g̃ĢģḠḡǤǥꞠꞡƓɠᶃꬶGgqꝖꝗꝘꝙɋʠ]{2}(l[e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe]t|[e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEeaÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa][rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ]?|n[ÓóÒòŎŏÔôỐốỒồỖỗỔổǑǒÖöȪȫŐőÕõṌṍṎṏȬȭȮȯO͘o͘ȰȱØøǾǿǪǫǬǭŌōṒṓṐṑỎỏȌȍȎȏƠơỚớỜờỠỡỞởỢợỌọỘộO̩o̩Ò̩ò̩Ó̩ó̩ƟɵꝊꝋꝌꝍⱺOo0][gǴǵĞğĜĝǦǧĠġG̃g̃ĢģḠḡǤǥꞠꞡƓɠᶃꬶGgqꝖꝗꝘꝙɋʠ]|[a4ÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa]?)?[sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?\b/,
230
+ /[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲŊŋꞐꞑꞤꞥᵰᶇɳȵꬻꬼИиПпNn][iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLloÓóÒòŎŏÔôỐốỒồỖỗỔổǑǒÖöȪȫŐőÕõṌṍṎṏȬȭȮȯO͘o͘ȰȱØøǾǿǪǫǬǭŌōṒṓṐṑỎỏȌȍȎȏƠơỚớỜờỠỡỞởỢợỌọỘộO̩o̩Ò̩ò̩Ó̩ó̩ƟɵꝊꝋꝌꝍⱺOoІіa4ÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa][gǴǵĞğĜĝǦǧĠġG̃g̃ĢģḠḡǤǥꞠꞡƓɠᶃꬶGgqꝖꝗꝘꝙɋʠ]{2}(l[e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe]t|[e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe][rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ])[sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?/,
231
+ /\b[tŤťṪṫŢţṬṭȚțṰṱṮṯŦŧȾⱦƬƭƮʈT̈ẗᵵƫȶ][rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ][aÁáÀàĂăẮắẰằẴẵẲẳÂâẤấẦầẪẫẨẩǍǎÅåǺǻÄäǞǟÃãȦȧǠǡĄąĄ́ą́Ą̃ą̃ĀāĀ̀ā̀ẢảȀȁA̋a̋ȂȃẠạẶặẬậḀḁȺⱥꞺꞻᶏẚAa4]+[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲŊŋꞐꞑꞤꞥᵰᶇɳȵꬻꬼИиПпNn]{1,2}([iÍíi̇́Ììi̇̀ĬĭÎîǏǐÏïḮḯĨĩi̇̃ĮįĮ́į̇́Į̃į̇̃ĪīĪ̀ī̀ỈỉȈȉI̋i̋ȊȋỊịꞼꞽḬḭƗɨᶖİiIıIi1lĺľļḷḹl̃ḽḻłŀƚꝉⱡɫɬꞎꬷꬸꬹᶅɭȴLl][e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe]|[yÝýỲỳŶŷY̊ẙŸÿỸỹẎẏȲȳỶỷỴỵɎɏƳƴỾỿ]|[e3ЄєЕеÉéÈèĔĕÊêẾếỀềỄễỂểÊ̄ê̄Ê̌ê̌ĚěËëẼẽĖėĖ́ė́Ė̃ė̃ȨȩḜḝĘęĘ́ę́Ę̃ę̃ĒēḖḗḔḕẺẻȄȅE̋e̋ȆȇẸẹỆệḘḙḚḛɆɇE̩e̩È̩è̩É̩é̩ᶒⱸꬴꬳEe][rŔŕŘřṘṙŖŗȐȑȒȓṚṛṜṝṞṟR̃r̃ɌɍꞦꞧⱤɽᵲᶉꭉ])[sŚśṤṥŜŝŠšṦṧṠṡŞşṢṣṨṩȘșS̩s̩ꞨꞩⱾȿꟅʂᶊᵴ]?\b/,
232
+ ];
233
+ const isSlur = (handle) => {
234
+ return (leo_profanity_1.default.check(handle) ||
235
+ explicitSlurRegexes.some((reg) => reg.test(handle) ||
236
+ reg.test(handle.replaceAll('.', '').replaceAll('-', '').replaceAll('_', ''))));
237
+ };
238
+ //# sourceMappingURL=checkHandleAvailability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkHandleAvailability.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/checkHandleAvailability.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,4BAkDC;AA9DD,2CAA4C;AAC5C,kEAAkC;AAClC,uDAAwC;AACxC,sDAA0D;AAQ1D,sCAAsC;AACtC,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC;QAChD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;YAE3D,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnB,OAAO;oBACL,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE;wBACJ,MAAM;wBACN,MAAM,EAAE;4BACN,KAAK,EACH,8DAA8D;4BAChE,WAAW,EAAE,EAAE;yBAChB;qBACF;iBACF,CAAA;YACH,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE;gBACvD,oBAAoB,EAAE,IAAI;aAC3B,CAAC,CAAA;YACF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;oBACL,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE;wBACJ,MAAM;wBACN,MAAM,EAAE;4BACN,KAAK,EACH,4DAA4D;yBAC/D;qBACF;iBACF,CAAA;YACH,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;YAEvE,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE;oBACJ,MAAM;oBACN,MAAM,EAAE;wBACN,KAAK,EACH,8DAA8D;wBAChE,WAAW;qBACZ;iBACF;aACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAE,EAAE;IAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACxB,IAAI,KAAK,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,iCAAmB,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAA;IACzE,CAAC;IAED,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7C,CAAA;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,WAAyB,EAAgB,EAAE,CACpE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;IAC/B,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5D,CAAC,CAAC,CAAA;AAEJ,mFAAmF;AACnF,MAAM,cAAc,GAAG,KAAK,EAC1B,GAAe,EACf,eAAuB,EACvB,KAAyB,EACzB,SAA6B,EACN,EAAE;IACzB,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE7B,IAAI,WAAW,GAAiB,EAAE,CAAA;IAElC,MAAM,IAAI,GAAG,CAAC,CAAA;IACd,IAAI,OAAO,GAAG,CAAC,CAAA;IAEf,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAC9C,GAAG,EACH,wBAAwB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,EACrD,eAAe,EACf,MAAM,CACP,CAAA;IACD,WAAW,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;IAElC,OAAO,WAAW,CAAC,MAAM,GAAG,IAAI,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACvC,GAAG,EACH,iBAAiB,CAAC,SAAS,CAAC,EAC5B,eAAe,EACf,MAAM,CACP,CAAA;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;QAE3B,WAAW,GAAG,iBAAiB,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAA;QAC5D,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AACnC,CAAC,CAAA;AAOD,MAAM,oBAAoB,GAAG,KAAK,EAChC,GAAe,EACf,WAAqC,EACrC,eAAuB,EACvB,MAAc,EACS,EAAE;IACzB,MAAM,IAAI,GAAG,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,CAAA;IAE5E,MAAM,gBAAgB,GAAG,WAAW;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,8CAA8C;QAC9C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QAExC,8CAA8C;QAC9C,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,KAAK,CAAA;QAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QACxC,mDAAmD;QACnD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,KAAK,CAAA;QAEpC,yCAAyC;QACzC,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,eAAe,CAAA;IAClE,CAAC,CAAC;SACD,GAAG,CACF,CAAC,CAAC,EAAc,EAAE,CAAC,CAAC;QAClB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CACH,CAAA;IAEH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAC3C,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACrC;QACE,oBAAoB,EAAE,IAAI;KAC3B,CACF,CAAA;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,wBAAwB,GAAG,CAC/B,SAAiB,EACjB,KAAyB,EACzB,SAA6B,EACH,EAAE;IAC5B,MAAM,SAAS,GAAG,KAAK;QACrB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACd,WAAW,EAAE;SACb,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;SACjB,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAE/B,OAAO;QACL,GAAG,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC;QACrD,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC;QACnC,GAAG,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC;KACrD,CAAA;AACH,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAA4B,EAAE,CAAC;IACzE,GAAG,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC;IACtC,GAAG,yBAAyB,CAAC,eAAe,EAAE,SAAS,CAAC;CACzD,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAA;AAE1B,MAAM,OAAO,GAAG,CAAC,CAAqB,EAAsB,EAAE;IAC5D,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAExB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAA;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CACnB,MAAc,EACd,CAAqB,EACK,EAAE;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAC1B,MAAc,EACd,CAAqB,EACrB,CAAqB,EACK,EAAE;IAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAA;IAEvB,0EAA0E;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1C,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG,CAChC,MAAc,EACd,CAAS,EACiB,EAAE;IAC5B,MAAM,EAAE,GAA6B,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,CAAC,CAAA;IACd,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,SAAQ;QAChD,EAAE,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAA;QACxD,GAAG,EAAE,CAAA;IACP,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CACrB,MAAc,EACd,CAAS,EACiB,EAAE;IAC5B,MAAM,EAAE,GAA6B,EAAE,CAAA;IACvC,qDAAqD;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClD,IAAI,GAAG,GAAG,CAAC,CAAA;IAEX,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,sEAAsE;QACtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,mCAAmC;YACnC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;gBAAE,SAAQ;YAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACxB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,yCAAyC;gBACzC,GAAG,EAAE,CAAA;gBACL,SAAQ;YACV,CAAC;YACD,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YAClD,GAAG,EAAE,CAAA;QACP,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,4DAA4D;AAC5D,kDAAkD;AAClD,MAAM,mBAAmB,GAAG;IAC1B,yQAAyQ;IACzQ,sNAAsN;IACtN,4zBAA4zB;IAC5zB,wnBAAwnB;IACxnB,88BAA88B;IAC98B,ipBAAipB;IACjpB,8mBAA8mB;CAC/mB,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,MAAc,EAAW,EAAE;IACzC,OAAO,CACL,uBAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACpB,mBAAmB,CAAC,IAAI,CACtB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAChB,GAAG,CAAC,IAAI,CACN,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CACnE,CACJ,CACF,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"initAgeAssurance.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAI5C,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAwDvD"}
1
+ {"version":3,"file":"initAgeAssurance.d.ts","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAO5C,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QA+EvD"}
@@ -9,6 +9,8 @@ const address_1 = require("@hapi/address");
9
9
  const disposable_email_domains_js_1 = require("disposable-email-domains-js");
10
10
  const xrpc_server_1 = require("@atproto/xrpc-server");
11
11
  const feature_gates_1 = require("../../../../feature-gates");
12
+ const kws_1 = require("../../../../kws");
13
+ const logger_1 = require("../../../../logger");
12
14
  const util_1 = require("../../../kws/util");
13
15
  function default_1(server, ctx) {
14
16
  server.app.bsky.unspecced.initAgeAssurance({
@@ -23,21 +25,34 @@ function default_1(server, ctx) {
23
25
  if (!enabled) {
24
26
  throw new xrpc_server_1.ForbiddenError();
25
27
  }
26
- const { email, language, countryCode } = input.body;
27
- if (!(0, address_1.isEmailValid)(email) || (0, disposable_email_domains_js_1.isDisposableEmail)(email)) {
28
- throw new xrpc_server_1.InvalidRequestError('This email address is not supported, please use a different email.');
28
+ const actorInfo = await getAgeVerificationState(ctx, actorDid);
29
+ if (actorInfo?.ageAssuranceStatus) {
30
+ if (actorInfo.ageAssuranceStatus.status !== 'unknown' &&
31
+ actorInfo.ageAssuranceStatus.status !== 'pending') {
32
+ throw new xrpc_server_1.InvalidRequestError(`Cannot initiate age assurance flow from current state: ${actorInfo.ageAssuranceStatus.status}`, 'InvalidInitiation');
33
+ }
29
34
  }
35
+ const { countryCode, email, language } = validateInput(input.body);
30
36
  const attemptId = node_crypto_1.default.randomUUID();
31
37
  // Assumes `app.set('trust proxy', ...)` configured with `true` or specific values.
32
38
  const initIp = req.ip;
33
39
  const initUa = (0, util_1.getClientUa)(req);
34
40
  const externalPayload = { actorDid, attemptId };
35
- await ctx.kwsClient.sendEmail({
36
- countryCode: countryCode.toUpperCase(),
37
- email,
38
- externalPayload,
39
- language,
40
- });
41
+ try {
42
+ await ctx.kwsClient.sendEmail({
43
+ countryCode: countryCode.toUpperCase(),
44
+ email,
45
+ externalPayload,
46
+ language,
47
+ });
48
+ }
49
+ catch (err) {
50
+ if (err instanceof kws_1.KwsExternalPayloadError) {
51
+ logger_1.httpLogger.error({ externalPayload }, 'Age Assurance flow failed because external payload got too long, which is caused by the DID being too long');
52
+ throw new xrpc_server_1.InvalidRequestError('Age Assurance flow failed because DID is too long', 'DidTooLong');
53
+ }
54
+ throw err;
55
+ }
41
56
  const event = await (0, util_1.createStashEvent)(ctx, {
42
57
  actorDid,
43
58
  attemptId,
@@ -56,4 +71,51 @@ function default_1(server, ctx) {
56
71
  },
57
72
  });
58
73
  }
74
+ // Supported languages for KWS Adult Verification.
75
+ // This list comes from KWS's AV Developer Guide PDF doc.
76
+ const kwsAvSupportedLanguages = [
77
+ 'en',
78
+ 'ar',
79
+ 'zh-Hans',
80
+ 'nl',
81
+ 'tl',
82
+ 'fr',
83
+ 'de',
84
+ 'id',
85
+ 'it',
86
+ 'ja',
87
+ 'ko',
88
+ 'pl',
89
+ 'pt-BR',
90
+ 'pt',
91
+ 'ru',
92
+ 'es',
93
+ 'th',
94
+ 'tr',
95
+ 'vi',
96
+ ];
97
+ const validateInput = (input) => {
98
+ const { countryCode, email, language } = input;
99
+ if (!(0, address_1.isEmailValid)(email) || (0, disposable_email_domains_js_1.isDisposableEmail)(email)) {
100
+ throw new xrpc_server_1.InvalidRequestError('This email address is not supported, please use a different email.', 'InvalidEmail');
101
+ }
102
+ return {
103
+ countryCode,
104
+ email,
105
+ language: kwsAvSupportedLanguages.includes(language) ? language : 'en',
106
+ };
107
+ };
108
+ const getAgeVerificationState = async (ctx, actorDid) => {
109
+ try {
110
+ const res = await ctx.dataplane.getActors({
111
+ dids: [actorDid],
112
+ returnAgeAssuranceForDids: [actorDid],
113
+ skipCacheForDids: [actorDid],
114
+ });
115
+ return res.actors[0];
116
+ }
117
+ catch (err) {
118
+ return undefined;
119
+ }
120
+ };
59
121
  //# sourceMappingURL=initAgeAssurance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initAgeAssurance.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":";;;;;AAcA,4BAwDC;AAtED,8DAAgC;AAChC,2CAA4C;AAC5C,6EAA+D;AAC/D,sDAI6B;AAE7B,6DAAkD;AAGlD,4CAAiE;AAEjE,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACzC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,QAAQ;QAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,uCAAyB,CACjC,0DAA0D,CAC3D,CAAA;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAA;YACrC,MAAM,OAAO,GACX,GAAG,CAAC,GAAG,CAAC,SAAS;gBACjB,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAM,CAAC,YAAY,CAAC,CAAA;YACnE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,4BAAc,EAAE,CAAA;YAC5B,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAA;YACnD,IAAI,CAAC,IAAA,sBAAY,EAAC,KAAK,CAAC,IAAI,IAAA,+CAAiB,EAAC,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,iCAAmB,CAC3B,oEAAoE,CACrE,CAAA;YACH,CAAC;YAED,MAAM,SAAS,GAAG,qBAAM,CAAC,UAAU,EAAE,CAAA;YACrC,mFAAmF;YACnF,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CAAA;YACrB,MAAM,MAAM,GAAG,IAAA,kBAAW,EAAC,GAAG,CAAC,CAAA;YAC/B,MAAM,eAAe,GAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;YAEnE,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC;gBAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE;gBACtC,KAAK;gBACL,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,MAAM,IAAA,uBAAgB,EAAC,GAAG,EAAE;gBACxC,QAAQ;gBACR,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,MAAM;gBACN,MAAM,EAAE,SAAS;aAClB,CAAC,CAAA;YAEF,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE;oBACJ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,eAAe,EAAE,KAAK,CAAC,SAAS;iBACjC;aACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"initAgeAssurance.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAwEnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,UA0EvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAyEnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAA;AAEzC,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAA;AAE/C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,UA2EvD"}
package/dist/api/index.js CHANGED
@@ -89,6 +89,7 @@ const putPreferences_1 = __importDefault(require("./app/bsky/notification/putPre
89
89
  const putPreferencesV2_1 = __importDefault(require("./app/bsky/notification/putPreferencesV2"));
90
90
  const registerPush_1 = __importDefault(require("./app/bsky/notification/registerPush"));
91
91
  const updateSeen_1 = __importDefault(require("./app/bsky/notification/updateSeen"));
92
+ const checkHandleAvailability_1 = __importDefault(require("./app/bsky/unspecced/checkHandleAvailability"));
92
93
  const getAgeAssuranceState_1 = __importDefault(require("./app/bsky/unspecced/getAgeAssuranceState"));
93
94
  const getConfig_1 = __importDefault(require("./app/bsky/unspecced/getConfig"));
94
95
  const getPopularFeedGenerators_1 = __importDefault(require("./app/bsky/unspecced/getPopularFeedGenerators"));
@@ -175,6 +176,7 @@ function default_1(server, ctx) {
175
176
  (0, getConfig_1.default)(server, ctx);
176
177
  (0, getPopularFeedGenerators_1.default)(server, ctx);
177
178
  (0, getTaggedSuggestions_1.default)(server, ctx);
179
+ (0, checkHandleAvailability_1.default)(server, ctx);
178
180
  (0, getAgeAssuranceState_1.default)(server, ctx);
179
181
  (0, initAgeAssurance_1.default)(server, ctx);
180
182
  // com.atproto
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFA,4BA2EC;AA3JD,6EAAoD;AACpD,+EAAsD;AACtD,qFAA4D;AAC5D,iFAAwD;AACxD,mGAA0E;AAC1E,kFAAyD;AACzD,kFAAyD;AACzD,kFAAyD;AACzD,sEAA6C;AAC7C,wFAA+D;AAC/D,0FAAiE;AACjE,wEAA+C;AAC/C,8EAAqD;AACrD,kFAAyD;AACzD,wEAA+C;AAC/C,0EAAiD;AACjD,kFAAyD;AACzD,0FAAiE;AACjE,8EAAqD;AACrD,8EAAqD;AACrD,iGAAwE;AACxE,2EAAkD;AAClD,iFAAwD;AACxD,6EAAoD;AACpD,2FAAkE;AAClE,uEAA8C;AAC9C,mFAA0D;AAC1D,iFAAwD;AACxD,yEAAgD;AAChD,yEAAgD;AAChD,yFAAgE;AAChE,qFAA4D;AAC5D,uFAA8D;AAC9D,6GAAoF;AACpF,2EAAkD;AAClD,mFAA0D;AAC1D,6EAAoD;AACpD,6FAAoE;AACpE,+EAAsD;AACtD,uFAA8D;AAC9D,iFAAwD;AACxD,iFAA+D;AAC/D,4FAAmE;AACnE,4FAAmE;AACnE,kHAAyF;AACzF,kGAAyE;AACzE,8GAAqF;AACrF,4FAAmE;AACnE,gGAAuE;AACvE,wFAA+D;AAC/D,oFAA2D;AAC3D,2GAAkF;AAClF,qGAA4E;AAC5E,+EAAsD;AACtD,6GAAoF;AACpF,qGAA4E;AAC5E,2FAAkE;AAClE,+FAA+E;AAC/E,6GAAoF;AACpF,+FAAsE;AACtE,qGAA4E;AAC5E,+FAAsE;AACtE,+EAAsD;AACtD,6FAAoE;AACpE,0FAAiE;AACjE,4FAAmE;AACnE,kGAAyE;AACzE,yFAAgE;AAChE,kFAAyD;AACzD,6EAAoD;AACpD,iFAAwD;AAExD,mDAAkC;AAElC,0DAAyC;AAEzC,gEAA+C;AAE/C,uDAAsC;AAEtC,mBAAyB,MAAc,EAAE,GAAe;IACtD,WAAW;IACX,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,iBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpB,IAAA,0BAAgB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,kBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,8BAAoB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,IAAA,yBAAe,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAA,kBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,8BAAoB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,iBAAO,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpB,IAAA,kBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrB,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,IAAA,kBAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrB,IAAA,0BAAgB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,yBAAe,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAA,4BAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,yBAAe,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,IAAA,oCAA0B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,kCAAwB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,2BAA0B,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,IAAA,qBAAkB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,IAAA,+BAAqB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,mCAAyB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtC,IAAA,2BAAiB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,IAAA,iCAAuB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,IAAA,oBAAU,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvB,IAAA,wBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,IAAA,0BAAgB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,IAAA,sBAAY,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,kCAAwB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACrC,IAAA,8BAAoB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,IAAA,iCAAuB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,IAAA,8BAAoB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,IAAA,0BAAgB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,cAAc;IACd,IAAA,0BAAgB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC7B,IAAA,6BAAmB,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAChC,IAAA,yBAAe,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAA,uBAAa,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC1B,IAAA,mBAAS,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,IAAA,qBAAW,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACxB,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/kws.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { KwsExternalPayload } from './api/kws/types';
2
2
  import { KwsConfig } from './config';
3
3
  export declare const createKwsClient: (cfg: KwsConfig) => KwsClient;
4
+ export declare class KwsExternalPayloadError extends Error {
5
+ }
4
6
  export declare class KwsClient {
5
7
  cfg: KwsConfig;
6
8
  constructor(cfg: KwsConfig);
package/dist/kws.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kws.d.ts","sourceRoot":"","sources":["../src/kws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,KAAG,SAEhD,CAAA;AAOD,qBAAa,SAAS;IACD,GAAG,EAAE,SAAS;gBAAd,GAAG,EAAE,SAAS;YAEnB,IAAI;YAiCJ,aAAa;IAerB,SAAS,CAAC,EACd,WAAW,EACX,KAAK,EACL,eAAe,EACf,QAAQ,GACT,EAAE;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,kBAAkB,CAAA;QACnC,QAAQ,EAAE,MAAM,CAAA;KACjB;CA8BF"}
1
+ {"version":3,"file":"kws.d.ts","sourceRoot":"","sources":["../src/kws.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAGpC,eAAO,MAAM,eAAe,GAAI,KAAK,SAAS,KAAG,SAEhD,CAAA;AAQD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG;AAErD,qBAAa,SAAS;IACD,GAAG,EAAE,SAAS;gBAAd,GAAG,EAAE,SAAS;YAEnB,IAAI;YAiCJ,aAAa;IAerB,SAAS,CAAC,EACd,WAAW,EACX,KAAK,EACL,eAAe,EACf,QAAQ,GACT,EAAE;QACD,WAAW,EAAE,MAAM,CAAA;QACnB,KAAK,EAAE,MAAM,CAAA;QACb,eAAe,EAAE,kBAAkB,CAAA;QACnC,QAAQ,EAAE,MAAM,CAAA;KACjB;CAmCF"}
package/dist/kws.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KwsClient = exports.createKwsClient = void 0;
3
+ exports.KwsClient = exports.KwsExternalPayloadError = exports.createKwsClient = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const util_1 = require("./api/kws/util");
6
6
  const auth_verifier_1 = require("./auth-verifier");
@@ -13,6 +13,10 @@ exports.createKwsClient = createKwsClient;
13
13
  const authResponseSchema = zod_1.z.object({
14
14
  access_token: zod_1.z.string(),
15
15
  });
16
+ const EXTERNAL_PAYLOAD_CHAR_LIMIT = 200;
17
+ class KwsExternalPayloadError extends Error {
18
+ }
19
+ exports.KwsExternalPayloadError = KwsExternalPayloadError;
16
20
  class KwsClient {
17
21
  constructor(cfg) {
18
22
  Object.defineProperty(this, "cfg", {
@@ -60,6 +64,10 @@ class KwsClient {
60
64
  });
61
65
  }
62
66
  async sendEmail({ countryCode, email, externalPayload, language, }) {
67
+ const serializedExternalPayload = (0, util_1.serializeExternalPayload)(externalPayload);
68
+ if (serializedExternalPayload.length > EXTERNAL_PAYLOAD_CHAR_LIMIT) {
69
+ throw new KwsExternalPayloadError();
70
+ }
63
71
  const res = await this.fetchWithAuth(`${this.cfg.apiOrigin}/v1/verifications/send-email`, {
64
72
  method: 'POST',
65
73
  headers: {
@@ -68,7 +76,7 @@ class KwsClient {
68
76
  },
69
77
  body: JSON.stringify({
70
78
  email,
71
- externalPayload: (0, util_1.serializeExternalPayload)(externalPayload),
79
+ externalPayload: serializedExternalPayload,
72
80
  language,
73
81
  location: countryCode,
74
82
  userContext: 'adult',
package/dist/kws.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"kws.js","sourceRoot":"","sources":["../src/kws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kws.js","sourceRoot":"","sources":["../src/kws.ts"],"names":[],"mappings":"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"}
@@ -101,8 +101,8 @@ import * as AppBskyFeedGetFeedGenerators from './types/app/bsky/feed/getFeedGene
101
101
  import * as AppBskyFeedGetFeedSkeleton from './types/app/bsky/feed/getFeedSkeleton.js';
102
102
  import * as AppBskyFeedGetLikes from './types/app/bsky/feed/getLikes.js';
103
103
  import * as AppBskyFeedGetListFeed from './types/app/bsky/feed/getListFeed.js';
104
- import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js';
105
104
  import * as AppBskyFeedGetPosts from './types/app/bsky/feed/getPosts.js';
105
+ import * as AppBskyFeedGetPostThread from './types/app/bsky/feed/getPostThread.js';
106
106
  import * as AppBskyFeedGetQuotes from './types/app/bsky/feed/getQuotes.js';
107
107
  import * as AppBskyFeedGetRepostedBy from './types/app/bsky/feed/getRepostedBy.js';
108
108
  import * as AppBskyFeedGetSuggestedFeeds from './types/app/bsky/feed/getSuggestedFeeds.js';
@@ -141,6 +141,7 @@ import * as AppBskyNotificationPutPreferencesV2 from './types/app/bsky/notificat
141
141
  import * as AppBskyNotificationRegisterPush from './types/app/bsky/notification/registerPush.js';
142
142
  import * as AppBskyNotificationUnregisterPush from './types/app/bsky/notification/unregisterPush.js';
143
143
  import * as AppBskyNotificationUpdateSeen from './types/app/bsky/notification/updateSeen.js';
144
+ import * as AppBskyUnspeccedCheckHandleAvailability from './types/app/bsky/unspecced/checkHandleAvailability.js';
144
145
  import * as AppBskyUnspeccedGetAgeAssuranceState from './types/app/bsky/unspecced/getAgeAssuranceState.js';
145
146
  import * as AppBskyUnspeccedGetConfig from './types/app/bsky/unspecced/getConfig.js';
146
147
  import * as AppBskyUnspeccedGetPopularFeedGenerators from './types/app/bsky/unspecced/getPopularFeedGenerators.js';
@@ -409,8 +410,8 @@ export declare class AppBskyFeedNS {
409
410
  getFeedSkeleton<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetFeedSkeleton.QueryParams, AppBskyFeedGetFeedSkeleton.HandlerInput, AppBskyFeedGetFeedSkeleton.HandlerOutput>): void;
410
411
  getLikes<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetLikes.QueryParams, AppBskyFeedGetLikes.HandlerInput, AppBskyFeedGetLikes.HandlerOutput>): void;
411
412
  getListFeed<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetListFeed.QueryParams, AppBskyFeedGetListFeed.HandlerInput, AppBskyFeedGetListFeed.HandlerOutput>): void;
412
- getPostThread<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetPostThread.QueryParams, AppBskyFeedGetPostThread.HandlerInput, AppBskyFeedGetPostThread.HandlerOutput>): void;
413
413
  getPosts<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetPosts.QueryParams, AppBskyFeedGetPosts.HandlerInput, AppBskyFeedGetPosts.HandlerOutput>): void;
414
+ getPostThread<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetPostThread.QueryParams, AppBskyFeedGetPostThread.HandlerInput, AppBskyFeedGetPostThread.HandlerOutput>): void;
414
415
  getQuotes<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetQuotes.QueryParams, AppBskyFeedGetQuotes.HandlerInput, AppBskyFeedGetQuotes.HandlerOutput>): void;
415
416
  getRepostedBy<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetRepostedBy.QueryParams, AppBskyFeedGetRepostedBy.HandlerInput, AppBskyFeedGetRepostedBy.HandlerOutput>): void;
416
417
  getSuggestedFeeds<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyFeedGetSuggestedFeeds.QueryParams, AppBskyFeedGetSuggestedFeeds.HandlerInput, AppBskyFeedGetSuggestedFeeds.HandlerOutput>): void;
@@ -469,6 +470,7 @@ export declare class AppBskyRichtextNS {
469
470
  export declare class AppBskyUnspeccedNS {
470
471
  _server: Server;
471
472
  constructor(server: Server);
473
+ checkHandleAvailability<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyUnspeccedCheckHandleAvailability.QueryParams, AppBskyUnspeccedCheckHandleAvailability.HandlerInput, AppBskyUnspeccedCheckHandleAvailability.HandlerOutput>): void;
472
474
  getAgeAssuranceState<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyUnspeccedGetAgeAssuranceState.QueryParams, AppBskyUnspeccedGetAgeAssuranceState.HandlerInput, AppBskyUnspeccedGetAgeAssuranceState.HandlerOutput>): void;
473
475
  getConfig<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyUnspeccedGetConfig.QueryParams, AppBskyUnspeccedGetConfig.HandlerInput, AppBskyUnspeccedGetConfig.HandlerOutput>): void;
474
476
  getPopularFeedGenerators<A extends Auth = void>(cfg: MethodConfigOrHandler<A, AppBskyUnspeccedGetPopularFeedGenerators.QueryParams, AppBskyUnspeccedGetPopularFeedGenerators.HandlerInput, AppBskyUnspeccedGetPopularFeedGenerators.HandlerOutput>): void;