@fedify/fedify 0.11.0 → 0.11.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.
Files changed (47) hide show
  1. package/CHANGES.md +92 -0
  2. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/concat.js +1 -1
  3. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/copy.js +2 -2
  4. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/ends_with.js +1 -1
  5. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/equals.js +1 -1
  6. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/includes_needle.js +2 -2
  7. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/index_of_needle.js +2 -2
  8. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/last_index_of_needle.js +2 -2
  9. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/mod.js +1 -1
  10. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/repeat.js +2 -2
  11. package/esm/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/starts_with.js +1 -1
  12. package/esm/runtime/docloader.js +3 -0
  13. package/esm/runtime/key.js +1 -1
  14. package/esm/runtime/url.js +79 -0
  15. package/esm/sig/http.js +1 -1
  16. package/package.json +1 -1
  17. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/concat.d.ts +1 -1
  18. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/concat.d.ts.map +1 -1
  19. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/copy.d.ts +2 -2
  20. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/copy.d.ts.map +1 -1
  21. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/ends_with.d.ts +1 -1
  22. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/ends_with.d.ts.map +1 -1
  23. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/equals.d.ts +1 -1
  24. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/equals.d.ts.map +1 -1
  25. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/includes_needle.d.ts +2 -2
  26. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/includes_needle.d.ts.map +1 -1
  27. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/index_of_needle.d.ts +2 -2
  28. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/index_of_needle.d.ts.map +1 -1
  29. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/last_index_of_needle.d.ts +2 -2
  30. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/last_index_of_needle.d.ts.map +1 -1
  31. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/mod.d.ts +1 -1
  32. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/mod.d.ts.map +1 -1
  33. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/repeat.d.ts +2 -2
  34. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/repeat.d.ts.map +1 -1
  35. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/starts_with.d.ts +1 -1
  36. package/types/deps/jsr.io/@std/bytes/{1.0.0 → 1.0.2}/starts_with.d.ts.map +1 -1
  37. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/build_message.d.ts.map +1 -1
  38. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/diff.d.ts.map +1 -1
  39. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/diff_str.d.ts.map +1 -1
  40. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/format.d.ts.map +1 -1
  41. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/mod.d.ts.map +1 -1
  42. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/styles.d.ts.map +1 -1
  43. package/types/deps/jsr.io/@std/internal/{1.0.0 → 1.0.1}/types.d.ts.map +1 -1
  44. package/types/runtime/docloader.d.ts.map +1 -1
  45. package/types/runtime/url.d.ts +11 -0
  46. package/types/runtime/url.d.ts.map +1 -0
  47. package/types/runtime/url.test.d.ts.map +1 -0
package/CHANGES.md CHANGED
@@ -3,6 +3,36 @@
3
3
  Fedify changelog
4
4
  ================
5
5
 
6
+ Version 0.11.2
7
+ --------------
8
+
9
+ Released on July 9, 2024.
10
+
11
+ - Fixed a vulnerability of SSRF via DNS rebinding in the built-in document
12
+ loader. [[CVE-2024-39687]]
13
+
14
+ - The `fetchDocumentLoader()` function now throws an error when the given
15
+ domain name has any records referring to a private network address.
16
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
17
+ loader that throws an error when the given domain name has any records
18
+ referring to a private network address.
19
+
20
+
21
+ Version 0.11.1
22
+ --------------
23
+
24
+ Released on July 5, 2024.
25
+
26
+ - Fixed a SSRF vulnerability in the built-in document loader.
27
+ [[CVE-2024-39687]]
28
+
29
+ - The `fetchDocumentLoader()` function now throws an error when the given
30
+ URL is not an HTTP or HTTPS URL or refers to a private network address.
31
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
32
+ loader that throws an error when the given URL is not an HTTP or HTTPS
33
+ URL or refers to a private network address.
34
+
35
+
6
36
  Version 0.11.0
7
37
  --------------
8
38
 
@@ -186,6 +216,36 @@ Released on June 29, 2024.
186
216
  [#80]: https://github.com/dahlia/fedify/pull/80
187
217
 
188
218
 
219
+ Version 0.10.2
220
+ --------------
221
+
222
+ Released on July 9, 2024.
223
+
224
+ - Fixed a vulnerability of SSRF via DNS rebinding in the built-in document
225
+ loader. [[CVE-2024-39687]]
226
+
227
+ - The `fetchDocumentLoader()` function now throws an error when the given
228
+ domain name has any records referring to a private network address.
229
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
230
+ loader that throws an error when the given domain name has any records
231
+ referring to a private network address.
232
+
233
+
234
+ Version 0.10.1
235
+ --------------
236
+
237
+ Released on July 5, 2024.
238
+
239
+ - Fixed a SSRF vulnerability in the built-in document loader.
240
+ [[CVE-2024-39687]]
241
+
242
+ - The `fetchDocumentLoader()` function now throws an error when the given
243
+ URL is not an HTTP or HTTPS URL or refers to a private network address.
244
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
245
+ loader that throws an error when the given URL is not an HTTP or HTTPS
246
+ URL or refers to a private network address.
247
+
248
+
189
249
  Version 0.10.0
190
250
  --------------
191
251
 
@@ -347,6 +407,38 @@ is now distributed under the [MIT License] to encourage wider adoption.
347
407
  [x-forwarded-fetch]: https://github.com/dahlia/x-forwarded-fetch
348
408
 
349
409
 
410
+ Version 0.9.3
411
+ -------------
412
+
413
+ Released on July 9, 2024.
414
+
415
+ - Fixed a vulnerability of SSRF via DNS rebinding in the built-in document
416
+ loader. [[CVE-2024-39687]]
417
+
418
+ - The `fetchDocumentLoader()` function now throws an error when the given
419
+ domain name has any records referring to a private network address.
420
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
421
+ loader that throws an error when the given domain name has any records
422
+ referring to a private network address.
423
+
424
+
425
+ Version 0.9.2
426
+ -------------
427
+
428
+ Released on July 5, 2024.
429
+
430
+ - Fixed a SSRF vulnerability in the built-in document loader.
431
+ [[CVE-2024-39687]]
432
+
433
+ - The `fetchDocumentLoader()` function now throws an error when the given
434
+ URL is not an HTTP or HTTPS URL or refers to a private network address.
435
+ - The `getAuthenticatedDocumentLoader()` function now returns a document
436
+ loader that throws an error when the given URL is not an HTTP or HTTPS
437
+ URL or refers to a private network address.
438
+
439
+ [CVE-2024-39687]: https://github.com/dahlia/fedify/security/advisories/GHSA-p9cg-vqcc-grcx
440
+
441
+
350
442
  Version 0.9.1
351
443
  -------------
352
444
 
@@ -9,7 +9,7 @@
9
9
  * @example Basic usage
10
10
  * ```ts
11
11
  * import { concat } from "@std/bytes/concat";
12
- * import { assertEquals } from "@std/assert/assert-equals";
12
+ * import { assertEquals } from "@std/assert";
13
13
  *
14
14
  * const a = new Uint8Array([0, 1, 2]);
15
15
  * const b = new Uint8Array([3, 4, 5]);
@@ -16,7 +16,7 @@
16
16
  * @example Basic usage
17
17
  * ```ts
18
18
  * import { copy } from "@std/bytes/copy";
19
- * import { assertEquals } from "@std/assert/assert-equals";
19
+ * import { assertEquals } from "@std/assert";
20
20
  *
21
21
  * const src = new Uint8Array([9, 8, 7]);
22
22
  * const dst = new Uint8Array([0, 1, 2, 3, 4, 5]);
@@ -28,7 +28,7 @@
28
28
  * @example Copy with offset
29
29
  * ```ts
30
30
  * import { copy } from "@std/bytes/copy";
31
- * import { assertEquals } from "@std/assert/assert-equals";
31
+ * import { assertEquals } from "@std/assert";
32
32
  *
33
33
  * const src = new Uint8Array([1, 1, 1, 1]);
34
34
  * const dst = new Uint8Array([0, 0, 0, 0]);
@@ -14,7 +14,7 @@
14
14
  * @example Basic usage
15
15
  * ```ts
16
16
  * import { endsWith } from "@std/bytes/ends-with";
17
- * import { assertEquals } from "@std/assert/assert-equals";
17
+ * import { assertEquals } from "@std/assert";
18
18
  *
19
19
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
20
20
  * const suffix = new Uint8Array([1, 2, 3]);
@@ -61,7 +61,7 @@ const THRESHOLD_32_BIT = 160;
61
61
  * @example Basic usage
62
62
  * ```ts
63
63
  * import { equals } from "@std/bytes/equals";
64
- * import { assertEquals } from "@std/assert/assert-equals";
64
+ * import { assertEquals } from "@std/assert";
65
65
  *
66
66
  * const a = new Uint8Array([1, 2, 3]);
67
67
  * const b = new Uint8Array([1, 2, 3]);
@@ -16,7 +16,7 @@ import { indexOfNeedle } from "./index_of_needle.js";
16
16
  * @example Basic usage
17
17
  * ```ts
18
18
  * import { includesNeedle } from "@std/bytes/includes-needle";
19
- * import { assertEquals } from "@std/assert/assert-equals";
19
+ * import { assertEquals } from "@std/assert";
20
20
  *
21
21
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
22
22
  * const needle = new Uint8Array([1, 2]);
@@ -27,7 +27,7 @@ import { indexOfNeedle } from "./index_of_needle.js";
27
27
  * @example Start index
28
28
  * ```ts
29
29
  * import { includesNeedle } from "@std/bytes/includes-needle";
30
- * import { assertEquals } from "@std/assert/assert-equals";
30
+ * import { assertEquals } from "@std/assert";
31
31
  *
32
32
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
33
33
  * const needle = new Uint8Array([1, 2]);
@@ -19,7 +19,7 @@
19
19
  * @example Basic usage
20
20
  * ```ts
21
21
  * import { indexOfNeedle } from "@std/bytes/index-of-needle";
22
- * import { assertEquals } from "@std/assert/assert-equals";
22
+ * import { assertEquals } from "@std/assert";
23
23
  *
24
24
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
25
25
  * const needle = new Uint8Array([1, 2]);
@@ -32,7 +32,7 @@
32
32
  * @example Start index
33
33
  * ```ts
34
34
  * import { indexOfNeedle } from "@std/bytes/index-of-needle";
35
- * import { assertEquals } from "@std/assert/assert-equals";
35
+ * import { assertEquals } from "@std/assert";
36
36
  *
37
37
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
38
38
  * const needle = new Uint8Array([1, 2]);
@@ -16,7 +16,7 @@
16
16
  * @example Basic usage
17
17
  * ```ts
18
18
  * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle";
19
- * import { assertEquals } from "@std/assert/assert-equals";
19
+ * import { assertEquals } from "@std/assert";
20
20
  *
21
21
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
22
22
  * const needle = new Uint8Array([1, 2]);
@@ -29,7 +29,7 @@
29
29
  * @example Start index
30
30
  * ```ts
31
31
  * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle";
32
- * import { assertEquals } from "@std/assert/assert-equals";
32
+ * import { assertEquals } from "@std/assert";
33
33
  *
34
34
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
35
35
  * const needle = new Uint8Array([1, 2]);
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * ```ts
9
9
  * import { concat, indexOfNeedle, endsWith } from "@std/bytes";
10
- * import { assertEquals } from "@std/assert/assert-equals";
10
+ * import { assertEquals } from "@std/assert";
11
11
  *
12
12
  * const a = new Uint8Array([0, 1, 2]);
13
13
  * const b = new Uint8Array([3, 4, 5]);
@@ -13,7 +13,7 @@ import { copy } from "./copy.js";
13
13
  * @example Basic usage
14
14
  * ```ts
15
15
  * import { repeat } from "@std/bytes/repeat";
16
- * import { assertEquals } from "@std/assert/assert-equals";
16
+ * import { assertEquals } from "@std/assert";
17
17
  *
18
18
  * const source = new Uint8Array([0, 1, 2]);
19
19
  *
@@ -23,7 +23,7 @@ import { copy } from "./copy.js";
23
23
  * @example Zero count
24
24
  * ```ts
25
25
  * import { repeat } from "@std/bytes/repeat";
26
- * import { assertEquals } from "@std/assert/assert-equals";
26
+ * import { assertEquals } from "@std/assert";
27
27
  *
28
28
  * const source = new Uint8Array([0, 1, 2]);
29
29
  *
@@ -14,7 +14,7 @@
14
14
  * @example Basic usage
15
15
  * ```ts
16
16
  * import { startsWith } from "@std/bytes/starts-with";
17
- * import { assertEquals } from "@std/assert/assert-equals";
17
+ * import { assertEquals } from "@std/assert";
18
18
  *
19
19
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
20
20
  * const prefix = new Uint8Array([0, 1, 2]);
@@ -3,6 +3,7 @@ import { getLogger } from "@logtape/logtape";
3
3
  import { signRequest } from "../sig/http.js";
4
4
  import { validateCryptoKey } from "../sig/key.js";
5
5
  import preloadedContexts from "./contexts.js";
6
+ import { validatePublicUrl } from "./url.js";
6
7
  const logger = getLogger(["fedify", "runtime", "docloader"]);
7
8
  /**
8
9
  * Error thrown when fetching a JSON-LD document failed.
@@ -82,6 +83,7 @@ export async function fetchDocumentLoader(url) {
82
83
  documentUrl: url,
83
84
  };
84
85
  }
86
+ await validatePublicUrl(url);
85
87
  const request = createRequest(url);
86
88
  logRequest(request);
87
89
  const response = await fetch(request, {
@@ -110,6 +112,7 @@ export async function fetchDocumentLoader(url) {
110
112
  export function getAuthenticatedDocumentLoader(identity) {
111
113
  validateCryptoKey(identity.privateKey);
112
114
  async function load(url) {
115
+ await validatePublicUrl(url);
113
116
  let request = createRequest(url);
114
117
  request = await signRequest(request, identity.privateKey, identity.keyId);
115
118
  logRequest(request);
@@ -1,6 +1,6 @@
1
1
  import * as dntShim from "../_dnt.shims.js";
2
2
  import { createPublicKey } from "node:crypto";
3
- import { concat } from "../deps/jsr.io/@std/bytes/1.0.0/concat.js";
3
+ import { concat } from "../deps/jsr.io/@std/bytes/1.0.2/concat.js";
4
4
  import { decodeBase64, encodeBase64 } from "../deps/jsr.io/@std/encoding/0.224.3/base64.js";
5
5
  import { decodeBase64Url } from "../deps/jsr.io/@std/encoding/0.224.3/base64url.js";
6
6
  import { decodeHex } from "../deps/jsr.io/@std/encoding/0.224.3/hex.js";
@@ -0,0 +1,79 @@
1
+ import * as dntShim from "../_dnt.shims.js";
2
+ import { lookup } from "node:dns/promises";
3
+ import { isIP } from "node:net";
4
+ export class UrlError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "UrlError";
8
+ }
9
+ }
10
+ /**
11
+ * Validates a URL to prevent SSRF attacks.
12
+ */
13
+ export async function validatePublicUrl(url) {
14
+ const parsed = new URL(url);
15
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
16
+ throw new UrlError(`Unsupported protocol: ${parsed.protocol}`);
17
+ }
18
+ let hostname = parsed.hostname;
19
+ if (hostname.startsWith("[") && hostname.endsWith("]")) {
20
+ hostname = hostname.substring(1, hostname.length - 2);
21
+ }
22
+ if (hostname === "localhost") {
23
+ throw new UrlError("Localhost is not allowed");
24
+ }
25
+ if ("Deno" in dntShim.dntGlobalThis && !isIP(hostname)) {
26
+ // If the `net` permission is not granted, we can't resolve the hostname.
27
+ // However, we can safely assume that it cannot gain access to private
28
+ // resources.
29
+ const netPermission = await dntShim.Deno.permissions.query({ name: "net" });
30
+ if (netPermission.state !== "granted")
31
+ return;
32
+ }
33
+ // To prevent SSRF via DNS rebinding, we need to resolve all IP addresses
34
+ // and ensure that they are all public:
35
+ const addresses = await lookup(hostname, { all: true });
36
+ for (const { address, family } of addresses) {
37
+ if (family === 4 && !isValidPublicIPv4Address(address) ||
38
+ family === 6 && !isValidPublicIPv6Address(address) ||
39
+ family < 4 || family === 5 || family > 6) {
40
+ throw new UrlError(`Invalid or private address: ${address}`);
41
+ }
42
+ }
43
+ }
44
+ export function isValidPublicIPv4Address(address) {
45
+ const parts = address.split(".");
46
+ const first = parseInt(parts[0]);
47
+ if (first === 0 || first === 10 || first === 127)
48
+ return false;
49
+ const second = parseInt(parts[1]);
50
+ if (first === 169 && second === 254)
51
+ return false;
52
+ if (first === 172 && second >= 16 && second <= 31)
53
+ return false;
54
+ if (first === 192 && second === 168)
55
+ return false;
56
+ return true;
57
+ }
58
+ export function isValidPublicIPv6Address(address) {
59
+ address = expandIPv6Address(address);
60
+ if (address.at(4) !== ":")
61
+ return false;
62
+ const firstWord = parseInt(address.substring(0, 4), 16);
63
+ return !((firstWord >= 0xfc00 && firstWord <= 0xfdff) || // ULA
64
+ (firstWord >= 0xfe80 && firstWord <= 0xfebf) || // Link-local
65
+ firstWord === 0 || firstWord >= 0xff00 // Multicast
66
+ );
67
+ }
68
+ export function expandIPv6Address(address) {
69
+ address = address.toLowerCase();
70
+ if (address === "::")
71
+ return "0000:0000:0000:0000:0000:0000:0000:0000";
72
+ if (address.startsWith("::"))
73
+ address = "0000" + address;
74
+ if (address.endsWith("::"))
75
+ address = address + "0000";
76
+ address = address.replace("::", ":0000".repeat(8 - (address.match(/:/g) || []).length) + ":");
77
+ const parts = address.split(":");
78
+ return parts.map((part) => part.padStart(4, "0")).join(":");
79
+ }
package/esm/sig/http.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as dntShim from "../_dnt.shims.js";
2
2
  import { getLogger } from "@logtape/logtape";
3
- import { equals } from "../deps/jsr.io/@std/bytes/1.0.0/mod.js";
3
+ import { equals } from "../deps/jsr.io/@std/bytes/1.0.2/mod.js";
4
4
  import { decodeBase64, encodeBase64 } from "../deps/jsr.io/@std/encoding/0.224.3/base64.js";
5
5
  import { CryptographicKey } from "../vocab/vocab.js";
6
6
  import { fetchKey, validateCryptoKey } from "./key.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "0.11.0",
3
+ "version": "0.11.2",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",
@@ -7,7 +7,7 @@
7
7
  * @example Basic usage
8
8
  * ```ts
9
9
  * import { concat } from "@std/bytes/concat";
10
- * import { assertEquals } from "@std/assert/assert-equals";
10
+ * import { assertEquals } from "@std/assert";
11
11
  *
12
12
  * const a = new Uint8Array([0, 1, 2]);
13
13
  * const b = new Uint8Array([3, 4, 5]);
@@ -1 +1 @@
1
- {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/concat.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAaxD"}
1
+ {"version":3,"file":"concat.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/concat.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAaxD"}
@@ -14,7 +14,7 @@
14
14
  * @example Basic usage
15
15
  * ```ts
16
16
  * import { copy } from "@std/bytes/copy";
17
- * import { assertEquals } from "@std/assert/assert-equals";
17
+ * import { assertEquals } from "@std/assert";
18
18
  *
19
19
  * const src = new Uint8Array([9, 8, 7]);
20
20
  * const dst = new Uint8Array([0, 1, 2, 3, 4, 5]);
@@ -26,7 +26,7 @@
26
26
  * @example Copy with offset
27
27
  * ```ts
28
28
  * import { copy } from "@std/bytes/copy";
29
- * import { assertEquals } from "@std/assert/assert-equals";
29
+ * import { assertEquals } from "@std/assert";
30
30
  *
31
31
  * const src = new Uint8Array([1, 1, 1, 1]);
32
32
  * const dst = new Uint8Array([0, 0, 0, 0]);
@@ -1 +1 @@
1
- {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/copy.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,SAAI,GAAG,MAAM,CAQzE"}
1
+ {"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/copy.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,SAAI,GAAG,MAAM,CAQzE"}
@@ -12,7 +12,7 @@
12
12
  * @example Basic usage
13
13
  * ```ts
14
14
  * import { endsWith } from "@std/bytes/ends-with";
15
- * import { assertEquals } from "@std/assert/assert-equals";
15
+ * import { assertEquals } from "@std/assert";
16
16
  *
17
17
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
18
18
  * const suffix = new Uint8Array([1, 2, 3]);
@@ -1 +1 @@
1
- {"version":3,"file":"ends_with.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/ends_with.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAWxE"}
1
+ {"version":3,"file":"ends_with.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/ends_with.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAWxE"}
@@ -8,7 +8,7 @@
8
8
  * @example Basic usage
9
9
  * ```ts
10
10
  * import { equals } from "@std/bytes/equals";
11
- * import { assertEquals } from "@std/assert/assert-equals";
11
+ * import { assertEquals } from "@std/assert";
12
12
  *
13
13
  * const a = new Uint8Array([1, 2, 3]);
14
14
  * const b = new Uint8Array([1, 2, 3]);
@@ -1 +1 @@
1
- {"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/equals.ts"],"names":[],"mappings":"AA6DA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAQ5D"}
1
+ {"version":3,"file":"equals.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/equals.ts"],"names":[],"mappings":"AA6DA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAQ5D"}
@@ -13,7 +13,7 @@
13
13
  * @example Basic usage
14
14
  * ```ts
15
15
  * import { includesNeedle } from "@std/bytes/includes-needle";
16
- * import { assertEquals } from "@std/assert/assert-equals";
16
+ * import { assertEquals } from "@std/assert";
17
17
  *
18
18
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
19
19
  * const needle = new Uint8Array([1, 2]);
@@ -24,7 +24,7 @@
24
24
  * @example Start index
25
25
  * ```ts
26
26
  * import { includesNeedle } from "@std/bytes/includes-needle";
27
- * import { assertEquals } from "@std/assert/assert-equals";
27
+ * import { assertEquals } from "@std/assert";
28
28
  *
29
29
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
30
30
  * const needle = new Uint8Array([1, 2]);
@@ -1 +1 @@
1
- {"version":3,"file":"includes_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/includes_needle.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,SAAI,GACR,OAAO,CAET"}
1
+ {"version":3,"file":"includes_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/includes_needle.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,SAAI,GACR,OAAO,CAET"}
@@ -17,7 +17,7 @@
17
17
  * @example Basic usage
18
18
  * ```ts
19
19
  * import { indexOfNeedle } from "@std/bytes/index-of-needle";
20
- * import { assertEquals } from "@std/assert/assert-equals";
20
+ * import { assertEquals } from "@std/assert";
21
21
  *
22
22
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
23
23
  * const needle = new Uint8Array([1, 2]);
@@ -30,7 +30,7 @@
30
30
  * @example Start index
31
31
  * ```ts
32
32
  * import { indexOfNeedle } from "@std/bytes/index-of-needle";
33
- * import { assertEquals } from "@std/assert/assert-equals";
33
+ * import { assertEquals } from "@std/assert";
34
34
  *
35
35
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
36
36
  * const needle = new Uint8Array([1, 2]);
@@ -1 +1 @@
1
- {"version":3,"file":"index_of_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/index_of_needle.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,SAAI,GACR,MAAM,CAqBR"}
1
+ {"version":3,"file":"index_of_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/index_of_needle.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,SAAI,GACR,MAAM,CAqBR"}
@@ -14,7 +14,7 @@
14
14
  * @example Basic usage
15
15
  * ```ts
16
16
  * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle";
17
- * import { assertEquals } from "@std/assert/assert-equals";
17
+ * import { assertEquals } from "@std/assert";
18
18
  *
19
19
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
20
20
  * const needle = new Uint8Array([1, 2]);
@@ -27,7 +27,7 @@
27
27
  * @example Start index
28
28
  * ```ts
29
29
  * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle";
30
- * import { assertEquals } from "@std/assert/assert-equals";
30
+ * import { assertEquals } from "@std/assert";
31
31
  *
32
32
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
33
33
  * const needle = new Uint8Array([1, 2]);
@@ -1 +1 @@
1
- {"version":3,"file":"last_index_of_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/last_index_of_needle.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,MAA0B,GAChC,MAAM,CAuBR"}
1
+ {"version":3,"file":"last_index_of_needle.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/last_index_of_needle.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,UAAU,EAClB,KAAK,GAAE,MAA0B,GAChC,MAAM,CAuBR"}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * ```ts
7
7
  * import { concat, indexOfNeedle, endsWith } from "@std/bytes";
8
- * import { assertEquals } from "@std/assert/assert-equals";
8
+ * import { assertEquals } from "@std/assert";
9
9
  *
10
10
  * const a = new Uint8Array([0, 1, 2]);
11
11
  * const b = new Uint8Array([3, 4, 5]);
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/mod.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * @example Basic usage
11
11
  * ```ts
12
12
  * import { repeat } from "@std/bytes/repeat";
13
- * import { assertEquals } from "@std/assert/assert-equals";
13
+ * import { assertEquals } from "@std/assert";
14
14
  *
15
15
  * const source = new Uint8Array([0, 1, 2]);
16
16
  *
@@ -20,7 +20,7 @@
20
20
  * @example Zero count
21
21
  * ```ts
22
22
  * import { repeat } from "@std/bytes/repeat";
23
- * import { assertEquals } from "@std/assert/assert-equals";
23
+ * import { assertEquals } from "@std/assert";
24
24
  *
25
25
  * const source = new Uint8Array([0, 1, 2]);
26
26
  *
@@ -1 +1 @@
1
- {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/repeat.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAapE"}
1
+ {"version":3,"file":"repeat.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/repeat.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU,CAapE"}
@@ -12,7 +12,7 @@
12
12
  * @example Basic usage
13
13
  * ```ts
14
14
  * import { startsWith } from "@std/bytes/starts-with";
15
- * import { assertEquals } from "@std/assert/assert-equals";
15
+ * import { assertEquals } from "@std/assert";
16
16
  *
17
17
  * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
18
18
  * const prefix = new Uint8Array([0, 1, 2]);
@@ -1 +1 @@
1
- {"version":3,"file":"starts_with.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.0/starts_with.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAS1E"}
1
+ {"version":3,"file":"starts_with.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/bytes/1.0.2/starts_with.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAS1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/build_message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ;AAClB;;;GAGG;AACH,UAAU,UAAQ,GACjB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CASvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASrD;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAsBV"}
1
+ {"version":3,"file":"build_message.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/build_message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,QAAQ;AAClB;;;GAGG;AACH,UAAU,UAAQ,GACjB,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CASvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CASrD;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC7C,OAAO,GAAE,mBAAwB,GAChC,MAAM,EAAE,CAsBV"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAanD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CASvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,EAAE,EACN,CAAC,EAAE,CAAC,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,KAAK,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAgCD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,aAAa,GACnB,aAAa,CAsBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAwEvD"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/diff.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAanD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,aAAa,CASvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,CAAC,EAAE,CAAC,EAAE,EACN,CAAC,EAAE,CAAC,EAAE,EACN,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,GACzB,KAAK,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,CAAC,CAAC;CACV,CAAC,CAgCD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,WAAW,EACnB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,aAAa,EACrB,IAAI,CAAC,EAAE,aAAa,GACnB,aAAa,CAsBf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAwEvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/diff_str.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW/C;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAC3B,UAAU,CAAC,MAAM,CAAC,EAAE,CAetB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAkDlE"}
1
+ {"version":3,"file":"diff_str.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/diff_str.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAW/C;AAID;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,EAAE,CAiBnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,GAC3B,UAAU,CAAC,MAAM,CAAC,EAAE,CAetB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAkDlE"}
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/format.ts"],"names":[],"mappings":"AAuBA,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAezC"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/format.ts"],"names":[],"mappings":"AAuBA,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAezC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/mod.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/mod.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/styles.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/styles.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.0/types.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,+BAA+B;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.1/types.ts"],"names":[],"mappings":"AAEA,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,4BAA4B;IAC5B,IAAI,EAAE,QAAQ,CAAC;IACf,6BAA6B;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,+BAA+B;IAC/B,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAO1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AAwDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CAyBzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAsBhB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CA2ChB"}
1
+ {"version":3,"file":"docloader.d.ts","sourceRoot":"","sources":["../../src/runtime/docloader.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQ1D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,kCAAkC,GAAG,CAC/C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,KACpD,cAAc,CAAC;AAEpB;;GAEG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACnC;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;;;;OAKG;gBACS,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAKhD;AAwDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,cAAc,CAAC,CA0BzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAA;CAAE,GACtD,cAAc,CAuBhB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,EAAE,EAAE,OAAO,CAAC;IAEZ;;;OAGG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;IAEf;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;CAC1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CACrB,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAC/C,cAAc,CA2ChB"}
@@ -0,0 +1,11 @@
1
+ export declare class UrlError extends Error {
2
+ constructor(message: string);
3
+ }
4
+ /**
5
+ * Validates a URL to prevent SSRF attacks.
6
+ */
7
+ export declare function validatePublicUrl(url: string): Promise<void>;
8
+ export declare function isValidPublicIPv4Address(address: string): boolean;
9
+ export declare function isValidPublicIPv6Address(address: string): boolean;
10
+ export declare function expandIPv6Address(address: string): string;
11
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/runtime/url.ts"],"names":[],"mappings":"AAIA,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BlE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CASjE;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,WASvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAWzD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.test.d.ts","sourceRoot":"","sources":["../../src/runtime/url.test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}