@fedify/fedify 1.8.1-pr.315.1091 → 1.8.1-pr.321.1140

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 (90) hide show
  1. package/dist/{actor-1rvS-py8.d.ts → actor-B4TBtqRP.d.ts} +2 -2
  2. package/dist/{actor-C_d9cZrz.js → actor-BGBXnkIK.js} +3 -3
  3. package/dist/{actor-DLZ25ttS.js → actor-DvozmKl4.js} +179 -179
  4. package/dist/{authdocloader-CLixqGPW.js → authdocloader-BSUuUBw6.js} +4 -4
  5. package/dist/{authdocloader-DUnUXs5R.js → authdocloader-ZfXp2whN.js} +4 -4
  6. package/dist/{builder-Js_TKEl1.js → builder-BUVFs1hR.js} +3 -3
  7. package/dist/{client-DK4qnXK0.d.ts → client-BQ4AQGKo.d.ts} +1 -1
  8. package/dist/{client-Cu9HMcIJ.js → client-Bv_nAKmB.js} +1 -1
  9. package/dist/compat/mod.d.ts +10 -10
  10. package/dist/compat/transformers.test.js +17 -17
  11. package/dist/{context-BhO5LP_t.d.ts → context-B6mUZhs_.d.ts} +8 -8
  12. package/dist/{context-CXi1nrZE.js → context-QNsHlQzk.js} +3 -3
  13. package/dist/{docloader-Bh-sDknx.js → docloader-09nVWLAZ.js} +1 -1
  14. package/dist/{docloader-DtGccyuM.d.ts → docloader-BeCtcTOJ.d.ts} +1 -10
  15. package/dist/{docloader-BindvZ7y.js → docloader-C6fjZUng.js} +25 -13
  16. package/dist/{docloader-CJ7eOrpZ.js → docloader-E86H4xuY.js} +25 -13
  17. package/dist/federation/builder.test.js +4 -4
  18. package/dist/federation/handler.test.js +20 -20
  19. package/dist/federation/inbox.test.js +3 -3
  20. package/dist/federation/keycache.test.js +3 -3
  21. package/dist/federation/middleware.test.js +19 -19
  22. package/dist/federation/mod.d.ts +9 -9
  23. package/dist/federation/mod.js +10 -10
  24. package/dist/federation/send.test.js +10 -10
  25. package/dist/{http-BigTqmE7.js → http-BV1Ceati.js} +5 -4
  26. package/dist/{http-Cp-0z2Ja.d.ts → http-D1uoUH4N.d.ts} +2 -2
  27. package/dist/{http-DIyD7he1.js → http-a-ZkbGkr.js} +5 -4
  28. package/dist/{inbox-BB6ajp8P.js → inbox-CCcYMnSN.js} +2 -2
  29. package/dist/{key-DG7lKWv0.js → key-B3-HKOx_.js} +5 -5
  30. package/dist/{key-D9LuuzMv.js → key-C4vjHXRM.js} +3 -3
  31. package/dist/{key-BfI9Ju0m.js → key-CBGRW6XR.js} +2 -2
  32. package/dist/{key-DlkWX5Fp.js → key-JisYlkNl.js} +4 -4
  33. package/dist/{keycache-C4C7f09E.js → keycache-CkSiKygB.js} +1 -1
  34. package/dist/{keys-BjET3ZIs.js → keys-W99ZQ8cm.js} +1 -1
  35. package/dist/{ld-CYqXYuyr.js → ld-HqhaJxbC.js} +3 -3
  36. package/dist/{lookup-CEbB0_t_.js → lookup-BzUll2UT.js} +2 -3
  37. package/dist/{lookup-BYiP0j0F.js → lookup-DU5EnFly.js} +6 -7
  38. package/dist/{lookup-m3U6KA0u.d.ts → lookup-J_m4YZg0.d.ts} +1 -7
  39. package/dist/{lookup-_XgQq_BY.js → lookup-MPd7LeCg.js} +2 -3
  40. package/dist/{middleware-e74I4DJ9.js → middleware-B96egURv.js} +10 -10
  41. package/dist/middleware-C4QA0bGM.js +33 -0
  42. package/dist/{middleware-VSdfWI3m.js → middleware-CliKUEbU.js} +15 -15
  43. package/dist/middleware-DPbfzKLI.js +17 -0
  44. package/dist/{mod-c1I-Ydch.d.ts → mod-0L5jhGYM.d.ts} +2 -2
  45. package/dist/{mod-yPzXIjJX.d.ts → mod-BCl7t-Ka.d.ts} +3 -3
  46. package/dist/{mod-BqCBztub.d.ts → mod-BFwgZ7_K.d.ts} +2 -7
  47. package/dist/{mod-nlVEnYuj.d.ts → mod-D9qE4iHP.d.ts} +2 -2
  48. package/dist/mod.d.ts +12 -12
  49. package/dist/mod.js +10 -10
  50. package/dist/nodeinfo/client.test.js +2 -2
  51. package/dist/nodeinfo/handler.test.js +19 -19
  52. package/dist/nodeinfo/mod.d.ts +2 -2
  53. package/dist/nodeinfo/mod.js +2 -2
  54. package/dist/{owner-BK4eWKBp.d.ts → owner-CEv_PfyK.d.ts} +3 -3
  55. package/dist/{owner-D7RvVquY.js → owner-D4KSI2qD.js} +3 -3
  56. package/dist/{proof-D4z1cLgw.js → proof-CeQ0DObl.js} +3 -3
  57. package/dist/{proof-ChRSmA_D.js → proof-DqQjQMff.js} +3 -3
  58. package/dist/runtime/authdocloader.test.js +9 -9
  59. package/dist/runtime/docloader.test.js +2 -2
  60. package/dist/runtime/key.test.js +5 -5
  61. package/dist/runtime/mod.d.ts +4 -4
  62. package/dist/runtime/mod.js +6 -6
  63. package/dist/{send-DmlRAY0X.js → send-QSEZWdds.js} +2 -2
  64. package/dist/sig/http.test.js +31 -8
  65. package/dist/sig/key.test.js +7 -7
  66. package/dist/sig/ld.test.js +8 -8
  67. package/dist/sig/mod.d.ts +6 -6
  68. package/dist/sig/mod.js +6 -6
  69. package/dist/sig/owner.test.js +9 -9
  70. package/dist/sig/proof.test.js +8 -8
  71. package/dist/testing/docloader.test.js +1 -1
  72. package/dist/{types-DuZ6KMHu.js → types-ClKgRIV0.js} +1 -1
  73. package/dist/vocab/actor.test.js +4 -4
  74. package/dist/vocab/lookup.test.js +7 -99
  75. package/dist/vocab/mod.d.ts +4 -4
  76. package/dist/vocab/mod.js +4 -4
  77. package/dist/vocab/type.test.js +2 -2
  78. package/dist/vocab/vocab.test.js +4 -4
  79. package/dist/{vocab-CI5oydJj.js → vocab-B3RuWUig.js} +6 -7
  80. package/dist/{vocab-B52eQhpN.d.ts → vocab-By6mpzr-.d.ts} +1 -1
  81. package/dist/{vocab-dw0HG0EQ.js → vocab-D8tzhQ1c.js} +178 -178
  82. package/dist/webfinger/handler.test.js +19 -19
  83. package/dist/webfinger/lookup.test.js +2 -56
  84. package/dist/webfinger/mod.d.ts +2 -2
  85. package/dist/webfinger/mod.js +2 -2
  86. package/dist/x/hono.d.ts +9 -9
  87. package/dist/x/sveltekit.d.ts +9 -9
  88. package/package.json +1 -1
  89. package/dist/middleware-Dd2mc8-e.js +0 -33
  90. package/dist/middleware-DjA978L0.js +0 -17
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-BindvZ7y.js";
6
- import { validateCryptoKey } from "./key-BfI9Ju0m.js";
7
- import { doubleKnock } from "./http-DIyD7he1.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-C6fjZUng.js";
6
+ import { validateCryptoKey } from "./key-CBGRW6XR.js";
7
+ import { doubleKnock } from "./http-a-ZkbGkr.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region runtime/authdocloader.ts
@@ -26,7 +26,7 @@ const logger = getLogger([
26
26
  */
27
27
  function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, userAgent, specDeterminer, tracerProvider } = {}) {
28
28
  validateCryptoKey(identity.privateKey);
29
- async function load(url, _options) {
29
+ async function load(url) {
30
30
  if (!allowPrivateAddress) try {
31
31
  await validatePublicUrl(url);
32
32
  } catch (error) {
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { createRequest, getRemoteDocument, logRequest } from "./docloader-CJ7eOrpZ.js";
6
+ import { createRequest, getRemoteDocument, logRequest } from "./docloader-E86H4xuY.js";
7
7
  import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
- import { validateCryptoKey } from "./key-D9LuuzMv.js";
9
- import { doubleKnock } from "./http-BigTqmE7.js";
8
+ import { validateCryptoKey } from "./key-C4vjHXRM.js";
9
+ import { doubleKnock } from "./http-BV1Ceati.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
 
12
12
  //#region runtime/authdocloader.ts
@@ -28,7 +28,7 @@ const logger = getLogger([
28
28
  */
29
29
  function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, userAgent, specDeterminer, tracerProvider } = {}) {
30
30
  validateCryptoKey(identity.privateKey);
31
- async function load(url, _options) {
31
+ async function load(url) {
32
32
  if (!allowPrivateAddress) try {
33
33
  await validatePublicUrl(url);
34
34
  } catch (error) {
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-CJ7eOrpZ.js";
6
+ import { deno_default } from "./docloader-E86H4xuY.js";
7
7
  import { Router, RouterError } from "./router-D3UybECj.js";
8
8
  import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { InboxListenerSet } from "./inbox-BB6ajp8P.js";
9
+ import { InboxListenerSet } from "./inbox-CCcYMnSN.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
12
12
 
@@ -34,7 +34,7 @@ var FederationBuilderImpl = class {
34
34
  this.objectTypeIds = {};
35
35
  }
36
36
  async build(options) {
37
- const { FederationImpl } = await import("./middleware-Dd2mc8-e.js");
37
+ const { FederationImpl } = await import("./middleware-C4QA0bGM.js");
38
38
  const f = new FederationImpl(options);
39
39
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
40
40
  f.router = this.router.clone();
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { GetUserAgentOptions } from "./docloader-DtGccyuM.js";
3
+ import { GetUserAgentOptions } from "./docloader-BeCtcTOJ.js";
4
4
 
5
5
  //#region nodeinfo/semver.d.ts
6
6
  /**
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./docloader-CJ7eOrpZ.js";
6
+ import { getUserAgent } from "./docloader-E86H4xuY.js";
7
7
  import { parseSemVer } from "./semver-DWClQt_5.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
@@ -1,15 +1,15 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import "../kv-DDdb1hMa.js";
4
- import "../docloader-DtGccyuM.js";
5
- import "../client-DK4qnXK0.js";
6
- import "../vocab-B52eQhpN.js";
7
- import "../actor-1rvS-py8.js";
8
- import "../http-Cp-0z2Ja.js";
9
- import "../owner-BK4eWKBp.js";
10
- import "../mod-BqCBztub.js";
11
- import "../lookup-m3U6KA0u.js";
12
- import { ActivityTransformer } from "../context-BhO5LP_t.js";
4
+ import "../docloader-BeCtcTOJ.js";
5
+ import "../client-BQ4AQGKo.js";
6
+ import "../vocab-By6mpzr-.js";
7
+ import "../actor-B4TBtqRP.js";
8
+ import "../http-D1uoUH4N.js";
9
+ import "../owner-CEv_PfyK.js";
10
+ import "../mod-BFwgZ7_K.js";
11
+ import "../lookup-J_m4YZg0.js";
12
+ import { ActivityTransformer } from "../context-B6mUZhs_.js";
13
13
  import "../mq-DYKDDJmp.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-nlVEnYuj.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-D9qE4iHP.js";
15
15
  export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -7,32 +7,32 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-VSdfWI3m.js";
11
- import "../docloader-CJ7eOrpZ.js";
10
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-CliKUEbU.js";
11
+ import "../docloader-E86H4xuY.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Cu9HMcIJ.js";
14
+ import "../client-Bv_nAKmB.js";
15
15
  import "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Follow, Person } from "../vocab-dw0HG0EQ.js";
18
+ import { Follow, Person } from "../vocab-D8tzhQ1c.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-CEbB0_t_.js";
20
+ import "../lookup-BzUll2UT.js";
21
21
  import "../type-D2s5lmbZ.js";
22
- import "../actor-C_d9cZrz.js";
23
- import "../key-D9LuuzMv.js";
24
- import "../http-BigTqmE7.js";
25
- import "../authdocloader-DUnUXs5R.js";
26
- import "../ld-CYqXYuyr.js";
27
- import "../owner-D7RvVquY.js";
28
- import "../proof-D4z1cLgw.js";
29
- import "../lookup-BYiP0j0F.js";
30
- import "../inbox-BB6ajp8P.js";
31
- import "../builder-Js_TKEl1.js";
22
+ import "../actor-BGBXnkIK.js";
23
+ import "../key-C4vjHXRM.js";
24
+ import "../http-BV1Ceati.js";
25
+ import "../authdocloader-ZfXp2whN.js";
26
+ import "../ld-HqhaJxbC.js";
27
+ import "../owner-D4KSI2qD.js";
28
+ import "../proof-CeQ0DObl.js";
29
+ import "../lookup-DU5EnFly.js";
30
+ import "../inbox-CCcYMnSN.js";
31
+ import "../builder-BUVFs1hR.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-C4C7f09E.js";
33
+ import "../keycache-CkSiKygB.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-DmlRAY0X.js";
35
+ import "../send-QSEZWdds.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
 
38
38
  //#region compat/transformers.test.ts
@@ -1,14 +1,14 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { KvKey, KvStore } from "./kv-DDdb1hMa.js";
4
- import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, GetUserAgentOptions } from "./docloader-DtGccyuM.js";
5
- import { GetNodeInfoOptions, JsonValue, NodeInfo } from "./client-DK4qnXK0.js";
6
- import { Activity, Collection, CryptographicKey, Hashtag, Link, Multikey, Object as Object$1 } from "./vocab-B52eQhpN.js";
7
- import { Actor, Recipient } from "./actor-1rvS-py8.js";
8
- import { HttpMessageSignaturesSpec } from "./http-Cp-0z2Ja.js";
9
- import { GetKeyOwnerOptions } from "./owner-BK4eWKBp.js";
10
- import { LookupObjectOptions, TraverseCollectionOptions } from "./mod-BqCBztub.js";
11
- import { LookupWebFingerOptions, ResourceDescriptor } from "./lookup-m3U6KA0u.js";
4
+ import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, GetUserAgentOptions } from "./docloader-BeCtcTOJ.js";
5
+ import { GetNodeInfoOptions, JsonValue, NodeInfo } from "./client-BQ4AQGKo.js";
6
+ import { Activity, Collection, CryptographicKey, Hashtag, Link, Multikey, Object as Object$1 } from "./vocab-By6mpzr-.js";
7
+ import { Actor, Recipient } from "./actor-B4TBtqRP.js";
8
+ import { HttpMessageSignaturesSpec } from "./http-D1uoUH4N.js";
9
+ import { GetKeyOwnerOptions } from "./owner-CEv_PfyK.js";
10
+ import { LookupObjectOptions, TraverseCollectionOptions } from "./mod-BFwgZ7_K.js";
11
+ import { LookupWebFingerOptions, ResourceDescriptor } from "./lookup-J_m4YZg0.js";
12
12
  import { MessageQueue } from "./mq-DYKDDJmp.js";
13
13
  import { Span, TracerProvider } from "@opentelemetry/api";
14
14
 
@@ -4,9 +4,9 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { RouterError } from "./router-D3UybECj.js";
7
- import { lookupWebFinger } from "./lookup-CEbB0_t_.js";
8
- import { lookupObject, traverseCollection } from "./lookup-BYiP0j0F.js";
9
- import { mockDocumentLoader } from "./docloader-Bh-sDknx.js";
7
+ import { lookupWebFinger } from "./lookup-BzUll2UT.js";
8
+ import { lookupObject, traverseCollection } from "./lookup-DU5EnFly.js";
9
+ import { mockDocumentLoader } from "./docloader-09nVWLAZ.js";
10
10
  import { trace } from "@opentelemetry/api";
11
11
 
12
12
  //#region testing/context.ts
@@ -19,7 +19,7 @@ const logger = getLogger([
19
19
  * the file `testing/fixtures/http/example.com/foo/bar` (no suffix) and return
20
20
  * its content as the response.
21
21
  */
22
- async function mockDocumentLoader(resource, _options) {
22
+ async function mockDocumentLoader(resource) {
23
23
  const url = new URL(resource);
24
24
  if ("navigator" in globalThis && navigator.userAgent === "Cloudflare-Workers") {
25
25
  const testUrl = new URL(url);
@@ -21,20 +21,12 @@ interface RemoteDocument {
21
21
  */
22
22
  documentUrl: string;
23
23
  }
24
- /**
25
- * Options for {@link DocumentLoader}.
26
- * @since 1.8.0
27
- */
28
- interface DocumentLoaderOptions {
29
- signal?: AbortSignal;
30
- }
31
24
  /**
32
25
  * A JSON-LD document loader that fetches documents from the Web.
33
26
  * @param url The URL of the document to load.
34
- * @param options The options for the document loader.
35
27
  * @returns The loaded remote document.
36
28
  */
37
- type DocumentLoader = (url: string, options?: DocumentLoaderOptions) => Promise<RemoteDocument>;
29
+ type DocumentLoader = (url: string) => Promise<RemoteDocument>;
38
30
  /**
39
31
  * A factory function that creates a {@link DocumentLoader} with options.
40
32
  * @param options The options for the document loader.
@@ -148,7 +140,6 @@ declare function getDocumentLoader({
148
140
  * @deprecated Use {@link getDocumentLoader} instead.
149
141
  */
150
142
  declare function fetchDocumentLoader(url: string, allowPrivateAddress?: boolean): Promise<RemoteDocument>;
151
- declare function fetchDocumentLoader(url: string, options?: DocumentLoaderOptions): Promise<RemoteDocument>;
152
143
  /**
153
144
  * The parameters for {@link kvCache} function.
154
145
  */
@@ -10,7 +10,7 @@ import { isIP } from "node:net";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.8.1-pr.315.1091+6219e632";
13
+ var version = "1.8.1-pr.321.1140+7c966312";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -4464,8 +4464,7 @@ async function getRemoteDocument(url, response, fetch$1) {
4464
4464
  * @since 1.3.0
4465
4465
  */
4466
4466
  function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAgent } = {}) {
4467
- async function load(url, _options) {
4468
- if (_options?.signal?.aborted) throw new DOMException("Aborted", "AbortError");
4467
+ async function load(url) {
4469
4468
  if (!skipPreloadedContexts && url in contexts_default) {
4470
4469
  logger.debug("Using preloaded context: {url}.", { url });
4471
4470
  return {
@@ -4485,22 +4484,35 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4485
4484
  }
4486
4485
  const request = createRequest(url, { userAgent });
4487
4486
  logRequest(request);
4488
- const response = await fetch(request, {
4489
- redirect: "manual",
4490
- signal: _options?.signal
4491
- });
4492
- if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) return load(response.headers.get("Location"), _options);
4487
+ const response = await fetch(request, { redirect: "manual" });
4488
+ if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) return load(response.headers.get("Location"));
4493
4489
  return getRemoteDocument(url, response, load);
4494
4490
  }
4495
4491
  return load;
4496
4492
  }
4497
4493
  const _fetchDocumentLoader = getDocumentLoader();
4498
4494
  const _fetchDocumentLoader_allowPrivateAddress = getDocumentLoader({ allowPrivateAddress: true });
4499
- function fetchDocumentLoader(url, arg = false) {
4500
- const allowPrivateAddress = typeof arg === "boolean" ? arg : false;
4495
+ /**
4496
+ * A JSON-LD document loader that utilizes the browser's `fetch` API.
4497
+ *
4498
+ * This loader preloads the below frequently used contexts:
4499
+ *
4500
+ * - <https://www.w3.org/ns/activitystreams>
4501
+ * - <https://w3id.org/security/v1>
4502
+ * - <https://w3id.org/security/data-integrity/v1>
4503
+ * - <https://www.w3.org/ns/did/v1>
4504
+ * - <https://w3id.org/security/multikey/v1>
4505
+ * - <https://purl.archive.org/socialweb/webfinger>
4506
+ * - <http://schema.org/>
4507
+ * @param url The URL of the document to load.
4508
+ * @param allowPrivateAddress Whether to allow fetching private network
4509
+ * addresses. Turned off by default.
4510
+ * @returns The remote document.
4511
+ * @deprecated Use {@link getDocumentLoader} instead.
4512
+ */
4513
+ function fetchDocumentLoader(url, allowPrivateAddress = false) {
4501
4514
  logger.warn("fetchDocumentLoader() function is deprecated. Use getDocumentLoader() function instead.");
4502
- const loader = allowPrivateAddress ? _fetchDocumentLoader_allowPrivateAddress : _fetchDocumentLoader;
4503
- return loader(url);
4515
+ return (allowPrivateAddress ? _fetchDocumentLoader_allowPrivateAddress : _fetchDocumentLoader)(url);
4504
4516
  }
4505
4517
  /**
4506
4518
  * Decorates a {@link DocumentLoader} with a cache backed by a {@link Deno.Kv}.
@@ -4525,7 +4537,7 @@ function kvCache({ loader, kv, prefix, rules }) {
4525
4537
  }
4526
4538
  return null;
4527
4539
  }
4528
- return async (url, _options) => {
4540
+ return async (url) => {
4529
4541
  const match = matchRule(url);
4530
4542
  if (match == null) return await loader(url);
4531
4543
  const key = [...keyPrefix, url];
@@ -10,7 +10,7 @@ import process from "node:process";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.8.1-pr.315.1091+6219e632";
13
+ var version = "1.8.1-pr.321.1140+7c966312";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -4405,8 +4405,7 @@ async function getRemoteDocument(url, response, fetch$1) {
4405
4405
  * @since 1.3.0
4406
4406
  */
4407
4407
  function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAgent } = {}) {
4408
- async function load(url, _options) {
4409
- if (_options?.signal?.aborted) throw new DOMException("Aborted", "AbortError");
4408
+ async function load(url) {
4410
4409
  if (!skipPreloadedContexts && url in contexts_default) {
4411
4410
  logger.debug("Using preloaded context: {url}.", { url });
4412
4411
  return {
@@ -4426,22 +4425,35 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4426
4425
  }
4427
4426
  const request = createRequest(url, { userAgent });
4428
4427
  logRequest(request);
4429
- const response = await fetch(request, {
4430
- redirect: "manual",
4431
- signal: _options?.signal
4432
- });
4433
- if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) return load(response.headers.get("Location"), _options);
4428
+ const response = await fetch(request, { redirect: "manual" });
4429
+ if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) return load(response.headers.get("Location"));
4434
4430
  return getRemoteDocument(url, response, load);
4435
4431
  }
4436
4432
  return load;
4437
4433
  }
4438
4434
  const _fetchDocumentLoader = getDocumentLoader();
4439
4435
  const _fetchDocumentLoader_allowPrivateAddress = getDocumentLoader({ allowPrivateAddress: true });
4440
- function fetchDocumentLoader(url, arg = false) {
4441
- const allowPrivateAddress = typeof arg === "boolean" ? arg : false;
4436
+ /**
4437
+ * A JSON-LD document loader that utilizes the browser's `fetch` API.
4438
+ *
4439
+ * This loader preloads the below frequently used contexts:
4440
+ *
4441
+ * - <https://www.w3.org/ns/activitystreams>
4442
+ * - <https://w3id.org/security/v1>
4443
+ * - <https://w3id.org/security/data-integrity/v1>
4444
+ * - <https://www.w3.org/ns/did/v1>
4445
+ * - <https://w3id.org/security/multikey/v1>
4446
+ * - <https://purl.archive.org/socialweb/webfinger>
4447
+ * - <http://schema.org/>
4448
+ * @param url The URL of the document to load.
4449
+ * @param allowPrivateAddress Whether to allow fetching private network
4450
+ * addresses. Turned off by default.
4451
+ * @returns The remote document.
4452
+ * @deprecated Use {@link getDocumentLoader} instead.
4453
+ */
4454
+ function fetchDocumentLoader(url, allowPrivateAddress = false) {
4442
4455
  logger.warn("fetchDocumentLoader() function is deprecated. Use getDocumentLoader() function instead.");
4443
- const loader = allowPrivateAddress ? _fetchDocumentLoader_allowPrivateAddress : _fetchDocumentLoader;
4444
- return loader(url);
4456
+ return (allowPrivateAddress ? _fetchDocumentLoader_allowPrivateAddress : _fetchDocumentLoader)(url);
4445
4457
  }
4446
4458
  /**
4447
4459
  * Decorates a {@link DocumentLoader} with a cache backed by a {@link Deno.Kv}.
@@ -4466,7 +4478,7 @@ function kvCache({ loader, kv, prefix, rules }) {
4466
4478
  }
4467
4479
  return null;
4468
4480
  }
4469
- return async (url, _options) => {
4481
+ return async (url) => {
4470
4482
  const match = matchRule(url);
4471
4483
  if (match == null) return await loader(url);
4472
4484
  const key = [...keyPrefix, url];
@@ -7,16 +7,16 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import "../docloader-CJ7eOrpZ.js";
10
+ import "../docloader-E86H4xuY.js";
11
11
  import "../url-kTAI6_KP.js";
12
12
  import { parseSemVer } from "../semver-DWClQt_5.js";
13
13
  import "../router-D3UybECj.js";
14
14
  import "../multibase-DeCHcK8L.js";
15
- import { Activity, Note, Person } from "../vocab-dw0HG0EQ.js";
15
+ import { Activity, Note, Person } from "../vocab-D8tzhQ1c.js";
16
16
  import "../langstr-DbWheeIS.js";
17
17
  import "../type-D2s5lmbZ.js";
18
- import "../inbox-BB6ajp8P.js";
19
- import { createFederationBuilder } from "../builder-Js_TKEl1.js";
18
+ import "../inbox-CCcYMnSN.js";
19
+ import { createFederationBuilder } from "../builder-BUVFs1hR.js";
20
20
  import { test } from "../testing-BZ0dJ4qn.js";
21
21
  import { assertExists } from "../std__assert-B3iAixc-.js";
22
22
  import "../assert_rejects-DceVjUlD.js";
@@ -7,41 +7,41 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-VSdfWI3m.js";
11
- import "../docloader-CJ7eOrpZ.js";
10
+ import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-CliKUEbU.js";
11
+ import "../docloader-E86H4xuY.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Cu9HMcIJ.js";
14
+ import "../client-Bv_nAKmB.js";
15
15
  import "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Create, Note, Person } from "../vocab-dw0HG0EQ.js";
18
+ import { Create, Note, Person } from "../vocab-D8tzhQ1c.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-CEbB0_t_.js";
20
+ import "../lookup-BzUll2UT.js";
21
21
  import "../type-D2s5lmbZ.js";
22
- import "../actor-C_d9cZrz.js";
23
- import "../key-D9LuuzMv.js";
24
- import { signRequest } from "../http-BigTqmE7.js";
25
- import "../authdocloader-DUnUXs5R.js";
26
- import "../ld-CYqXYuyr.js";
27
- import "../owner-D7RvVquY.js";
28
- import "../proof-D4z1cLgw.js";
29
- import "../lookup-BYiP0j0F.js";
30
- import "../inbox-BB6ajp8P.js";
31
- import "../builder-Js_TKEl1.js";
22
+ import "../actor-BGBXnkIK.js";
23
+ import "../key-C4vjHXRM.js";
24
+ import { signRequest } from "../http-BV1Ceati.js";
25
+ import "../authdocloader-ZfXp2whN.js";
26
+ import "../ld-HqhaJxbC.js";
27
+ import "../owner-D4KSI2qD.js";
28
+ import "../proof-CeQ0DObl.js";
29
+ import "../lookup-DU5EnFly.js";
30
+ import "../inbox-CCcYMnSN.js";
31
+ import "../builder-BUVFs1hR.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-C4C7f09E.js";
33
+ import "../keycache-CkSiKygB.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-DmlRAY0X.js";
35
+ import "../send-QSEZWdds.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
  import "../std__assert-B3iAixc-.js";
38
38
  import { assertFalse } from "../assert_rejects-DceVjUlD.js";
39
39
  import "../assert_is_error-DQdKoRgb.js";
40
40
  import "../assert_not_equals-7pyUM3Ib.js";
41
41
  import "../assert_throws-DTDC_gwN.js";
42
- import { mockDocumentLoader } from "../docloader-Bh-sDknx.js";
43
- import { createInboxContext, createRequestContext } from "../context-CXi1nrZE.js";
44
- import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-BjET3ZIs.js";
42
+ import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
43
+ import { createInboxContext, createRequestContext } from "../context-QNsHlQzk.js";
44
+ import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-W99ZQ8cm.js";
45
45
 
46
46
  //#region federation/handler.test.ts
47
47
  test("acceptsJsonLd()", () => {
@@ -4,13 +4,13 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
- import "../docloader-CJ7eOrpZ.js";
7
+ import "../docloader-E86H4xuY.js";
8
8
  import "../url-kTAI6_KP.js";
9
9
  import "../multibase-DeCHcK8L.js";
10
- import { Activity, Create, Invite, Offer, Update } from "../vocab-dw0HG0EQ.js";
10
+ import { Activity, Create, Invite, Offer, Update } from "../vocab-D8tzhQ1c.js";
11
11
  import "../langstr-DbWheeIS.js";
12
12
  import "../type-D2s5lmbZ.js";
13
- import { InboxListenerSet } from "../inbox-BB6ajp8P.js";
13
+ import { InboxListenerSet } from "../inbox-CCcYMnSN.js";
14
14
  import { test } from "../testing-BZ0dJ4qn.js";
15
15
  import "../assert_is_error-DQdKoRgb.js";
16
16
  import { assertThrows } from "../assert_throws-DTDC_gwN.js";
@@ -7,12 +7,12 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import "../docloader-CJ7eOrpZ.js";
10
+ import "../docloader-E86H4xuY.js";
11
11
  import "../url-kTAI6_KP.js";
12
12
  import "../multibase-DeCHcK8L.js";
13
- import { CryptographicKey, Multikey } from "../vocab-dw0HG0EQ.js";
13
+ import { CryptographicKey, Multikey } from "../vocab-D8tzhQ1c.js";
14
14
  import "../langstr-DbWheeIS.js";
15
- import { KvKeyCache } from "../keycache-C4C7f09E.js";
15
+ import { KvKeyCache } from "../keycache-CkSiKygB.js";
16
16
  import { test } from "../testing-BZ0dJ4qn.js";
17
17
 
18
18
  //#region federation/keycache.test.ts
@@ -7,40 +7,40 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import { assert } from "../assert-DwEa6glZ.js";
8
8
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-VSdfWI3m.js";
11
- import { FetchError, fetchDocumentLoader } from "../docloader-CJ7eOrpZ.js";
10
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-CliKUEbU.js";
11
+ import { FetchError, fetchDocumentLoader } from "../docloader-E86H4xuY.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import "../semver-DWClQt_5.js";
14
- import "../client-Cu9HMcIJ.js";
14
+ import "../client-Bv_nAKmB.js";
15
15
  import { RouterError } from "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person } from "../vocab-dw0HG0EQ.js";
18
+ import { Activity, Announce, Create, Invite, Multikey, Note, Object as Object$1, Offer, Person } from "../vocab-D8tzhQ1c.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-CEbB0_t_.js";
20
+ import "../lookup-BzUll2UT.js";
21
21
  import { getTypeId } from "../type-D2s5lmbZ.js";
22
- import "../actor-C_d9cZrz.js";
23
- import "../key-D9LuuzMv.js";
24
- import { signRequest, verifyRequest } from "../http-BigTqmE7.js";
25
- import { getAuthenticatedDocumentLoader } from "../authdocloader-DUnUXs5R.js";
26
- import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-CYqXYuyr.js";
27
- import { doesActorOwnKey } from "../owner-D7RvVquY.js";
28
- import { signObject, verifyObject } from "../proof-D4z1cLgw.js";
29
- import { lookupObject } from "../lookup-BYiP0j0F.js";
30
- import "../inbox-BB6ajp8P.js";
31
- import "../builder-Js_TKEl1.js";
22
+ import "../actor-BGBXnkIK.js";
23
+ import "../key-C4vjHXRM.js";
24
+ import { signRequest, verifyRequest } from "../http-BV1Ceati.js";
25
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-ZfXp2whN.js";
26
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-HqhaJxbC.js";
27
+ import { doesActorOwnKey } from "../owner-D4KSI2qD.js";
28
+ import { signObject, verifyObject } from "../proof-CeQ0DObl.js";
29
+ import { lookupObject } from "../lookup-DU5EnFly.js";
30
+ import "../inbox-CCcYMnSN.js";
31
+ import "../builder-BUVFs1hR.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-C4C7f09E.js";
33
+ import "../keycache-CkSiKygB.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-DmlRAY0X.js";
35
+ import "../send-QSEZWdds.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
  import { assertStrictEquals } from "../std__assert-B3iAixc-.js";
38
38
  import { assertFalse, assertRejects } from "../assert_rejects-DceVjUlD.js";
39
39
  import "../assert_is_error-DQdKoRgb.js";
40
40
  import { assertNotEquals } from "../assert_not_equals-7pyUM3Ib.js";
41
41
  import { assertThrows } from "../assert_throws-DTDC_gwN.js";
42
- import { mockDocumentLoader } from "../docloader-Bh-sDknx.js";
43
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-BjET3ZIs.js";
42
+ import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
43
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-W99ZQ8cm.js";
44
44
  import { esm_default } from "../esm-d-9EVGaP.js";
45
45
 
46
46
  //#region testing/fixtures/example.com/person.json
@@ -1,15 +1,15 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore } from "../kv-DDdb1hMa.js";
4
- import "../docloader-DtGccyuM.js";
5
- import "../client-DK4qnXK0.js";
6
- import "../vocab-B52eQhpN.js";
7
- import "../actor-1rvS-py8.js";
8
- import "../http-Cp-0z2Ja.js";
9
- import "../owner-BK4eWKBp.js";
10
- import "../mod-BqCBztub.js";
11
- import "../lookup-m3U6KA0u.js";
12
- import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-BhO5LP_t.js";
4
+ import "../docloader-BeCtcTOJ.js";
5
+ import "../client-BQ4AQGKo.js";
6
+ import "../vocab-By6mpzr-.js";
7
+ import "../actor-B4TBtqRP.js";
8
+ import "../http-D1uoUH4N.js";
9
+ import "../owner-CEv_PfyK.js";
10
+ import "../mod-BFwgZ7_K.js";
11
+ import "../lookup-J_m4YZg0.js";
12
+ import { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../context-B6mUZhs_.js";
13
13
  import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "../mq-DYKDDJmp.js";
14
14
  import "../mod-g0xFzAP9.js";
15
15
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreSetOptions, MemoryKvStore, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };