@helia/verified-fetch 8.0.4 → 8.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/index.min.js +61 -61
  2. package/dist/index.min.js.map +4 -4
  3. package/dist/src/index.d.ts +3 -3
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1 -1
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/utils/canonical-uri.d.ts +9 -0
  8. package/dist/src/utils/canonical-uri.d.ts.map +1 -0
  9. package/dist/src/utils/canonical-uri.js +157 -0
  10. package/dist/src/utils/canonical-uri.js.map +1 -0
  11. package/dist/src/utils/content-type-parser.d.ts.map +1 -1
  12. package/dist/src/utils/content-type-parser.js +54 -4
  13. package/dist/src/utils/content-type-parser.js.map +1 -1
  14. package/dist/src/utils/ipfs-uri.d.ts +8 -0
  15. package/dist/src/utils/ipfs-uri.d.ts.map +1 -0
  16. package/dist/src/utils/ipfs-uri.js +10 -0
  17. package/dist/src/utils/ipfs-uri.js.map +1 -0
  18. package/dist/src/utils/libp2p-defaults.browser.d.ts +2 -1
  19. package/dist/src/utils/libp2p-defaults.browser.d.ts.map +1 -1
  20. package/dist/src/utils/libp2p-defaults.browser.js +13 -8
  21. package/dist/src/utils/libp2p-defaults.browser.js.map +1 -1
  22. package/dist/src/utils/libp2p-defaults.d.ts +2 -1
  23. package/dist/src/utils/libp2p-defaults.d.ts.map +1 -1
  24. package/dist/src/utils/libp2p-defaults.js +3 -7
  25. package/dist/src/utils/libp2p-defaults.js.map +1 -1
  26. package/dist/src/utils/parse-resource.d.ts.map +1 -1
  27. package/dist/src/utils/parse-resource.js +2 -1
  28. package/dist/src/utils/parse-resource.js.map +1 -1
  29. package/dist/src/utils/x-ipfs-path.d.ts +11 -0
  30. package/dist/src/utils/x-ipfs-path.d.ts.map +1 -0
  31. package/dist/src/utils/x-ipfs-path.js +30 -0
  32. package/dist/src/utils/x-ipfs-path.js.map +1 -0
  33. package/dist/src/verified-fetch.d.ts.map +1 -1
  34. package/dist/src/verified-fetch.js +22 -12
  35. package/dist/src/verified-fetch.js.map +1 -1
  36. package/package.json +1 -2
  37. package/src/index.ts +4 -4
  38. package/src/utils/canonical-uri.ts +184 -0
  39. package/src/utils/content-type-parser.ts +54 -4
  40. package/src/utils/ipfs-uri.ts +9 -0
  41. package/src/utils/libp2p-defaults.browser.ts +14 -10
  42. package/src/utils/libp2p-defaults.ts +5 -9
  43. package/src/utils/parse-resource.ts +2 -1
  44. package/src/utils/x-ipfs-path.ts +34 -0
  45. package/src/verified-fetch.ts +22 -12
@@ -857,13 +857,13 @@ import type { RequestedMimeType } from './verified-fetch.ts';
857
857
  import type { DNSLink, ResolveProgressEvents as ResolveDNSLinkProgressEvents } from '@helia/dnslink';
858
858
  import type { GetBlockProgressEvents, Helia, ProviderOptions } from '@helia/interface';
859
859
  import type { ResolveProgressEvents as ResolveIPNSNameProgressEvents, IPNSRoutingProgressEvents, IPNSResolver } from '@helia/ipns';
860
- import type { AbortOptions, ServiceMap, Logger, PeerId, PublicKey } from '@libp2p/interface';
860
+ import type { CreateLibp2pOptions } from '@helia/libp2p';
861
+ import type { AbortOptions, Logger, PeerId, PublicKey } from '@libp2p/interface';
861
862
  import type { DNSResolvers } from '@multiformats/dns';
862
863
  import type { DNSResolver } from '@multiformats/dns/resolvers';
863
864
  import type { HeliaInit } from 'helia';
864
865
  import type { Blockstore } from 'interface-blockstore';
865
866
  import type { ExporterProgressEvents, PathEntry } from 'ipfs-unixfs-exporter';
866
- import type { Libp2pOptions } from 'libp2p';
867
867
  import type { CID } from 'multiformats/cid';
868
868
  import type { ProgressEvent, ProgressOptions } from 'progress-events';
869
869
  export { MEDIA_TYPE_DAG_CBOR, MEDIA_TYPE_CBOR, MEDIA_TYPE_DAG_JSON, MEDIA_TYPE_JSON, MEDIA_TYPE_RAW, MEDIA_TYPE_OCTET_STREAM, MEDIA_TYPE_IPNS_RECORD, MEDIA_TYPE_CAR, MEDIA_TYPE_TAR, MEDIA_TYPE_DAG_PB } from './utils/content-types.ts';
@@ -1094,7 +1094,7 @@ export interface CreateVerifiedFetchInit {
1094
1094
  * If you need a deep merge, you should do it yourself before passing the
1095
1095
  * configuration here.
1096
1096
  */
1097
- libp2pConfig?: Partial<Libp2pOptions<ServiceMap>>;
1097
+ libp2pConfig?: CreateLibp2pOptions;
1098
1098
  }
1099
1099
  export interface CreateVerifiedFetchOptions {
1100
1100
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -870,7 +870,7 @@ export * from "./errors.js";
870
870
  export async function createVerifiedFetch(init, options) {
871
871
  if (!isHelia(init)) {
872
872
  const dns = createDns(init?.dnsResolvers);
873
- const libp2pConfig = getLibp2pConfig();
873
+ const libp2pConfig = getLibp2pConfig(init?.libp2pConfig);
874
874
  libp2pConfig.dns = dns;
875
875
  const delegatedRouters = init?.routers ?? ['https://delegated-ipfs.dev'];
876
876
  for (let index = 0; index < delegatedRouters.length; index++) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Build the value of the `Ipfs-Uri` response header defined by IPIP-0548: a
3
+ * single canonical `ipfs://` or `ipns://` URI equivalent to the requested
4
+ * content path, before path traversal. The value never contains a query or a
5
+ * fragment. Returns `undefined` when the content root cannot be normalized,
6
+ * in which case the header is omitted.
7
+ */
8
+ export declare function toCanonicalUri(url: URL): URL;
9
+ //# sourceMappingURL=canonical-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-uri.d.ts","sourceRoot":"","sources":["../../../src/utils/canonical-uri.ts"],"names":[],"mappings":"AAkJA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CA8B7C"}
@@ -0,0 +1,157 @@
1
+ import { InvalidParametersError } from '@libp2p/interface';
2
+ import { base36 } from 'multiformats/bases/base36';
3
+ import { base58btc } from 'multiformats/bases/base58';
4
+ import { CID } from 'multiformats/cid';
5
+ import * as Digest from 'multiformats/hashes/digest';
6
+ import { CODEC_LIBP2P_KEY } from "../constants.js";
7
+ /**
8
+ * Percent-encode a single path segment for the `Ipfs-Uri` header value.
9
+ *
10
+ * Every byte of the segment's UTF-8 encoding that is outside the RFC 3986
11
+ * unreserved set (ALPHA / DIGIT / "-" / "." / "_" / "~") is encoded as %XX
12
+ * with uppercase hex, so the output is ASCII-only and byte-identical across
13
+ * implementations. `encodeURIComponent` covers everything except the
14
+ * sub-delims `!'()*` which are handled separately.
15
+ */
16
+ function encodeSegment(segment) {
17
+ return encodeURIComponent(segment)
18
+ .replace(/[!'()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
19
+ }
20
+ /**
21
+ * Percent-decode a raw URL path segment. Segments that are not valid
22
+ * percent-encoding (e.g. a lone `%`) are used as-is.
23
+ */
24
+ function decodeSegment(segment) {
25
+ try {
26
+ return decodeURIComponent(segment);
27
+ }
28
+ catch {
29
+ return segment;
30
+ }
31
+ }
32
+ /**
33
+ * Resolve the dot segments of a decoded path: "." drops out and ".." removes
34
+ * the segment before it. A ".." with nothing left to remove is discarded, so
35
+ * the result can never climb above the content root.
36
+ */
37
+ function resolveDotSegments(segments) {
38
+ const resolved = [];
39
+ for (const segment of segments) {
40
+ if (segment === '.') {
41
+ continue;
42
+ }
43
+ if (segment === '..') {
44
+ resolved.pop();
45
+ continue;
46
+ }
47
+ resolved.push(segment);
48
+ }
49
+ return resolved;
50
+ }
51
+ /**
52
+ * Convert a WHATWG URL pathname into the path part of an `Ipfs-Uri` value.
53
+ * The URI path mirrors the content path the gateway resolved and served, so
54
+ * it follows the same order of operations: each raw pathname segment is
55
+ * percent-decoded once, which turns an encoded slash (%2F) into a path
56
+ * separator, and only then are dot segments resolved. A "." or ".." can
57
+ * therefore never reach the value. Every remaining segment is strictly
58
+ * re-encoded and joined with "/": interior empty segments are dropped, a
59
+ * trailing slash is kept, and an empty remainder produces no path at all.
60
+ */
61
+ function toUriPath(pathname) {
62
+ if (pathname === '') {
63
+ return '';
64
+ }
65
+ const decoded = pathname.split('/').map(decodeSegment).join('/');
66
+ const segments = resolveDotSegments(decoded.split('/').filter(segment => segment !== ''));
67
+ const trailingSlash = decoded.endsWith('/') ? '/' : '';
68
+ if (segments.length === 0) {
69
+ return trailingSlash;
70
+ }
71
+ return `/${segments.map(encodeSegment).join('/')}${trailingSlash}`;
72
+ }
73
+ /**
74
+ * Canonical authority for an `ipfs://` URI: the CID re-encoded as a CIDv1 in
75
+ * lowercase base32 (multibase prefix `b`). CIDv0 and other encodings of the
76
+ * same CID normalize to the same string.
77
+ */
78
+ function ipfsAuthority(host) {
79
+ return CID.parse(host).toV1().toString();
80
+ }
81
+ /**
82
+ * Canonical authority for an `ipns://` URI naming a cryptographic IPNS name:
83
+ * the root re-encoded as a CIDv1 in lowercase base36 (multibase prefix `k`).
84
+ * Legacy base58btc peer id strings (`Qm...`, `12D3Koo...`) normalize to a
85
+ * libp2p-key CIDv1 in base36. A root carrying any other multicodec is not an
86
+ * IPNS Name, so there is no `ipns://` URI to report and the header is omitted.
87
+ */
88
+ function ipnsAuthority(host) {
89
+ if (host.startsWith('Q') || host.startsWith('1')) {
90
+ const digest = Digest.decode(base58btc.baseDecode(host));
91
+ return CID.createV1(CODEC_LIBP2P_KEY, digest).toString(base36);
92
+ }
93
+ const cid = CID.parse(host);
94
+ if (cid.code !== CODEC_LIBP2P_KEY) {
95
+ return undefined;
96
+ }
97
+ return cid.toV1().toString(base36);
98
+ }
99
+ /**
100
+ * The `dnslink-name` form of the `ipns://` URI spec: two or more labels
101
+ * separated by dots, each label 1 to 63 lowercase letters, digits and interior
102
+ * hyphens, with no leading or trailing hyphen.
103
+ *
104
+ * @see https://specs.ipfs.tech/ipns-uri/#syntax
105
+ */
106
+ const DNSLINK_NAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/;
107
+ /**
108
+ * Canonical authority for an `ipns://` URI naming a DNSLink: the dotted DNS
109
+ * name as lowercase ASCII (A-labels for IDN), with a single trailing dot
110
+ * stripped first. WHATWG URLs treat `dnslink:` as a non-special scheme so
111
+ * the hostname keeps the case of the input; round-tripping through an
112
+ * `http:` URL applies domain parsing which lowercases and converts IDN
113
+ * labels to A-labels, but leaves malformed names such as `en..example.net`
114
+ * alone. A result outside the `dnslink-name` form cannot be a DNSLink name so
115
+ * the header is omitted.
116
+ */
117
+ function dnsLinkAuthority(host) {
118
+ const name = decodeSegment(host).replace(/\.$/, '');
119
+ const authority = new URL(`http://${name}`).hostname;
120
+ if (!DNSLINK_NAME.test(authority)) {
121
+ return undefined;
122
+ }
123
+ return authority;
124
+ }
125
+ /**
126
+ * Build the value of the `Ipfs-Uri` response header defined by IPIP-0548: a
127
+ * single canonical `ipfs://` or `ipns://` URI equivalent to the requested
128
+ * content path, before path traversal. The value never contains a query or a
129
+ * fragment. Returns `undefined` when the content root cannot be normalized,
130
+ * in which case the header is omitted.
131
+ */
132
+ export function toCanonicalUri(url) {
133
+ try {
134
+ if (url.protocol === 'ipfs:') {
135
+ return new URL(`ipfs://${ipfsAuthority(url.hostname)}${toUriPath(url.pathname)}${url.search}${url.hash}`);
136
+ }
137
+ if (url.protocol === 'ipns:') {
138
+ const authority = ipnsAuthority(url.hostname);
139
+ if (authority == null) {
140
+ throw new InvalidParametersError(`Could not derive IPNS authority from ${url}`);
141
+ }
142
+ return new URL(`ipns://${authority}${toUriPath(url.pathname)}${url.search}${url.hash}`);
143
+ }
144
+ if (url.protocol === 'dnslink:') {
145
+ const authority = dnsLinkAuthority(url.hostname);
146
+ if (authority == null) {
147
+ throw new InvalidParametersError(`Could not derive IPNS authority from ${url}`);
148
+ }
149
+ return new URL(`dnslink://${authority}${toUriPath(url.pathname)}${url.search}${url.hash}`);
150
+ }
151
+ }
152
+ catch {
153
+ // the content root could not be normalized, omit the header
154
+ }
155
+ throw new InvalidParametersError(`Could not derive canonical URI from ${url}`);
156
+ }
157
+ //# sourceMappingURL=canonical-uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canonical-uri.js","sourceRoot":"","sources":["../../../src/utils/canonical-uri.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-parser.d.ts","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAA;AA4BzD,wBAAsB,iBAAiB,CAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgE9F"}
1
+ {"version":3,"file":"content-type-parser.d.ts","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAA;AA4BzD,wBAAsB,iBAAiB,CAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkH9F"}
@@ -53,8 +53,15 @@ export async function contentTypeParser(bytes, fileName) {
53
53
  }
54
54
  return defaultMimeType;
55
55
  }
56
- // no need to include file-types listed at https://github.com/sindresorhus/file-type#supported-file-types
57
- switch (fileName.split('.').pop()) {
56
+ // formats file-type cannot sniff at all, plus the media containers it only
57
+ // recognizes when their magic bytes start at offset 0 - a file with leading
58
+ // padding (an MP3 whose first frame sync sits behind a run of silence, a PDF
59
+ // that does not begin with its header) reaches this switch as well, and
60
+ // `application/octet-stream` makes the browser download it instead of
61
+ // playing or displaying it inline
62
+ // @see https://github.com/sindresorhus/file-type#supported-file-types
63
+ // @see https://github.com/ipfs/service-worker-gateway/issues/1197
64
+ switch (fileName.split('.').pop()?.toLowerCase()) {
58
65
  case 'css':
59
66
  return 'text/css';
60
67
  case 'html':
@@ -67,13 +74,56 @@ export async function contentTypeParser(bytes, fileName) {
67
74
  return 'application/json';
68
75
  case 'txt':
69
76
  return 'text/plain';
77
+ case 'md':
78
+ case 'markdown':
79
+ return 'text/markdown';
80
+ case 'xml':
81
+ return 'text/xml; charset=utf-8';
82
+ case 'csv':
83
+ return 'text/csv';
84
+ case 'vtt':
85
+ return 'text/vtt';
70
86
  case 'woff2':
71
87
  return 'font/woff2';
72
88
  // see bottom of https://github.com/sindresorhus/file-type#supported-file-types
73
89
  case 'svg':
74
90
  return 'image/svg+xml';
75
- case 'csv':
76
- return 'text/csv';
91
+ case 'ico':
92
+ return 'image/x-icon';
93
+ case 'pdf':
94
+ return 'application/pdf';
95
+ case 'aac':
96
+ return 'audio/aac';
97
+ case 'flac':
98
+ return 'audio/flac';
99
+ case 'm4a':
100
+ return 'audio/mp4';
101
+ case 'mid':
102
+ case 'midi':
103
+ return 'audio/midi';
104
+ case 'mp3':
105
+ return 'audio/mpeg';
106
+ case 'oga':
107
+ case 'ogg':
108
+ case 'opus':
109
+ return 'audio/ogg';
110
+ case 'wav':
111
+ return 'audio/wav';
112
+ case 'weba':
113
+ return 'audio/webm';
114
+ case 'avi':
115
+ return 'video/x-msvideo';
116
+ case 'm4v':
117
+ case 'mp4':
118
+ return 'video/mp4';
119
+ case 'mkv':
120
+ return 'video/x-matroska';
121
+ case 'mov':
122
+ return 'video/quicktime';
123
+ case 'ogv':
124
+ return 'video/ogg';
125
+ case 'webm':
126
+ return 'video/webm';
77
127
  case 'doc':
78
128
  return 'application/msword';
79
129
  case 'xls':
@@ -1 +1 @@
1
- {"version":3,"file":"content-type-parser.js","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-type-parser.js","sourceRoot":"","sources":["../../../src/utils/content-type-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Build the value of the `Ipfs-Uri` response header defined by IPIP-0548: a
3
+ * single canonical `ipfs://` or `ipns://` URI equivalent to the requested
4
+ * content path, before path traversal. The value never contains a query or a
5
+ * fragment.
6
+ */
7
+ export declare function toIpfsUri(url: URL): string | undefined;
8
+ //# sourceMappingURL=ipfs-uri.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipfs-uri.d.ts","sourceRoot":"","sources":["../../../src/utils/ipfs-uri.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,SAAS,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAEvD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Build the value of the `Ipfs-Uri` response header defined by IPIP-0548: a
3
+ * single canonical `ipfs://` or `ipns://` URI equivalent to the requested
4
+ * content path, before path traversal. The value never contains a query or a
5
+ * fragment.
6
+ */
7
+ export function toIpfsUri(url) {
8
+ return `${url.protocol === 'dnslink:' ? 'ipns:' : url.protocol}//${url.hostname}${url.pathname}`;
9
+ }
10
+ //# sourceMappingURL=ipfs-uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ipfs-uri.js","sourceRoot":"","sources":["../../../src/utils/ipfs-uri.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAE,GAAQ;IACjC,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;AAClG,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CreateLibp2pOptions } from '@helia/libp2p';
1
2
  import type { Libp2pOptions } from 'libp2p';
2
- export declare function getLibp2pConfig(): Libp2pOptions & Required<Pick<Libp2pOptions, 'services'>>;
3
+ export declare function getLibp2pConfig(options?: CreateLibp2pOptions): Libp2pOptions & Required<Pick<Libp2pOptions, 'services'>>;
3
4
  //# sourceMappingURL=libp2p-defaults.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAI3C,wBAAgB,eAAe,IAAK,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAqB5F"}
1
+ {"version":3,"file":"libp2p-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,eAAe,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAI3C,wBAAgB,eAAe,CAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAyBzH"}
@@ -1,12 +1,9 @@
1
1
  import { libp2pDefaults } from '@helia/libp2p';
2
2
  import { webRTCDirect } from '@libp2p/webrtc';
3
3
  import { webSockets } from '@libp2p/websockets';
4
- export function getLibp2pConfig() {
5
- const libp2pDefaultOptions = libp2pDefaults();
6
- libp2pDefaultOptions.start = false;
7
- libp2pDefaultOptions.addresses = { listen: [] };
8
- libp2pDefaultOptions.transports = [webRTCDirect(), webSockets()];
9
- libp2pDefaultOptions.peerDiscovery = []; // Avoid connecting to bootstrap nodes
4
+ export function getLibp2pConfig(options) {
5
+ // @ts-expect-error cannot derive correct type
6
+ const libp2pDefaultOptions = libp2pDefaults(options);
10
7
  const services = {
11
8
  dcutr: libp2pDefaultOptions.services.dcutr,
12
9
  identify: libp2pDefaultOptions.services.identify,
@@ -15,8 +12,16 @@ export function getLibp2pConfig() {
15
12
  ping: libp2pDefaultOptions.services.ping
16
13
  };
17
14
  return {
18
- ...libp2pDefaultOptions,
19
- start: false,
15
+ addresses: {
16
+ listen: []
17
+ },
18
+ transports: [
19
+ webRTCDirect(),
20
+ webSockets()
21
+ ],
22
+ peerDiscovery: [
23
+ // Avoid connecting to bootstrap nodes
24
+ ],
20
25
  services
21
26
  };
22
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-defaults.browser.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,MAAM,UAAU,eAAe;IAC7B,MAAM,oBAAoB,GAAG,cAAc,EAAE,CAAA;IAE7C,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAA;IAClC,oBAAoB,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC/C,oBAAoB,CAAC,UAAU,GAAG,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;IAChE,oBAAoB,CAAC,aAAa,GAAG,EAAE,CAAA,CAAC,sCAAsC;IAE9E,MAAM,QAAQ,GAAkC;QAC9C,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,YAAY;QACxD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;KACzC,CAAA;IAED,OAAO;QACL,GAAG,oBAAoB;QACvB,KAAK,EAAE,KAAK;QACZ,QAAQ;KACT,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"libp2p-defaults.browser.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAO/C,MAAM,UAAU,eAAe,CAAE,OAA6B;IAC5D,8CAA8C;IAC9C,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAkC;QAC9C,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,YAAY;QACxD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;KACzC,CAAA;IAED,OAAO;QACL,SAAS,EAAE;YACT,MAAM,EAAE,EAAE;SACX;QACD,UAAU,EAAE;YACV,YAAY,EAAE;YACd,UAAU,EAAE;SACb;QACD,aAAa,EAAE;QACb,sCAAsC;SACvC;QACD,QAAQ;KACT,CAAA;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CreateLibp2pOptions } from '@helia/libp2p';
1
2
  import type { Libp2pOptions } from 'libp2p';
2
- export declare function getLibp2pConfig(): Libp2pOptions & Required<Pick<Libp2pOptions, 'services'>>;
3
+ export declare function getLibp2pConfig(options?: CreateLibp2pOptions): Libp2pOptions & Required<Pick<Libp2pOptions, 'services'>>;
3
4
  //# sourceMappingURL=libp2p-defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAI3C,wBAAgB,eAAe,IAAK,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAoB5F"}
1
+ {"version":3,"file":"libp2p-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAyB,MAAM,eAAe,CAAA;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAI3C,wBAAgB,eAAe,CAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAiBzH"}
@@ -1,13 +1,10 @@
1
1
  import { libp2pDefaults } from '@helia/libp2p';
2
- import { kadDHT } from '@libp2p/kad-dht';
3
- export function getLibp2pConfig() {
4
- const libp2pDefaultOptions = libp2pDefaults();
2
+ export function getLibp2pConfig(options) {
3
+ // @ts-expect-error cannot derive correct type
4
+ const libp2pDefaultOptions = libp2pDefaults(options);
5
5
  const services = {
6
6
  autoNAT: libp2pDefaultOptions.services.autoNAT,
7
7
  dcutr: libp2pDefaultOptions.services.dcutr,
8
- dht: kadDHT({
9
- clientMode: true
10
- }),
11
8
  identify: libp2pDefaultOptions.services.identify,
12
9
  identifyPush: libp2pDefaultOptions.services.identifyPush,
13
10
  keychain: libp2pDefaultOptions.services.keychain,
@@ -15,7 +12,6 @@ export function getLibp2pConfig() {
15
12
  upnp: libp2pDefaultOptions.services.upnp
16
13
  };
17
14
  return {
18
- ...libp2pDefaultOptions,
19
15
  services
20
16
  };
21
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p-defaults.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAOxC,MAAM,UAAU,eAAe;IAC7B,MAAM,oBAAoB,GAAG,cAAc,EAAE,CAAA;IAE7C,MAAM,QAAQ,GAAkC;QAC9C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,OAAO;QAC9C,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK;QAC1C,GAAG,EAAE,MAAM,CAAC;YACV,UAAU,EAAE,IAAI;SACjB,CAAC;QACF,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,YAAY;QACxD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;QACxC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;KACzC,CAAA;IAED,OAAO;QACL,GAAG,oBAAoB;QACvB,QAAQ;KACT,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"libp2p-defaults.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAO9C,MAAM,UAAU,eAAe,CAAE,OAA6B;IAC5D,8CAA8C;IAC9C,MAAM,oBAAoB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAEpD,MAAM,QAAQ,GAAkC;QAC9C,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,OAAO;QAC9C,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,KAAK;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,YAAY;QACxD,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ;QAChD,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;QACxC,IAAI,EAAE,oBAAoB,CAAC,QAAQ,CAAC,IAAI;KACzC,CAAA;IAED,OAAO;QACL,QAAQ;KACT,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-resource.d.ts","sourceRoot":"","sources":["../../../src/utils/parse-resource.ts"],"names":[],"mappings":"AA2BA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CA0BvD"}
1
+ {"version":3,"file":"parse-resource.d.ts","sourceRoot":"","sources":["../../../src/utils/parse-resource.ts"],"names":[],"mappings":"AA4BA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CA0BvD"}
@@ -1,6 +1,7 @@
1
1
  import { InvalidParametersError } from '@libp2p/interface';
2
2
  import { peerIdFromString } from '@libp2p/peer-id';
3
3
  import { CID } from 'multiformats/cid';
4
+ import { toCanonicalUri } from "./canonical-uri.js";
4
5
  /**
5
6
  * Turns an IPFS or IPNS path into a URL
6
7
  *
@@ -45,7 +46,7 @@ export function stringToIpfsUrl(urlString) {
45
46
  }
46
47
  }
47
48
  }
48
- return url;
49
+ return toCanonicalUri(url);
49
50
  }
50
51
  throw new InvalidParametersError(`URL did not start with ipfs:// or ipns:// - ${urlString}`);
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parse-resource.js","sourceRoot":"","sources":["../../../src/utils/parse-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAEtC;;;;;GAKG;AACH,SAAS,iBAAiB,CAAE,IAAY;IACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,sBAAsB,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAA;IACtF,CAAC;IAED,mEAAmE;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACpD,MAAM,CACJ,AADK,EAEL,QAAQ,EACR,IAAI,EACJ,GAAG,IAAI,CACR,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE3B,OAAO,GAAG,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;AACtG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAE,SAAiB;IAChD,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7G,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9B,yEAAyE;QACzE,UAAU;QACV,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,IAAI,sBAAsB,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAA;AAC9F,CAAC"}
1
+ {"version":3,"file":"parse-resource.js","sourceRoot":"","sources":["../../../src/utils/parse-resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD;;;;;GAKG;AACH,SAAS,iBAAiB,CAAE,IAAY;IACtC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,sBAAsB,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAA;IACtF,CAAC;IAED,mEAAmE;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAA;IACpD,MAAM,CACJ,AADK,EAEL,QAAQ,EACR,IAAI,EACJ,GAAG,IAAI,CACR,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE3B,OAAO,GAAG,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;AACtG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAE,SAAiB;IAChD,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrE,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7G,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAA;QAE9B,yEAAyE;QACzE,UAAU;QACV,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzB,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC;oBACH,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,IAAI,sBAAsB,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAA;AAC9F,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Build the value of the deprecated `x-ipfs-path` response header: the content
3
+ * path for the requested URL, with the percent-encoding of the request target
4
+ * removed. Returns `undefined` when that path contains a byte that cannot be
5
+ * carried by an HTTP field value, in which case the header must be omitted
6
+ * rather than sent with the offending bytes mangled or dropped.
7
+ *
8
+ * @see https://github.com/ipfs/specs/pull/548
9
+ */
10
+ export declare function toXIpfsPath(url: URL): string | undefined;
11
+ //# sourceMappingURL=x-ipfs-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-ipfs-path.d.ts","sourceRoot":"","sources":["../../../src/utils/x-ipfs-path.ts"],"names":[],"mappings":"AAoBA;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAE,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,SAAS,CAIzD"}
@@ -0,0 +1,30 @@
1
+ import { toIPFSPath } from "./ipfs-url-to-ipfs-path.js";
2
+ /**
3
+ * True when every byte of the UTF-8 encoding of `value` is HTAB (0x09), SP
4
+ * (0x20) or visible ASCII (0x21-0x7E), the only bytes an HTTP field value can
5
+ * carry. Any code point above 0x7E encodes to bytes that are all above 0x7F,
6
+ * so testing code points is equivalent to testing the encoded bytes.
7
+ */
8
+ function isFieldValue(value) {
9
+ for (let i = 0; i < value.length; i++) {
10
+ const code = value.charCodeAt(i);
11
+ if (code !== 0x09 && (code < 0x20 || code > 0x7e)) {
12
+ return false;
13
+ }
14
+ }
15
+ return true;
16
+ }
17
+ /**
18
+ * Build the value of the deprecated `x-ipfs-path` response header: the content
19
+ * path for the requested URL, with the percent-encoding of the request target
20
+ * removed. Returns `undefined` when that path contains a byte that cannot be
21
+ * carried by an HTTP field value, in which case the header must be omitted
22
+ * rather than sent with the offending bytes mangled or dropped.
23
+ *
24
+ * @see https://github.com/ipfs/specs/pull/548
25
+ */
26
+ export function toXIpfsPath(url) {
27
+ const ipfsPath = toIPFSPath(url);
28
+ return isFieldValue(ipfsPath) ? ipfsPath : undefined;
29
+ }
30
+ //# sourceMappingURL=x-ipfs-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-ipfs-path.js","sourceRoot":"","sources":["../../../src/utils/x-ipfs-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD;;;;;GAKG;AACH,SAAS,YAAY,CAAE,KAAa;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAEhC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAE,GAAQ;IACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;IAEhC,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;AACtD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"verified-fetch.d.ts","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAA8C,0BAA0B,EAAE,QAAQ,EAAkB,iBAAiB,IAAI,oBAAoB,EAAqD,MAAM,YAAY,CAAA;AAEhO,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAsC7C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAE5B,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,0BAA+B;IA+ChE;;;;;;OAMG;IACG,KAAK,CAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAiNhF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,aAAa;IAYrB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;YAsFb,iBAAiB;IA2D/B;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAI7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC"}
1
+ {"version":3,"file":"verified-fetch.d.ts","sourceRoot":"","sources":["../../src/verified-fetch.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAA8C,0BAA0B,EAAE,QAAQ,EAAkB,iBAAiB,IAAI,oBAAoB,EAAqD,MAAM,YAAY,CAAA;AAEhO,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAsC7C,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA+B;IACjE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;gBAE5B,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,0BAA+B;IA+ChE;;;;;;OAMG;IACG,KAAK,CAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyNhF;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkDvB,OAAO,CAAC,aAAa;IAYrB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;YAyFb,iBAAiB;IA2D/B;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAI7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC"}