@atcute/lexicon-resolver 0.1.5 → 0.1.6

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/README.md CHANGED
@@ -1,36 +1,40 @@
1
1
  # @atcute/lexicon-resolver
2
2
 
3
- atproto lexicon authority resolution and schema retrieval
3
+ resolve lexicon schemas from the AT Protocol network.
4
+
5
+ ```sh
6
+ npm install @atcute/lexicon-resolver
7
+ ```
8
+
9
+ ## usage
10
+
11
+ ### resolving lexicon authority
12
+
13
+ find which DID is authoritative for an NSID via DNS TXT records:
4
14
 
5
15
  ```ts
6
- // authority resolution
16
+ import { DohJsonLexiconAuthorityResolver } from '@atcute/lexicon-resolver';
17
+
7
18
  const authorityResolver = new DohJsonLexiconAuthorityResolver({
8
19
  dohUrl: 'https://mozilla.cloudflare-dns.com/dns-query',
9
20
  });
10
21
 
11
- try {
12
- const authority = await authorityResolver.resolve('app.bsky.feed.post');
13
- // ^? 'did:plc:4v4y5r3lwsbtmsxhile2ljac'
14
- } catch (err) {
15
- if (err instanceof AuthorityNotFoundError) {
16
- // nsid returned no did
17
- }
18
- if (err instanceof InvalidResolvedAuthorityError) {
19
- // nsid returned a did, but isn't a valid atproto did
20
- }
21
- if (err instanceof AmbiguousAuthorityError) {
22
- // nsid returned multiple did values
23
- }
24
- if (err instanceof FailedAuthorityResolutionError) {
25
- // nsid resolution had thrown something unexpected (fetch error)
26
- }
22
+ const authority = await authorityResolver.resolve('app.bsky.feed.post');
23
+ // -> 'did:plc:4v4y5r3lwsbtmsxhile2ljac'
24
+ ```
27
25
 
28
- if (err instanceof LexiconAuthorityResolutionError) {
29
- // the errors above extend this class, so you can do a catch-all.
30
- }
31
- }
26
+ ### fetching lexicon schemas
27
+
28
+ retrieve the lexicon document from an authority's PDS:
29
+
30
+ ```ts
31
+ import {
32
+ CompositeDidDocumentResolver,
33
+ PlcDidDocumentResolver,
34
+ WebDidDocumentResolver,
35
+ } from '@atcute/identity-resolver';
36
+ import { LexiconSchemaResolver } from '@atcute/lexicon-resolver';
32
37
 
33
- // schema resolution
34
38
  const schemaResolver = new LexiconSchemaResolver({
35
39
  didDocumentResolver: new CompositeDidDocumentResolver({
36
40
  methods: {
@@ -40,22 +44,34 @@ const schemaResolver = new LexiconSchemaResolver({
40
44
  }),
41
45
  });
42
46
 
47
+ const resolved = await schemaResolver.resolve(authority, 'app.bsky.feed.post');
48
+ // -> { uri: string, cid: string, rawSchema: unknown, schema: LexiconDoc }
49
+ ```
50
+
51
+ ### error handling
52
+
53
+ ```ts
54
+ import {
55
+ AuthorityNotFoundError,
56
+ InvalidResolvedAuthorityError,
57
+ LexiconAuthorityResolutionError,
58
+ InvalidLexiconSchemaError,
59
+ LexiconResolutionError,
60
+ } from '@atcute/lexicon-resolver';
61
+
43
62
  try {
44
- const resolved = await schemaResolver.resolve(authority, 'app.bsky.feed.post');
45
- // ^? { uri: string, cid: string, schema: LexiconDoc }
63
+ await authorityResolver.resolve(nsid);
46
64
  } catch (err) {
47
- if (err instanceof InvalidLexiconSchemaError) {
48
- // lexicon schema is malformed
49
- }
50
- if (err instanceof InvalidLexiconProofError) {
51
- // lexicon record proof verification failed
52
- }
53
- if (err instanceof FailedLexiconResolutionError) {
54
- // lexicon resolution had thrown something unexpected (fetch error)
65
+ if (err instanceof LexiconAuthorityResolutionError) {
66
+ // authority resolution failed
55
67
  }
68
+ }
56
69
 
70
+ try {
71
+ await schemaResolver.resolve(authority, nsid);
72
+ } catch (err) {
57
73
  if (err instanceof LexiconResolutionError) {
58
- // the errors above extend this class, so you can do a catch-all.
74
+ // schema resolution failed
59
75
  }
60
76
  }
61
77
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"doh-json.d.ts","sourceRoot":"","sources":["../../lib/authority/doh-json.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AA0D5F,MAAM,WAAW,sCAAsC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,qBAAa,+BAAgC,YAAW,wBAAwB;;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGZ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,sCAAsC;IAKlF,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,CAAC;CA8DxF"}
1
+ {"version":3,"file":"doh-json.d.ts","sourceRoot":"","sources":["../../lib/authority/doh-json.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIhE,OAAO,KAAK,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAM5F,MAAM,WAAW,sCAAsC;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,qBAAa,+BAAgC,YAAW,wBAAwB;;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAGxB,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,sCAAsC,EAGvF;IAEK,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,CAAC,CA6DvF;CACD"}
@@ -1,52 +1,9 @@
1
- import * as v from '@badrap/valita';
2
1
  import { isAtprotoDid } from '@atcute/identity';
3
- import { isResponseOk, parseResponseAsJson, pipe, validateJsonWith } from '@atcute/util-fetch';
2
+ import { fetchDohJsonTxt } from '@atcute/util-fetch';
4
3
  import * as err from '../errors.js';
5
4
  import { nsidToLookupDomain } from '../utils.js';
6
- const uint32 = v.number().assert((input) => Number.isInteger(input) && input >= 0 && input <= 2 ** 32 - 1);
7
- const question = v.object({
8
- name: v.string(),
9
- type: v.literal(16), // TXT
10
- });
11
- const answer = v.object({
12
- name: v.string(),
13
- type: v.literal(16), // TXT
14
- TTL: uint32,
15
- data: v.string().chain((input) => {
16
- return v.ok(input.replace(/^"|"$/g, '').replace(/\\"/g, '"'));
17
- }),
18
- });
19
- const authority = v.object({
20
- name: v.string(),
21
- type: uint32,
22
- TTL: uint32,
23
- data: v.string(),
24
- });
25
- const result = v.object({
26
- /** DNS response code */
27
- Status: uint32,
28
- /** Whether response is truncated */
29
- TC: v.boolean(),
30
- /** Whether recursive desired bit is set, always true for Google and Cloudflare DoH */
31
- RD: v.boolean(),
32
- /** Whether recursive available bit is set, always true for Google and Cloudflare DoH */
33
- RA: v.boolean(),
34
- /** Whether response data was validated with DNSSEC */
35
- AD: v.boolean(),
36
- /** Whether client asked to disable DNSSEC validation */
37
- CD: v.boolean(),
38
- /** Requested records */
39
- Question: v.tuple([question]),
40
- /** Answers */
41
- Answer: v.array(answer).optional(() => []),
42
- /** Authority */
43
- Authority: v.array(authority).optional(),
44
- /** Comment from the DNS server */
45
- Comment: v.string().optional(),
46
- });
47
5
  const SUBDOMAIN = '_lexicon';
48
6
  const PREFIX = 'did=';
49
- const fetchDohJsonHandler = pipe(isResponseOk, parseResponseAsJson(/^application\/(dns-)?json$/, 16 * 1024), validateJsonWith(result, { mode: 'passthrough' }));
50
7
  export class DohJsonLexiconAuthorityResolver {
51
8
  dohUrl;
52
9
  #fetch;
@@ -66,7 +23,7 @@ export class DohJsonLexiconAuthorityResolver {
66
23
  cache: options?.noCache ? 'no-cache' : undefined,
67
24
  headers: { accept: 'application/dns-json' },
68
25
  });
69
- const handled = await fetchDohJsonHandler(response);
26
+ const handled = await fetchDohJsonTxt(response);
70
27
  json = handled.json;
71
28
  }
72
29
  catch (cause) {
@@ -1 +1 @@
1
- {"version":3,"file":"doh-json.js","sourceRoot":"","sources":["../../lib/authority/doh-json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE/F,OAAO,KAAK,GAAG,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAE3G,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM;IAC3B,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACvB,wBAAwB;IACxB,MAAM,EAAE,MAAM;IACd,oCAAoC;IACpC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,sFAAsF;IACtF,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,wFAAwF;IACxF,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,sDAAsD;IACtD,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,wDAAwD;IACxD,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;IACf,wBAAwB;IACxB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,cAAc;IACd,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAC1C,gBAAgB;IAChB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IACxC,kCAAkC;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,UAAU,CAAC;AAC7B,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,mBAAmB,GAAG,IAAI,CAC/B,YAAY,EACZ,mBAAmB,CAAC,4BAA4B,EAAE,EAAE,GAAG,IAAI,CAAC,EAC5D,gBAAgB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CACjD,CAAC;AAOF,MAAM,OAAO,+BAA+B;IAClC,MAAM,CAAS;IACxB,MAAM,CAAe;IAErB,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,KAAK,EAA0C;QACvF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAU,EAAE,OAAwC;QACjE,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,IAAI,IAA4B,CAAC;QAEjC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC,CAAC;YAC7D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE;gBAC5C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBAChD,OAAO,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;aAC3C,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAEpD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,8BAA8B,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5B,IAAI,MAAM,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,CAAC,CAAC,cAAc,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,8BAA8B,CAAC,IAAI,EAAE;gBAClD,KAAK,EAAE,IAAI,SAAS,CAAC,gBAAgB,MAAM,EAAE,CAAC;aAC9C,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAEzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACV,CAAC;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAI,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACF,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,sEAAsE;QACtE,MAAM,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACD"}
1
+ {"version":3,"file":"doh-json.js","sourceRoot":"","sources":["../../lib/authority/doh-json.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD,qBAAa,+BAAgC,SAAQ,KAAK;IAChD,IAAI,SAAqC;CAClD;AAED,qBAAa,sBAAuB,SAAQ,+BAA+B;IAGvD,IAAI,EAAE,IAAI;IAFpB,IAAI,SAA4B;gBAEtB,IAAI,EAAE,IAAI;CAG7B;AAED,qBAAa,8BAA+B,SAAQ,+BAA+B;IAI1E,IAAI,EAAE,IAAI;IAHT,IAAI,SAAoC;gBAGzC,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY;CAIvB;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;IAIzE,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,MAAM;IAJV,IAAI,SAAmC;gBAGxC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM;CAInB;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;IAGxD,IAAI,EAAE,IAAI;IAFpB,IAAI,SAA6B;gBAEvB,IAAI,EAAE,IAAI;CAG7B;AAID,qBAAa,sBAAuB,SAAQ,KAAK;IACvC,IAAI,SAA4B;CACzC;AAED,qBAAa,4BAA6B,SAAQ,sBAAsB;IAI/D,IAAI,EAAE,IAAI;IAHT,IAAI,SAAkC;gBAGvC,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY;CAIvB;AAED,qBAAa,yBAA0B,SAAQ,sBAAsB;IAI5D,IAAI,EAAE,IAAI;IAHT,IAAI,SAA+B;gBAGpC,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY;CAIvB;AAED,qBAAa,wBAAyB,SAAQ,sBAAsB;IAI3D,IAAI,EAAE,IAAI;IAHT,IAAI,SAA8B;gBAGnC,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY;CAIvB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGpD,qBAAa,+BAAgC,SAAQ,KAAK;IAChD,IAAI,SAAqC;CAClD;AAED,qBAAa,sBAAuB,SAAQ,+BAA+B;IAGvD,IAAI,EAAE,IAAI;IAFpB,IAAI,SAA4B;IAEzC,YAAmB,IAAI,EAAE,IAAI,EAE5B;CACD;AAED,qBAAa,8BAA+B,SAAQ,+BAA+B;IAI1E,IAAI,EAAE,IAAI;IAHT,IAAI,SAAoC;IAEjD,YACQ,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY,EAGtB;CACD;AAED,qBAAa,6BAA8B,SAAQ,+BAA+B;IAIzE,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,MAAM;IAJV,IAAI,SAAmC;IAEhD,YACQ,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,MAAM,EAGlB;CACD;AAED,qBAAa,uBAAwB,SAAQ,+BAA+B;IAGxD,IAAI,EAAE,IAAI;IAFpB,IAAI,SAA6B;IAE1C,YAAmB,IAAI,EAAE,IAAI,EAE5B;CACD;AAID,qBAAa,sBAAuB,SAAQ,KAAK;IACvC,IAAI,SAA4B;CACzC;AAED,qBAAa,4BAA6B,SAAQ,sBAAsB;IAI/D,IAAI,EAAE,IAAI;IAHT,IAAI,SAAkC;IAE/C,YACQ,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY,EAGtB;CACD;AAED,qBAAa,yBAA0B,SAAQ,sBAAsB;IAI5D,IAAI,EAAE,IAAI;IAHT,IAAI,SAA+B;IAE5C,YACQ,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY,EAGtB;CACD;AAED,qBAAa,wBAAyB,SAAQ,sBAAsB;IAI3D,IAAI,EAAE,IAAI;IAHT,IAAI,SAA8B;IAE3C,YACQ,IAAI,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,YAAY,EAGtB;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAChD,IAAI,GAAG,iCAAiC,CAAC;CAClD;AAED,MAAM,OAAO,sBAAuB,SAAQ,+BAA+B;IAGvD;IAFV,IAAI,GAAG,wBAAwB,CAAC;IAEzC,YAAmB,IAAU;QAC5B,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;QADjC,SAAI,GAAJ,IAAI,CAAM;IAE7B,CAAC;CACD;AAED,MAAM,OAAO,8BAA+B,SAAQ,+BAA+B;IAI1E;IAHC,IAAI,GAAG,gCAAgC,CAAC;IAEjD,YACQ,IAAU,EACjB,OAAsB;QAEtB,KAAK,CAAC,6CAA6C,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAH7D,SAAI,GAAJ,IAAI,CAAM;IAIlB,CAAC;CACD;AAED,MAAM,OAAO,6BAA8B,SAAQ,+BAA+B;IAIzE;IACA;IAJC,IAAI,GAAG,+BAA+B,CAAC;IAEhD,YACQ,IAAU,EACV,GAAW;QAElB,KAAK,CAAC,gDAAgD,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;QAHnE,SAAI,GAAJ,IAAI,CAAM;QACV,QAAG,GAAH,GAAG,CAAQ;IAGnB,CAAC;CACD;AAED,MAAM,OAAO,uBAAwB,SAAQ,+BAA+B;IAGxD;IAFV,IAAI,GAAG,yBAAyB,CAAC;IAE1C,YAAmB,IAAU;QAC5B,KAAK,CAAC,wDAAwD,IAAI,EAAE,CAAC,CAAC;QADpD,SAAI,GAAJ,IAAI,CAAM;IAE7B,CAAC;CACD;AACD,aAAa;AAEb,oCAAoC;AACpC,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,IAAI,GAAG,wBAAwB,CAAC;CACzC;AAED,MAAM,OAAO,4BAA6B,SAAQ,sBAAsB;IAI/D;IAHC,IAAI,GAAG,8BAA8B,CAAC;IAE/C,YACQ,IAAU,EACjB,OAAsB;QAEtB,KAAK,CAAC,mCAAmC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAHnD,SAAI,GAAJ,IAAI,CAAM;IAIlB,CAAC;CACD;AAED,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IAI5D;IAHC,IAAI,GAAG,2BAA2B,CAAC;IAE5C,YACQ,IAAU,EACjB,OAAsB;QAEtB,KAAK,CAAC,gCAAgC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAHhD,SAAI,GAAJ,IAAI,CAAM;IAIlB,CAAC;CACD;AAED,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAI3D;IAHC,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YACQ,IAAU,EACjB,OAAsB;QAEtB,KAAK,CAAC,sCAAsC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAHtD,SAAI,GAAJ,IAAI,CAAM;IAIlB,CAAC;CACD;AACD,aAAa"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../lib/errors.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAChD,IAAI,GAAG,iCAAiC,CAAC;CAClD;AAED,MAAM,OAAO,sBAAuB,SAAQ,+BAA+B;IAGvD,IAAI;IAFd,IAAI,GAAG,wBAAwB,CAAC;IAEzC,YAAmB,IAAU,EAAE;QAC9B,KAAK,CAAC,qCAAqC,IAAI,EAAE,CAAC,CAAC;oBADjC,IAAI;IAC6B,CACnD;CACD;AAED,MAAM,OAAO,8BAA+B,SAAQ,+BAA+B;IAI1E,IAAI;IAHH,IAAI,GAAG,gCAAgC,CAAC;IAEjD,YACQ,IAAU,EACjB,OAAsB,EACrB;QACD,KAAK,CAAC,6CAA6C,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAH7D,IAAI;IAGyD,CACpE;CACD;AAED,MAAM,OAAO,6BAA8B,SAAQ,+BAA+B;IAIzE,IAAI;IACJ,GAAG;IAJF,IAAI,GAAG,+BAA+B,CAAC;IAEhD,YACQ,IAAU,EACV,GAAW,EACjB;QACD,KAAK,CAAC,gDAAgD,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;oBAHnE,IAAI;mBACJ,GAAG;IAEgE,CAC1E;CACD;AAED,MAAM,OAAO,uBAAwB,SAAQ,+BAA+B;IAGxD,IAAI;IAFd,IAAI,GAAG,yBAAyB,CAAC;IAE1C,YAAmB,IAAU,EAAE;QAC9B,KAAK,CAAC,wDAAwD,IAAI,EAAE,CAAC,CAAC;oBADpD,IAAI;IACgD,CACtE;CACD;AACD,aAAa;AAEb,oCAAoC;AACpC,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACvC,IAAI,GAAG,wBAAwB,CAAC;CACzC;AAED,MAAM,OAAO,4BAA6B,SAAQ,sBAAsB;IAI/D,IAAI;IAHH,IAAI,GAAG,8BAA8B,CAAC;IAE/C,YACQ,IAAU,EACjB,OAAsB,EACrB;QACD,KAAK,CAAC,mCAAmC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAHnD,IAAI;IAG+C,CAC1D;CACD;AAED,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IAI5D,IAAI;IAHH,IAAI,GAAG,2BAA2B,CAAC;IAE5C,YACQ,IAAU,EACjB,OAAsB,EACrB;QACD,KAAK,CAAC,gCAAgC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAHhD,IAAI;IAG4C,CACvD;CACD;AAED,MAAM,OAAO,wBAAyB,SAAQ,sBAAsB;IAI3D,IAAI;IAHH,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YACQ,IAAU,EACjB,OAAsB,EACrB;QACD,KAAK,CAAC,sCAAsC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;oBAHtD,IAAI;IAGkD,CAC7D;CACD;AACD,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../../lib/schemas/xrpc.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,4BAA4B;IAC5C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,qBAAa,qBAAqB;;IACjC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;gBAGtC,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,4BAA4B;IAKrF,OAAO,CACZ,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,cAAc,CAAC;CAiG1B"}
1
+ {"version":3,"file":"xrpc.d.ts","sourceRoot":"","sources":["../../lib/schemas/xrpc.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAOhE,OAAO,KAAK,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,4BAA4B;IAC5C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACrB;AAED,qBAAa,qBAAqB;;IACjC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGlD,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,4BAA4B,EAG1F;IAEK,OAAO,CACZ,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,2BAA2B,GACnC,OAAO,CAAC,cAAc,CAAC,CAgGzB;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../lib/schemas/xrpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../lib/schemas/xrpc.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import type { Nsid } from '@atcute/lexicons/syntax';
2
- export declare const nsidToLookupDomain: (nsid: Nsid) => string;
1
+ export declare const nsidToLookupDomain: (nsid: `${string}.${string}.${string}`) => string;
3
2
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,KAAG,MAI/C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,mDAI9B,CAAC"}
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAU,EAAE;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,yEAAyE;IACzE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../lib/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAU,EAAU,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,yEAAyE;IACzE,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAAA,CACjD,CAAC"}
@@ -1,68 +1,14 @@
1
- import * as v from '@badrap/valita';
2
-
3
1
  import { isAtprotoDid } from '@atcute/identity';
4
2
  import type { AtprotoDid, Nsid } from '@atcute/lexicons/syntax';
5
- import { isResponseOk, parseResponseAsJson, pipe, validateJsonWith } from '@atcute/util-fetch';
3
+ import { type DohJsonTxtResult, fetchDohJsonTxt } from '@atcute/util-fetch';
6
4
 
7
5
  import * as err from '../errors.js';
8
6
  import type { LexiconAuthorityResolver, ResolveLexiconAuthorityOptions } from '../types.js';
9
7
  import { nsidToLookupDomain } from '../utils.js';
10
8
 
11
- const uint32 = v.number().assert((input) => Number.isInteger(input) && input >= 0 && input <= 2 ** 32 - 1);
12
-
13
- const question = v.object({
14
- name: v.string(),
15
- type: v.literal(16), // TXT
16
- });
17
-
18
- const answer = v.object({
19
- name: v.string(),
20
- type: v.literal(16), // TXT
21
- TTL: uint32,
22
- data: v.string().chain((input) => {
23
- return v.ok(input.replace(/^"|"$/g, '').replace(/\\"/g, '"'));
24
- }),
25
- });
26
-
27
- const authority = v.object({
28
- name: v.string(),
29
- type: uint32,
30
- TTL: uint32,
31
- data: v.string(),
32
- });
33
-
34
- const result = v.object({
35
- /** DNS response code */
36
- Status: uint32,
37
- /** Whether response is truncated */
38
- TC: v.boolean(),
39
- /** Whether recursive desired bit is set, always true for Google and Cloudflare DoH */
40
- RD: v.boolean(),
41
- /** Whether recursive available bit is set, always true for Google and Cloudflare DoH */
42
- RA: v.boolean(),
43
- /** Whether response data was validated with DNSSEC */
44
- AD: v.boolean(),
45
- /** Whether client asked to disable DNSSEC validation */
46
- CD: v.boolean(),
47
- /** Requested records */
48
- Question: v.tuple([question]),
49
- /** Answers */
50
- Answer: v.array(answer).optional(() => []),
51
- /** Authority */
52
- Authority: v.array(authority).optional(),
53
- /** Comment from the DNS server */
54
- Comment: v.string().optional(),
55
- });
56
-
57
9
  const SUBDOMAIN = '_lexicon';
58
10
  const PREFIX = 'did=';
59
11
 
60
- const fetchDohJsonHandler = pipe(
61
- isResponseOk,
62
- parseResponseAsJson(/^application\/(dns-)?json$/, 16 * 1024),
63
- validateJsonWith(result, { mode: 'passthrough' }),
64
- );
65
-
66
12
  export interface DohJsonLexiconAuthorityResolverOptions {
67
13
  dohUrl: string;
68
14
  fetch?: typeof fetch;
@@ -80,7 +26,7 @@ export class DohJsonLexiconAuthorityResolver implements LexiconAuthorityResolver
80
26
  async resolve(nsid: Nsid, options?: ResolveLexiconAuthorityOptions): Promise<AtprotoDid> {
81
27
  const lookupDomain = nsidToLookupDomain(nsid);
82
28
 
83
- let json: v.Infer<typeof result>;
29
+ let json: DohJsonTxtResult;
84
30
 
85
31
  try {
86
32
  const url = new URL(this.dohUrl);
@@ -93,7 +39,7 @@ export class DohJsonLexiconAuthorityResolver implements LexiconAuthorityResolver
93
39
  headers: { accept: 'application/dns-json' },
94
40
  });
95
41
 
96
- const handled = await fetchDohJsonHandler(response);
42
+ const handled = await fetchDohJsonTxt(response);
97
43
 
98
44
  json = handled.json;
99
45
  } catch (cause) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@atcute/lexicon-resolver",
4
- "version": "0.1.5",
4
+ "version": "0.1.6",
5
5
  "description": "atproto lexicon authority resolution",
6
6
  "keywords": [
7
7
  "atproto",
@@ -13,6 +13,9 @@
13
13
  "url": "https://github.com/mary-ext/atcute",
14
14
  "directory": "packages/lexicons/lexicon-resolver"
15
15
  },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
16
19
  "files": [
17
20
  "dist/",
18
21
  "lib/",
@@ -29,20 +32,21 @@
29
32
  },
30
33
  "dependencies": {
31
34
  "@badrap/valita": "^0.4.6",
32
- "@atcute/crypto": "^2.2.6",
33
- "@atcute/util-fetch": "^1.0.4",
34
- "@atcute/lexicons": "^1.2.5",
35
- "@atcute/repo": "^0.1.0",
36
- "@atcute/lexicon-doc": "^2.0.4"
35
+ "@atcute/crypto": "^2.3.0",
36
+ "@atcute/lexicon-doc": "^2.0.6",
37
+ "@atcute/lexicons": "^1.2.6",
38
+ "@atcute/repo": "^0.1.1",
39
+ "@atcute/util-fetch": "^1.0.5"
37
40
  },
38
41
  "devDependencies": {
39
- "@types/bun": "^1.3.3",
42
+ "@vitest/coverage-v8": "^4.0.16",
43
+ "vitest": "^4.0.16",
40
44
  "@atcute/identity": "^1.1.3",
41
- "@atcute/identity-resolver": "^1.1.4"
45
+ "@atcute/identity-resolver": "^1.2.2"
42
46
  },
43
47
  "scripts": {
44
- "build": "tsc --project tsconfig.build.json",
45
- "test": "bun test --coverage",
48
+ "build": "tsgo --project tsconfig.build.json",
49
+ "test": "vitest",
46
50
  "prepublish": "rm -rf dist; pnpm run build"
47
51
  }
48
52
  }