@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.
- package/CHANGELOG.md +15 -0
- package/dist/api/app/bsky/unspecced/checkHandleAvailability.d.ts +4 -0
- package/dist/api/app/bsky/unspecced/checkHandleAvailability.d.ts.map +1 -0
- package/dist/api/app/bsky/unspecced/checkHandleAvailability.js +238 -0
- package/dist/api/app/bsky/unspecced/checkHandleAvailability.js.map +1 -0
- package/dist/api/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
- package/dist/api/app/bsky/unspecced/initAgeAssurance.js +71 -9
- package/dist/api/app/bsky/unspecced/initAgeAssurance.js.map +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/kws.d.ts +2 -0
- package/dist/kws.d.ts.map +1 -1
- package/dist/kws.js +10 -2
- package/dist/kws.js.map +1 -1
- package/dist/lexicon/index.d.ts +4 -2
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +8 -4
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +268 -82
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +145 -42
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.d.ts +58 -0
- package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.js +34 -0
- package/dist/lexicon/types/app/bsky/unspecced/checkHandleAvailability.js.map +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/unspecced/initAgeAssurance.d.ts.map +1 -1
- package/package.json +7 -6
- package/src/api/app/bsky/unspecced/checkHandleAvailability.ts +291 -0
- package/src/api/app/bsky/unspecced/initAgeAssurance.ts +96 -11
- package/src/api/index.ts +2 -0
- package/src/kws.ts +9 -1
- package/src/lexicon/index.ts +24 -11
- package/src/lexicon/lexicons.ts +154 -43
- package/src/lexicon/types/app/bsky/unspecced/checkHandleAvailability.ts +99 -0
- package/src/lexicon/types/app/bsky/unspecced/initAgeAssurance.ts +1 -0
- package/tests/views/age-assurance.test.ts +44 -0
- package/tests/views/handle-availability.test.ts +294 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- 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 @@
|
|
|
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":"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"}
|
|
@@ -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;
|
|
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
|
|
27
|
-
if (
|
|
28
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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":";;;;;
|
|
1
|
+
{"version":3,"file":"initAgeAssurance.js","sourceRoot":"","sources":["../../../../../src/api/app/bsky/unspecced/initAgeAssurance.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
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;
|
|
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:
|
|
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":";;;AAAA,6BAAuB;AAEvB,yCAAyD;AACzD,mDAAgD;AAEhD,qCAA4C;AAErC,MAAM,eAAe,GAAG,CAAC,GAAc,EAAa,EAAE;IAC3D,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,CAAA;AAC3B,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,wDAAwD;AACxD,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAA;AAEF,MAAa,SAAS;IACpB,YAAmB,GAAc;QAArB;;;;mBAAO,GAAG;WAAW;IAAG,CAAC;IAE7B,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,gDAAgD,EACtE;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,mCAAmC;oBACnD,aAAa,EAAE,IAAA,8BAAc,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;iBAClE;gBACD,IAAI,EAAE,IAAI,eAAe,CAAC;oBACxB,UAAU,EAAE,oBAAoB;oBAChC,KAAK,EAAE,cAAc;iBACtB,CAAC;aACH,CACF,CAAA;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;gBAClC,MAAM,IAAI,KAAK,CACb,uDAAuD,GAAG,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAAU,gBAAgB,SAAS,EAAE,CAC5H,CAAA;YACH,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;YAC7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnD,OAAO,YAAY,CAAC,YAAY,CAAA;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mBAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,iCAAiC,CAAC,CAAA;YACrD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,GAAW,EACX,IAAiB;QAEjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QAErC,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,GAAG,IAAI;YACP,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;gBACvB,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EACd,WAAW,EACX,KAAK,EACL,eAAe,EACf,QAAQ,GAMT;QACC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAClC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,8BAA8B,EACnD;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"kws.js","sourceRoot":"","sources":["../src/kws.ts"],"names":[],"mappings":"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"}
|
package/dist/lexicon/index.d.ts
CHANGED
|
@@ -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;
|