@atproto-labs/did-resolver 0.1.8 → 0.1.10

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 CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atproto-labs/did-resolver
2
2
 
3
+ ## 0.1.10
4
+
5
+ ### Patch Changes
6
+
7
+ - [#3220](https://github.com/bluesky-social/atproto/pull/3220) [`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Apply new linting rules regarding import order
8
+
9
+ - Updated dependencies [[`61dc0d60e`](https://github.com/bluesky-social/atproto/commit/61dc0d60e19b88c6427a54c6d95a391b5f4da7bd)]:
10
+ - @atproto-labs/simple-store-memory@0.1.2
11
+ - @atproto-labs/simple-store@0.1.2
12
+ - @atproto-labs/fetch@0.2.1
13
+ - @atproto/did@0.1.5
14
+
15
+ ## 0.1.9
16
+
17
+ ### Patch Changes
18
+
19
+ - [#3454](https://github.com/bluesky-social/atproto/pull/3454) [`cc2a1222b`](https://github.com/bluesky-social/atproto/commit/cc2a1222bd2b8ddd70d70dad174c1c63246a2d87) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Improve error descriptions
20
+
21
+ - Updated dependencies [[`cc2a1222b`](https://github.com/bluesky-social/atproto/commit/cc2a1222bd2b8ddd70d70dad174c1c63246a2d87)]:
22
+ - @atproto/did@0.1.4
23
+
3
24
  ## 0.1.8
4
25
 
5
26
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"did-cache-memory.d.ts","sourceRoot":"","sources":["../src/did-cache-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,mCAAmC,CAAA;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAE9E,qBAAa,cACX,SAAQ,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAC1C,YAAW,QAAQ;gBAEP,OAAO,CAAC,EAAE,qBAAqB;CAO5C"}
1
+ {"version":3,"file":"did-cache-memory.d.ts","sourceRoot":"","sources":["../src/did-cache-memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAKzC,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAE9E,qBAAa,cACX,SAAQ,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAC1C,YAAW,QAAQ;gBAEP,OAAO,CAAC,EAAE,qBAAqB;CAO5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"did-cache-memory.js","sourceRoot":"","sources":["../src/did-cache-memory.ts"],"names":[],"mappings":";;;AACA,2EAG0C;AAI1C,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,SAAS;AACzC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,QAAQ;AAIlD,MAAa,cACX,SAAQ,uCAAmC;IAG3C,YAAY,OAA+B;QACzC,KAAK,CACH,OAAO,EAAE,GAAG,IAAI,IAAI;YAClB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE;YAC7D,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CACrC,CAAA;IACH,CAAC;CACF;AAXD,wCAWC"}
1
+ {"version":3,"file":"did-cache-memory.js","sourceRoot":"","sources":["../src/did-cache-memory.ts"],"names":[],"mappings":";;;AACA,2EAG0C;AAG1C,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,SAAS;AACzC,MAAM,gBAAgB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,QAAQ;AAIlD,MAAa,cACX,SAAQ,uCAAmC;IAG3C,YAAY,OAA+B;QACzC,KAAK,CACH,OAAO,EAAE,GAAG,IAAI,IAAI;YAClB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE;YAC7D,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CACrC,CAAA;IACH,CAAC;CACF;AAXD,wCAWC"}
@@ -1,8 +1,8 @@
1
- import { CachedGetter, SimpleStore } from '@atproto-labs/simple-store';
2
1
  import { Did, DidDocument } from '@atproto/did';
2
+ import { CachedGetter, SimpleStore } from '@atproto-labs/simple-store';
3
3
  import { DidMethod, ResolveDidOptions } from './did-method.js';
4
4
  import { DidResolver, ResolvedDocument } from './did-resolver.js';
5
- export type { DidMethod, ResolvedDocument, ResolveDidOptions };
5
+ export type { DidMethod, ResolveDidOptions, ResolvedDocument };
6
6
  export type DidCache = SimpleStore<Did, DidDocument>;
7
7
  export type DidResolverCachedOptions = {
8
8
  cache?: DidCache;
@@ -1 +1 @@
1
- {"version":3,"file":"did-cache.d.ts","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG/C,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEjE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAE9D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE3D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CACtD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBAEvD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,KAAK,GAAE,QAA+B;IAQ3B,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGxE"}
1
+ {"version":3,"file":"did-cache.d.ts","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEjE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;AAE9D,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG;IAAE,KAAK,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE3D,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CACtD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBAEvD,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,EACxB,KAAK,GAAE,QAA+B;IAQ3B,OAAO,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;CAGxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"did-cache.js","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":";;;AAAA,6DAAsE;AAGtE,+DAAsD;AAUtD,MAAa,iBAAiB;IAI5B,YACE,QAAwB,EACxB,QAAkB,IAAI,oCAAc,EAAE;QAHrB;;;;;WAAsC;QAKvD,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAC5B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAChD,KAAK,CACN,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAgB,GAAM,EAAE,OAA2B;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAoC,CAAA;IACzE,CAAC;CACF;AAjBD,8CAiBC"}
1
+ {"version":3,"file":"did-cache.js","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":";;;AACA,6DAAsE;AACtE,+DAAsD;AAUtD,MAAa,iBAAiB;IAI5B,YACE,QAAwB,EACxB,QAAkB,IAAI,oCAAc,EAAE;QAHrB;;;;;WAAsC;QAKvD,IAAI,CAAC,MAAM,GAAG,IAAI,2BAAY,CAC5B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAChD,KAAK,CACN,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAgB,GAAM,EAAE,OAA2B;QACrE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAoC,CAAA;IACzE,CAAC;CACF;AAjBD,8CAiBC"}
@@ -1,7 +1,7 @@
1
1
  import { Did } from '@atproto/did';
2
2
  import { DidMethod, DidMethods, ResolveDidOptions } from './did-method.js';
3
3
  import { DidResolver, ResolvedDocument } from './did-resolver.js';
4
- export type { DidMethod, ResolvedDocument, ResolveDidOptions };
4
+ export type { DidMethod, ResolveDidOptions, ResolvedDocument };
5
5
  export declare class DidResolverBase<M extends string = string> implements DidResolver<M> {
6
6
  protected readonly methods: Map<string, DidMethod<M>>;
7
7
  constructor(methods: DidMethods<M>);
@@ -1 +1 @@
1
- {"version":3,"file":"did-resolver-base.d.ts","sourceRoot":"","sources":["../src/did-resolver-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAA8B,MAAM,cAAc,CAAA;AAG9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEjE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAE9D,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CACpD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,OAAO,CAAC,CAAC,SAAS,GAAG,EACzB,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CA4CnC"}
1
+ {"version":3,"file":"did-resolver-base.d.ts","sourceRoot":"","sources":["../src/did-resolver-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAA8B,MAAM,cAAc,CAAA;AAE9D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEjE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAA;AAE9D,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CACpD,YAAW,WAAW,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAI5B,OAAO,CAAC,CAAC,SAAS,GAAG,EACzB,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAiDnC"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DidResolverBase = void 0;
4
- const fetch_1 = require("@atproto-labs/fetch");
5
- const did_1 = require("@atproto/did");
6
4
  const zod_1 = require("zod");
5
+ const did_1 = require("@atproto/did");
6
+ const fetch_1 = require("@atproto-labs/fetch");
7
7
  class DidResolverBase {
8
8
  constructor(methods) {
9
9
  Object.defineProperty(this, "methods", {
@@ -29,7 +29,11 @@ class DidResolverBase {
29
29
  return document;
30
30
  }
31
31
  catch (err) {
32
- if (err instanceof fetch_1.FetchRequestError) {
32
+ if (err instanceof fetch_1.FetchResponseError) {
33
+ const status = err.response.status >= 500 ? 502 : err.response.status;
34
+ throw new did_1.DidError(did, err.message, 'did-fetch-error', status, err);
35
+ }
36
+ if (err instanceof fetch_1.FetchError) {
33
37
  throw new did_1.DidError(did, err.message, 'did-fetch-error', 400, err);
34
38
  }
35
39
  if (err instanceof zod_1.ZodError) {
@@ -1 +1 @@
1
- {"version":3,"file":"did-resolver-base.js","sourceRoot":"","sources":["../src/did-resolver-base.ts"],"names":[],"mappings":";;;AAAA,+CAAuD;AACvD,sCAA8D;AAC9D,6BAA8B;AAO9B,MAAa,eAAe;IAK1B,YAAY,OAAsB;QAFf;;;;;WAAkC;QAGnD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,GAAM,EACN,OAA2B;QAE3B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,IAAA,sBAAgB,EAAC,GAAG,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,wBAAwB,EACxB,oBAAoB,EACpB,GAAG,CACJ,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAa,EAAE,OAAO,CAAC,CAAA;YAC/D,IAAI,QAAQ,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,oBAAoB,QAAQ,CAAC,EAAE,sBAAsB,EACrD,0BAA0B,EAC1B,GAAG,CACJ,CAAA;YACH,CAAC;YAED,OAAO,QAAkC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,yBAAiB,EAAE,CAAC;gBACrC,MAAM,IAAI,cAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACnE,CAAC;YAED,IAAI,GAAG,YAAY,cAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,GAAG,CAAC,OAAO,EACX,2BAA2B,EAC3B,GAAG,EACH,GAAG,CACJ,CAAA;YACH,CAAC;YAED,MAAM,cAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;CACF;AAxDD,0CAwDC"}
1
+ {"version":3,"file":"did-resolver-base.js","sourceRoot":"","sources":["../src/did-resolver-base.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAC9B,sCAA8D;AAC9D,+CAAoE;AAMpE,MAAa,eAAe;IAK1B,YAAY,OAAsB;QAFf;;;;;WAAkC;QAGnD,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACjD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,GAAM,EACN,OAA2B;QAE3B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,IAAA,sBAAgB,EAAC,GAAG,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,wBAAwB,EACxB,oBAAoB,EACpB,GAAG,CACJ,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAa,EAAE,OAAO,CAAC,CAAA;YAC/D,IAAI,QAAQ,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,oBAAoB,QAAQ,CAAC,EAAE,sBAAsB,EACrD,0BAA0B,EAC1B,GAAG,CACJ,CAAA;YACH,CAAC;YAED,OAAO,QAAkC,CAAA;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,0BAAkB,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;gBACrE,MAAM,IAAI,cAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAA;YACtE,CAAC;YAED,IAAI,GAAG,YAAY,kBAAU,EAAE,CAAC;gBAC9B,MAAM,IAAI,cAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;YACnE,CAAC;YAED,IAAI,GAAG,YAAY,cAAQ,EAAE,CAAC;gBAC5B,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,GAAG,CAAC,OAAO,EACX,2BAA2B,EAC3B,GAAG,EACH,GAAG,CACJ,CAAA;YACH,CAAC;YAED,MAAM,cAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;CACF;AA7DD,0CA6DC"}
@@ -1 +1 @@
1
- {"version":3,"file":"did-resolver.d.ts","sourceRoot":"","sources":["../src/did-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IACnE,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GAClB,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAC3D,KAAK,CAAA;AAEX,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,OAAO,CAAC,CAAC,SAAS,GAAG,EACnB,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CACnC"}
1
+ {"version":3,"file":"did-resolver.d.ts","sourceRoot":"","sources":["../src/did-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IACnE,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GAClB,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAC3D,KAAK,CAAA;AAEX,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACpD,OAAO,CAAC,CAAC,SAAS,GAAG,EACnB,GAAG,EAAE,CAAC,EACN,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;CACnC"}
@@ -1,5 +1,5 @@
1
- import { Fetch } from '@atproto-labs/fetch';
2
1
  import { Did } from '@atproto/did';
2
+ import { Fetch } from '@atproto-labs/fetch';
3
3
  import { DidMethod, ResolveDidOptions } from '../did-method.js';
4
4
  export type DidPlcMethodOptions = {
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"plc.d.ts","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAKN,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAsC,MAAM,cAAc,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAQ/D,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAC/B,CAAA;AAED,qBAAa,YAAa,YAAW,SAAS,CAAC,KAAK,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAExC,SAAgB,eAAe,EAAE,GAAG,CAAA;gBAExB,OAAO,CAAC,EAAE,mBAAmB;IAOnC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;wBAc21W,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CADxvX"}
1
+ {"version":3,"file":"plc.d.ts","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAsC,MAAM,cAAc,CAAA;AACtE,OAAO,EACL,KAAK,EAKN,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAQ/D,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAA;IAEb;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAC/B,CAAA;AAED,qBAAa,YAAa,YAAW,SAAS,CAAC,KAAK,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAExC,SAAgB,eAAe,EAAE,GAAG,CAAA;gBAExB,OAAO,CAAC,EAAE,mBAAmB;IAOnC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;wBAek0W,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CAD/tX"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DidPlcMethod = void 0;
4
+ const did_1 = require("@atproto/did");
4
5
  const fetch_1 = require("@atproto-labs/fetch");
5
6
  const pipe_1 = require("@atproto-labs/pipe");
6
- const did_1 = require("@atproto/did");
7
7
  const fetchSuccessHandler = (0, pipe_1.pipe)((0, fetch_1.fetchOkProcessor)(), (0, fetch_1.fetchJsonProcessor)(/^application\/(did\+ld\+)?json$/), (0, fetch_1.fetchJsonZodProcessor)(did_1.didDocumentValidator));
8
8
  class DidPlcMethod {
9
9
  constructor(options) {
@@ -26,6 +26,7 @@ class DidPlcMethod {
26
26
  // Although the did should start with `did:plc:` (thanks to typings), we
27
27
  // should still check if the msid is valid.
28
28
  (0, did_1.assertDidPlc)(did);
29
+ // Should never throw
29
30
  const url = new URL(`/${encodeURIComponent(did)}`, this.plcDirectoryUrl);
30
31
  return this.fetch(url, {
31
32
  redirect: 'error',
@@ -1 +1 @@
1
- {"version":3,"file":"plc.js","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":";;;AAAA,+CAM4B;AAC5B,6CAAyC;AACzC,sCAAsE;AAItE,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAC9B,IAAA,wBAAgB,GAAE,EAClB,IAAA,0BAAkB,EAAC,iCAAiC,CAAC,EACrD,IAAA,6BAAqB,EAAC,0BAAoB,CAAC,CAC5C,CAAA;AAcD,MAAa,YAAY;IAKvB,YAAY,OAA6B;QAJtB;;;;;WAAqB;QAExB;;;;;WAAoB;QAGlC,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAC5B,OAAO,EAAE,eAAe,IAAI,wBAAwB,CACrD,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAA2B;QACxD,wEAAwE;QACxE,2CAA2C;QAC3C,IAAA,kBAAY,EAAC,GAAG,CAAC,CAAA;QAEjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAExE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9B,CAAC;CACF;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"plc.js","sourceRoot":"","sources":["../../src/methods/plc.ts"],"names":[],"mappings":";;;AAAA,sCAAsE;AACtE,+CAM4B;AAC5B,6CAAyC;AAGzC,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAC9B,IAAA,wBAAgB,GAAE,EAClB,IAAA,0BAAkB,EAAC,iCAAiC,CAAC,EACrD,IAAA,6BAAqB,EAAC,0BAAoB,CAAC,CAC5C,CAAA;AAcD,MAAa,YAAY;IAKvB,YAAY,OAA6B;QAJtB;;;;;WAAqB;QAExB;;;;;WAAoB;QAGlC,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAC5B,OAAO,EAAE,eAAe,IAAI,wBAAwB,CACrD,CAAA;QACD,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAA2B;QACxD,wEAAwE;QACxE,2CAA2C;QAC3C,IAAA,kBAAY,EAAC,GAAG,CAAC,CAAA;QAEjB,qBAAqB;QACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAExE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9B,CAAC;CACF;AA1BD,oCA0BC"}
@@ -1,5 +1,5 @@
1
- import { Fetch } from '@atproto-labs/fetch';
2
1
  import { Did } from '@atproto/did';
2
+ import { Fetch } from '@atproto-labs/fetch';
3
3
  import { DidMethod, ResolveDidOptions } from '../did-method.js';
4
4
  export type DidWebMethodOptions = {
5
5
  fetch?: Fetch;
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAIN,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,GAAG,EAAqC,MAAM,cAAc,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAQ/D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,YAAa,YAAW,SAAS,CAAC,KAAK,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;gBAEzB,EACV,KAAwB,EACxB,SAAgB,GACjB,GAAE,mBAAwB;IAKrB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;wBAwC2gV,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CApBx6V;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAarD"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA+C,MAAM,cAAc,CAAA;AAC/E,OAAO,EACL,KAAK,EAKN,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAQ/D,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,oBAAoB;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,YAAa,YAAW,SAAS,CAAC,KAAK,CAAC;IACnD,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACxC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;gBAEzB,EACV,KAAwB,EACxB,SAAgB,GACjB,GAAE,mBAAwB;IAKrB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB;;;;;;;;;;;;;;wBA0C+9U,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CApB53V;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAarD"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DidWebMethod = void 0;
4
4
  exports.buildDidWebDocumentUrl = buildDidWebDocumentUrl;
5
+ const did_1 = require("@atproto/did");
5
6
  const fetch_1 = require("@atproto-labs/fetch");
6
7
  const pipe_1 = require("@atproto-labs/pipe");
7
- const did_1 = require("@atproto/did");
8
8
  const fetchSuccessHandler = (0, pipe_1.pipe)((0, fetch_1.fetchOkProcessor)(), (0, fetch_1.fetchJsonProcessor)(/^application\/(did\+ld\+)?json$/), (0, fetch_1.fetchJsonZodProcessor)(did_1.didDocumentValidator));
9
9
  class DidWebMethod {
10
10
  constructor({ fetch = globalThis.fetch, allowHttp = true, } = {}) {
@@ -26,7 +26,7 @@ class DidWebMethod {
26
26
  async resolve(did, options) {
27
27
  const didDocumentUrl = buildDidWebDocumentUrl(did);
28
28
  if (!this.allowHttp && didDocumentUrl.protocol === 'http:') {
29
- throw new Error(`Cannot resolve DID document for localhost: ${didDocumentUrl}`);
29
+ throw new did_1.DidError(did, 'Resolution of "http" did:web is not allowed', 'did-web-http-not-allowed');
30
30
  }
31
31
  // Note we do not explicitly check for "localhost" here. Instead, we rely on
32
32
  // the injected 'fetch' function to handle the URL. If the URL is
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":";;;AA8DA,wDAaC;AA3ED,+CAM4B;AAC5B,6CAAyC;AACzC,sCAAqE;AAIrE,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAC9B,IAAA,wBAAgB,GAAE,EAClB,IAAA,0BAAkB,EAAC,iCAAiC,CAAC,EACrD,IAAA,6BAAqB,EAAC,0BAAoB,CAAC,CAC5C,CAAA;AAQD,MAAa,YAAY;IAIvB,YAAY,EACV,KAAK,GAAG,UAAU,CAAC,KAAK,EACxB,SAAS,GAAG,IAAI,MACO,EAAE;QANR;;;;;WAAqB;QACrB;;;;;WAAkB;QAMnC,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAA2B;QACxD,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,8CAA8C,cAAc,EAAE,CAC/D,CAAA;QACH,CAAC;QAED,4EAA4E;QAC5E,iEAAiE;QACjE,0EAA0E;QAC1E,+BAA+B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9B,CAAC;CACF;AAhCD,oCAgCC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAe;IACpD,MAAM,GAAG,GAAG,IAAA,iBAAW,EAAC,GAAG,CAAC,CAAA,CAAC,mCAAmC;IAEhE,2EAA2E;IAC3E,8EAA8E;IAC9E,gCAAgC;IAEhC,yDAAyD;IACzD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,WAAW,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/methods/web.ts"],"names":[],"mappings":";;;AA+DA,wDAaC;AA5ED,sCAA+E;AAC/E,+CAM4B;AAC5B,6CAAyC;AAGzC,MAAM,mBAAmB,GAAG,IAAA,WAAI,EAC9B,IAAA,wBAAgB,GAAE,EAClB,IAAA,0BAAkB,EAAC,iCAAiC,CAAC,EACrD,IAAA,6BAAqB,EAAC,0BAAoB,CAAC,CAC5C,CAAA;AAQD,MAAa,YAAY;IAIvB,YAAY,EACV,KAAK,GAAG,UAAU,CAAC,KAAK,EACxB,SAAS,GAAG,IAAI,MACO,EAAE;QANR;;;;;WAAqB;QACrB;;;;;WAAkB;QAMnC,IAAI,CAAC,KAAK,GAAG,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAe,EAAE,OAA2B;QACxD,MAAM,cAAc,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAA;QAElD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,cAAc,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC3D,MAAM,IAAI,cAAQ,CAChB,GAAG,EACH,6CAA6C,EAC7C,0BAA0B,CAC3B,CAAA;QACH,CAAC;QAED,4EAA4E;QAC5E,iEAAiE;QACjE,0EAA0E;QAC1E,+BAA+B;QAE/B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE;YAC/D,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC9B,CAAC;CACF;AAlCD,oCAkCC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,GAAe;IACpD,MAAM,GAAG,GAAG,IAAA,iBAAW,EAAC,GAAG,CAAC,CAAA,CAAC,mCAAmC;IAEhE,2EAA2E;IAC3E,8EAA8E;IAC9E,gCAAgC;IAEhC,yDAAyD;IACzD,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAA;IAC9C,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,WAAW,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto-labs/did-resolver",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "license": "MIT",
5
5
  "description": "DID resolution and verification library",
6
6
  "keywords": [
@@ -25,11 +25,11 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "zod": "^3.23.8",
28
- "@atproto-labs/fetch": "0.2.0",
28
+ "@atproto-labs/fetch": "0.2.1",
29
29
  "@atproto-labs/pipe": "0.1.0",
30
- "@atproto-labs/simple-store": "0.1.1",
31
- "@atproto-labs/simple-store-memory": "0.1.1",
32
- "@atproto/did": "0.1.3"
30
+ "@atproto-labs/simple-store": "0.1.2",
31
+ "@atproto-labs/simple-store-memory": "0.1.2",
32
+ "@atproto/did": "0.1.5"
33
33
  },
34
34
  "devDependencies": {
35
35
  "typescript": "^5.6.3"
@@ -3,7 +3,6 @@ import {
3
3
  SimpleStoreMemory,
4
4
  SimpleStoreMemoryOptions,
5
5
  } from '@atproto-labs/simple-store-memory'
6
-
7
6
  import { DidCache } from './did-cache.js'
8
7
 
9
8
  const DEFAULT_TTL = 3600 * 1000 // 1 hour
package/src/did-cache.ts CHANGED
@@ -1,11 +1,10 @@
1
- import { CachedGetter, SimpleStore } from '@atproto-labs/simple-store'
2
1
  import { Did, DidDocument } from '@atproto/did'
3
-
2
+ import { CachedGetter, SimpleStore } from '@atproto-labs/simple-store'
4
3
  import { DidCacheMemory } from './did-cache-memory.js'
5
4
  import { DidMethod, ResolveDidOptions } from './did-method.js'
6
5
  import { DidResolver, ResolvedDocument } from './did-resolver.js'
7
6
 
8
- export type { DidMethod, ResolvedDocument, ResolveDidOptions }
7
+ export type { DidMethod, ResolveDidOptions, ResolvedDocument }
9
8
 
10
9
  export type DidCache = SimpleStore<Did, DidDocument>
11
10
 
@@ -1,11 +1,10 @@
1
- import { FetchRequestError } from '@atproto-labs/fetch'
2
- import { Did, DidError, extractDidMethod } from '@atproto/did'
3
1
  import { ZodError } from 'zod'
4
-
2
+ import { Did, DidError, extractDidMethod } from '@atproto/did'
3
+ import { FetchError, FetchResponseError } from '@atproto-labs/fetch'
5
4
  import { DidMethod, DidMethods, ResolveDidOptions } from './did-method.js'
6
5
  import { DidResolver, ResolvedDocument } from './did-resolver.js'
7
6
 
8
- export type { DidMethod, ResolvedDocument, ResolveDidOptions }
7
+ export type { DidMethod, ResolveDidOptions, ResolvedDocument }
9
8
 
10
9
  export class DidResolverBase<M extends string = string>
11
10
  implements DidResolver<M>
@@ -46,7 +45,12 @@ export class DidResolverBase<M extends string = string>
46
45
 
47
46
  return document as ResolvedDocument<D, M>
48
47
  } catch (err) {
49
- if (err instanceof FetchRequestError) {
48
+ if (err instanceof FetchResponseError) {
49
+ const status = err.response.status >= 500 ? 502 : err.response.status
50
+ throw new DidError(did, err.message, 'did-fetch-error', status, err)
51
+ }
52
+
53
+ if (err instanceof FetchError) {
50
54
  throw new DidError(did, err.message, 'did-fetch-error', 400, err)
51
55
  }
52
56
 
@@ -1,5 +1,4 @@
1
1
  import { Did, DidDocument } from '@atproto/did'
2
-
3
2
  import { ResolveDidOptions } from './did-method.js'
4
3
 
5
4
  export type ResolvedDocument<D extends Did, M extends string = string> =
@@ -1,3 +1,4 @@
1
+ import { Did, assertDidPlc, didDocumentValidator } from '@atproto/did'
1
2
  import {
2
3
  Fetch,
3
4
  bindFetch,
@@ -6,8 +7,6 @@ import {
6
7
  fetchOkProcessor,
7
8
  } from '@atproto-labs/fetch'
8
9
  import { pipe } from '@atproto-labs/pipe'
9
- import { Did, assertDidPlc, didDocumentValidator } from '@atproto/did'
10
-
11
10
  import { DidMethod, ResolveDidOptions } from '../did-method.js'
12
11
 
13
12
  const fetchSuccessHandler = pipe(
@@ -45,6 +44,7 @@ export class DidPlcMethod implements DidMethod<'plc'> {
45
44
  // should still check if the msid is valid.
46
45
  assertDidPlc(did)
47
46
 
47
+ // Should never throw
48
48
  const url = new URL(`/${encodeURIComponent(did)}`, this.plcDirectoryUrl)
49
49
 
50
50
  return this.fetch(url, {
@@ -1,13 +1,12 @@
1
+ import { Did, DidError, didDocumentValidator, didWebToUrl } from '@atproto/did'
1
2
  import {
2
- bindFetch,
3
3
  Fetch,
4
+ bindFetch,
4
5
  fetchJsonProcessor,
5
6
  fetchJsonZodProcessor,
6
7
  fetchOkProcessor,
7
8
  } from '@atproto-labs/fetch'
8
9
  import { pipe } from '@atproto-labs/pipe'
9
- import { Did, didDocumentValidator, didWebToUrl } from '@atproto/did'
10
-
11
10
  import { DidMethod, ResolveDidOptions } from '../did-method.js'
12
11
 
13
12
  const fetchSuccessHandler = pipe(
@@ -38,8 +37,10 @@ export class DidWebMethod implements DidMethod<'web'> {
38
37
  const didDocumentUrl = buildDidWebDocumentUrl(did)
39
38
 
40
39
  if (!this.allowHttp && didDocumentUrl.protocol === 'http:') {
41
- throw new Error(
42
- `Cannot resolve DID document for localhost: ${didDocumentUrl}`,
40
+ throw new DidError(
41
+ did,
42
+ 'Resolution of "http" did:web is not allowed',
43
+ 'did-web-http-not-allowed',
43
44
  )
44
45
  }
45
46