@atproto-labs/did-resolver 0.2.0 → 0.2.2

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,21 @@
1
1
  # @atproto-labs/did-resolver
2
2
 
3
+ ## 0.2.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`09439d7d6`](https://github.com/bluesky-social/atproto/commit/09439d7d688294ad1a0c78a74b901ba2f7c5f4c3)]:
8
+ - @atproto/did@0.2.1
9
+
10
+ ## 0.2.1
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d), [`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d), [`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d), [`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d), [`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d), [`f9dc9aa4c`](https://github.com/bluesky-social/atproto/commit/f9dc9aa4c9eaf2f82d140fbf011a9015e7f1a00d)]:
15
+ - @atproto/did@0.2.0
16
+ - @atproto-labs/simple-store@0.3.0
17
+ - @atproto-labs/simple-store-memory@0.1.4
18
+
3
19
  ## 0.2.0
4
20
 
5
21
  ### Minor Changes
@@ -1 +1 @@
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
+ {"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","sourcesContent":["import { Did, DidDocument } from '@atproto/did'\nimport {\n SimpleStoreMemory,\n SimpleStoreMemoryOptions,\n} from '@atproto-labs/simple-store-memory'\nimport { DidCache } from './did-cache.js'\n\nconst DEFAULT_TTL = 3600 * 1000 // 1 hour\nconst DEFAULT_MAX_SIZE = 50 * 1024 * 1024 // ~50MB\n\nexport type DidCacheMemoryOptions = SimpleStoreMemoryOptions<Did, DidDocument>\n\nexport class DidCacheMemory\n extends SimpleStoreMemory<Did, DidDocument>\n implements DidCache\n{\n constructor(options?: DidCacheMemoryOptions) {\n super(\n options?.max == null\n ? { ttl: DEFAULT_TTL, maxSize: DEFAULT_MAX_SIZE, ...options }\n : { ttl: DEFAULT_TTL, ...options },\n )\n }\n}\n"]}
@@ -1 +1 @@
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
+ {"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","sourcesContent":["import { Did, DidDocument } from '@atproto/did'\nimport { CachedGetter, SimpleStore } from '@atproto-labs/simple-store'\nimport { DidCacheMemory } from './did-cache-memory.js'\nimport { DidMethod, ResolveDidOptions } from './did-method.js'\nimport { DidResolver, ResolvedDocument } from './did-resolver.js'\n\nexport type { DidMethod, ResolveDidOptions, ResolvedDocument }\n\nexport type DidCache = SimpleStore<Did, DidDocument>\n\nexport type DidResolverCachedOptions = { cache?: DidCache }\n\nexport class DidResolverCached<M extends string = string>\n implements DidResolver<M>\n{\n protected readonly getter: CachedGetter<Did, DidDocument>\n constructor(\n resolver: DidResolver<M>,\n cache: DidCache = new DidCacheMemory(),\n ) {\n this.getter = new CachedGetter<Did, DidDocument>(\n (did, options) => resolver.resolve(did, options),\n cache,\n )\n }\n\n public async resolve<D extends Did>(did: D, options?: ResolveDidOptions) {\n return this.getter.get(did, options) as Promise<ResolvedDocument<D, M>>\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"did-method.js","sourceRoot":"","sources":["../src/did-method.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"did-method.js","sourceRoot":"","sources":["../src/did-method.ts"],"names":[],"mappings":"","sourcesContent":["import { Did, DidDocument } from '@atproto/did'\n\nexport type ResolveDidOptions = {\n signal?: AbortSignal\n noCache?: boolean\n}\n\nexport interface DidMethod<Method extends string> {\n resolve: (\n did: Did<Method>,\n options?: ResolveDidOptions,\n ) => DidDocument | PromiseLike<DidDocument>\n}\n\nexport type DidMethods<M extends string> = {\n [K in M]: DidMethod<K>\n}\n"]}
@@ -1 +1 @@
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
+ {"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","sourcesContent":["import { ZodError } from 'zod'\nimport { Did, DidError, extractDidMethod } from '@atproto/did'\nimport { FetchError, FetchResponseError } from '@atproto-labs/fetch'\nimport { DidMethod, DidMethods, ResolveDidOptions } from './did-method.js'\nimport { DidResolver, ResolvedDocument } from './did-resolver.js'\n\nexport type { DidMethod, ResolveDidOptions, ResolvedDocument }\n\nexport class DidResolverBase<M extends string = string>\n implements DidResolver<M>\n{\n protected readonly methods: Map<string, DidMethod<M>>\n\n constructor(methods: DidMethods<M>) {\n this.methods = new Map(Object.entries(methods))\n }\n\n async resolve<D extends Did>(\n did: D,\n options?: ResolveDidOptions,\n ): Promise<ResolvedDocument<D, M>> {\n options?.signal?.throwIfAborted()\n\n const method = extractDidMethod(did)\n const resolver = this.methods.get(method)\n if (!resolver) {\n throw new DidError(\n did,\n `Unsupported DID method`,\n 'did-method-invalid',\n 400,\n )\n }\n\n try {\n const document = await resolver.resolve(did as Did<M>, options)\n if (document.id !== did) {\n throw new DidError(\n did,\n `DID document id (${document.id}) does not match DID`,\n 'did-document-id-mismatch',\n 400,\n )\n }\n\n return document as ResolvedDocument<D, M>\n } catch (err) {\n if (err instanceof FetchResponseError) {\n const status = err.response.status >= 500 ? 502 : err.response.status\n throw new DidError(did, err.message, 'did-fetch-error', status, err)\n }\n\n if (err instanceof FetchError) {\n throw new DidError(did, err.message, 'did-fetch-error', 400, err)\n }\n\n if (err instanceof ZodError) {\n throw new DidError(\n did,\n err.message,\n 'did-document-format-error',\n 503,\n err,\n )\n }\n\n throw DidError.from(err, did)\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"did-resolver-common.js","sourceRoot":"","sources":["../src/did-resolver-common.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AACxD,6CAAoE;AACpE,6CAAoE;AAOpE,MAAa,iBACX,SAAQ,sCAA8B;IAGtC,YAAY,OAAkC;QAC5C,KAAK,CAAC;YACJ,GAAG,EAAE,IAAI,qBAAY,CAAC,OAAO,CAAC;YAC9B,GAAG,EAAE,IAAI,qBAAY,CAAC,OAAO,CAAC;SAC/B,CAAC,CAAA;IACJ,CAAC;CACF;AAVD,8CAUC"}
1
+ {"version":3,"file":"did-resolver-common.js","sourceRoot":"","sources":["../src/did-resolver-common.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AACxD,6CAAoE;AACpE,6CAAoE;AAOpE,MAAa,iBACX,SAAQ,sCAA8B;IAGtC,YAAY,OAAkC;QAC5C,KAAK,CAAC;YACJ,GAAG,EAAE,IAAI,qBAAY,CAAC,OAAO,CAAC;YAC9B,GAAG,EAAE,IAAI,qBAAY,CAAC,OAAO,CAAC;SAC/B,CAAC,CAAA;IACJ,CAAC;CACF;AAVD,8CAUC","sourcesContent":["import { DidResolverBase } from './did-resolver-base.js'\nimport { DidPlcMethod, DidPlcMethodOptions } from './methods/plc.js'\nimport { DidWebMethod, DidWebMethodOptions } from './methods/web.js'\nimport { Simplify } from './util.js'\n\nexport type DidResolverCommonOptions = Simplify<\n DidPlcMethodOptions & DidWebMethodOptions\n>\n\nexport class DidResolverCommon\n extends DidResolverBase<'plc' | 'web'>\n implements DidResolverBase<'plc' | 'web'>\n{\n constructor(options?: DidResolverCommonOptions) {\n super({\n plc: new DidPlcMethod(options),\n web: new DidWebMethod(options),\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"did-resolver.js","sourceRoot":"","sources":["../src/did-resolver.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"did-resolver.js","sourceRoot":"","sources":["../src/did-resolver.ts"],"names":[],"mappings":"","sourcesContent":["import { Did, DidDocument } from '@atproto/did'\nimport { ResolveDidOptions } from './did-method.js'\n\nexport type ResolvedDocument<D extends Did, M extends string = string> =\n D extends Did<infer N>\n ? DidDocument<N extends string ? M : N extends M ? N : never>\n : never\n\nexport interface DidResolver<M extends string = string> {\n resolve<D extends Did>(\n did: D,\n options?: ResolveDidOptions,\n ): Promise<ResolvedDocument<D, M>>\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAE5B,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,2DAAwC;AACxC,oDAAiC;AACjC,+CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAE5B,wDAAqC;AACrC,iDAA8B;AAC9B,kDAA+B;AAC/B,2DAAwC;AACxC,oDAAiC;AACjC,+CAA4B","sourcesContent":["export * from '@atproto/did'\n\nexport * from './did-cache-memory.js'\nexport * from './did-cache.js'\nexport * from './did-method.js'\nexport * from './did-resolver-common.js'\nexport * from './did-resolver.js'\nexport * from './methods.js'\n"]}
@@ -1 +1 @@
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
+ {"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;;;;;;;;;;;;;;wBAekjX,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CAD/8X"}
@@ -1 +1 @@
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
+ {"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","sourcesContent":["import { Did, assertDidPlc, didDocumentValidator } from '@atproto/did'\nimport {\n Fetch,\n bindFetch,\n fetchJsonProcessor,\n fetchJsonZodProcessor,\n fetchOkProcessor,\n} from '@atproto-labs/fetch'\nimport { pipe } from '@atproto-labs/pipe'\nimport { DidMethod, ResolveDidOptions } from '../did-method.js'\n\nconst fetchSuccessHandler = pipe(\n fetchOkProcessor(),\n fetchJsonProcessor(/^application\\/(did\\+ld\\+)?json$/),\n fetchJsonZodProcessor(didDocumentValidator),\n)\n\nexport type DidPlcMethodOptions = {\n /**\n * @default globalThis.fetch\n */\n fetch?: Fetch\n\n /**\n * @default 'https://plc.directory/'\n */\n plcDirectoryUrl?: string | URL\n}\n\nexport class DidPlcMethod implements DidMethod<'plc'> {\n protected readonly fetch: Fetch<unknown>\n\n public readonly plcDirectoryUrl: URL\n\n constructor(options?: DidPlcMethodOptions) {\n this.plcDirectoryUrl = new URL(\n options?.plcDirectoryUrl || 'https://plc.directory/',\n )\n this.fetch = bindFetch(options?.fetch)\n }\n\n async resolve(did: Did<'plc'>, options?: ResolveDidOptions) {\n // Although the did should start with `did:plc:` (thanks to typings), we\n // should still check if the msid is valid.\n assertDidPlc(did)\n\n // Should never throw\n const url = new URL(`/${encodeURIComponent(did)}`, this.plcDirectoryUrl)\n\n return this.fetch(url, {\n redirect: 'error',\n headers: { accept: 'application/did+ld+json,application/json' },\n signal: options?.signal,\n }).then(fetchSuccessHandler)\n }\n}\n"]}
@@ -1 +1 @@
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"}
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+sV,CAAC;8BAAiE,CAAC;;;;;;wBAA4N,CAAC;8BAAiE,CAAC;;;CApB5mW;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAarD"}
@@ -1 +1 @@
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"}
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","sourcesContent":["import { Did, DidError, didDocumentValidator, didWebToUrl } from '@atproto/did'\nimport {\n Fetch,\n bindFetch,\n fetchJsonProcessor,\n fetchJsonZodProcessor,\n fetchOkProcessor,\n} from '@atproto-labs/fetch'\nimport { pipe } from '@atproto-labs/pipe'\nimport { DidMethod, ResolveDidOptions } from '../did-method.js'\n\nconst fetchSuccessHandler = pipe(\n fetchOkProcessor(),\n fetchJsonProcessor(/^application\\/(did\\+ld\\+)?json$/),\n fetchJsonZodProcessor(didDocumentValidator),\n)\n\nexport type DidWebMethodOptions = {\n fetch?: Fetch\n /** @default true */\n allowHttp?: boolean\n}\n\nexport class DidWebMethod implements DidMethod<'web'> {\n protected readonly fetch: Fetch<unknown>\n protected readonly allowHttp: boolean\n\n constructor({\n fetch = globalThis.fetch,\n allowHttp = true,\n }: DidWebMethodOptions = {}) {\n this.fetch = bindFetch(fetch)\n this.allowHttp = allowHttp\n }\n\n async resolve(did: Did<'web'>, options?: ResolveDidOptions) {\n const didDocumentUrl = buildDidWebDocumentUrl(did)\n\n if (!this.allowHttp && didDocumentUrl.protocol === 'http:') {\n throw new DidError(\n did,\n 'Resolution of \"http\" did:web is not allowed',\n 'did-web-http-not-allowed',\n )\n }\n\n // Note we do not explicitly check for \"localhost\" here. Instead, we rely on\n // the injected 'fetch' function to handle the URL. If the URL is\n // \"localhost\", or resolves to a private IP address, the fetch function is\n // responsible for handling it.\n\n return this.fetch(didDocumentUrl, {\n redirect: 'error',\n headers: { accept: 'application/did+ld+json,application/json' },\n signal: options?.signal,\n }).then(fetchSuccessHandler)\n }\n}\n\n/**\n * @see {@link https://datatracker.ietf.org/doc/html/rfc8615}\n * @see {@link https://w3c-ccg.github.io/did-method-web/#create-register}\n */\nexport function buildDidWebDocumentUrl(did: Did<'web'>) {\n const url = didWebToUrl(did) // Will throw if the DID is invalid\n\n // Note: DID cannot end with an `:`, so they cannot end with a `/`. This is\n // true unless when there is no path at all, in which case the URL constructor\n // will set the pathname to `/`.\n\n // https://w3c-ccg.github.io/did-method-web/#read-resolve\n if (url.pathname === '/') {\n return new URL(`/.well-known/did.json`, url)\n } else {\n return new URL(`${url.pathname}/did.json`, url)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,mDAAgC"}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAgC;AAChC,mDAAgC","sourcesContent":["export * from './methods/plc.js'\nexport * from './methods/web.js'\n"]}
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"","sourcesContent":["export type Simplify<T> = { [K in keyof T]: T[K] } & NonNullable<unknown>\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto-labs/did-resolver",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "license": "MIT",
5
5
  "description": "DID resolution and verification library",
6
6
  "keywords": [
@@ -27,9 +27,9 @@
27
27
  "zod": "^3.23.8",
28
28
  "@atproto-labs/fetch": "0.2.3",
29
29
  "@atproto-labs/pipe": "0.1.1",
30
- "@atproto-labs/simple-store": "0.2.0",
31
- "@atproto-labs/simple-store-memory": "0.1.3",
32
- "@atproto/did": "0.1.5"
30
+ "@atproto-labs/simple-store": "0.3.0",
31
+ "@atproto-labs/simple-store-memory": "0.1.4",
32
+ "@atproto/did": "0.2.1"
33
33
  },
34
34
  "devDependencies": {
35
35
  "typescript": "^5.6.3"