@fedify/fedify 1.10.4 → 1.10.5

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 (102) hide show
  1. package/dist/{actor-BOBYD2WU.js → actor-CQdxP8N-.js} +187 -187
  2. package/dist/{actor-Snz2FxRV.js → actor-Ch9BTg3N.js} +1 -1
  3. package/dist/{actor-Bj7QfjMG.cjs → actor-CjkHF7Cj.cjs} +187 -187
  4. package/dist/{authdocloader-DYsGSwww.js → authdocloader-COFZT9Wh.js} +3 -3
  5. package/dist/{authdocloader-DAkeYWim.js → authdocloader-fR-Fqcpa.js} +3 -3
  6. package/dist/{authdocloader-dttG5T5s.cjs → authdocloader-zc5ibOmU.cjs} +3 -3
  7. package/dist/{builder-DLRO0a1o.js → builder-YD0q32nG.js} +4 -4
  8. package/dist/{client-B6e8VkGv.js → client-BgCucCG7.js} +1 -1
  9. package/dist/compat/transformers.test.js +16 -16
  10. package/dist/{docloader-BH4pzZZC.js → docloader-BETPdM09.js} +30 -13
  11. package/dist/{docloader-C54TKiQx.cjs → docloader-irBWMSOZ.cjs} +30 -13
  12. package/dist/{esm-CbGx2KcW.js → esm-iGH0sRsE.js} +1 -1
  13. package/dist/federation/builder.test.js +5 -5
  14. package/dist/federation/collection.test.js +3 -3
  15. package/dist/federation/handler.test.js +17 -17
  16. package/dist/federation/idempotency.test.js +17 -17
  17. package/dist/federation/inbox.test.js +4 -4
  18. package/dist/federation/keycache.test.js +8 -4
  19. package/dist/federation/kv.test.js +3 -3
  20. package/dist/federation/middleware.test.js +18 -18
  21. package/dist/federation/mod.cjs +10 -10
  22. package/dist/federation/mod.js +10 -10
  23. package/dist/federation/mq.test.js +3 -3
  24. package/dist/federation/retry.test.js +3 -3
  25. package/dist/federation/router.test.js +3 -3
  26. package/dist/federation/send.test.js +10 -10
  27. package/dist/{http-DmxJlZvy.cjs → http-CQAqR_vx.cjs} +18 -7
  28. package/dist/{http-n5BTcxeh.js → http-CxiIW4rD.js} +17 -6
  29. package/dist/{http-DbXPDTX4.js → http-PgdBoDIj.js} +18 -7
  30. package/dist/{inbox-CQcSx4I9.js → inbox-DcDIqTbR.js} +1 -1
  31. package/dist/{key-BLNbwA_2.js → key-Bnod5wJl.js} +4 -4
  32. package/dist/{key-CPqemOR2.js → key-C6swTX71.js} +3 -3
  33. package/dist/{key-Bidhpg7V.js → key-Cg0kO4dA.js} +2 -2
  34. package/dist/{key-DY-1H5d9.js → key-I-ibyaZH.js} +2 -2
  35. package/dist/key-_Uq8gkmM.cjs +10 -0
  36. package/dist/{key-CdyBP8cw.cjs → key-dNFkodH5.cjs} +2 -2
  37. package/dist/{keycache-DtptNYtI.js → keycache-hSs_XFSb.js} +11 -2
  38. package/dist/{keys-kLtROwLY.js → keys-CElJez9H.js} +1 -1
  39. package/dist/{ld-8dX3VuDg.js → ld-b16r91YS.js} +2 -2
  40. package/dist/{lookup-DpuJzIOl.cjs → lookup-Bfq9Jpm0.cjs} +1 -1
  41. package/dist/{lookup-CBeEjsrU.js → lookup-CiSAeWJl.js} +1 -1
  42. package/dist/{lookup-DqqwtRxy.js → lookup-CySNcNcC.js} +1 -1
  43. package/dist/middleware-BWsOtDIF.cjs +17 -0
  44. package/dist/middleware-Bm4bJzjg.js +26 -0
  45. package/dist/{middleware-ZywRHmGd.js → middleware-Bs4xDuXR.js} +20 -11
  46. package/dist/middleware-BvODpE_U.js +17 -0
  47. package/dist/{middleware-Cnkc9TKm.js → middleware-C5emnCh-.js} +13 -13
  48. package/dist/{middleware-fQqVkTI_.cjs → middleware-Dxo56yae.cjs} +20 -11
  49. package/dist/mod.cjs +10 -10
  50. package/dist/mod.js +10 -10
  51. package/dist/nodeinfo/client.test.js +5 -5
  52. package/dist/nodeinfo/handler.test.js +16 -16
  53. package/dist/nodeinfo/mod.cjs +2 -2
  54. package/dist/nodeinfo/mod.js +2 -2
  55. package/dist/nodeinfo/semver.test.js +3 -3
  56. package/dist/nodeinfo/types.test.js +3 -3
  57. package/dist/otel/exporter.test.js +3 -3
  58. package/dist/{owner-DUbJSrOH.js → owner-Bs-sPbHX.js} +2 -2
  59. package/dist/{proof-r5NuE5WJ.cjs → proof-BvQS195q.cjs} +3 -3
  60. package/dist/{proof-DkGFNm3h.js → proof-SgRikE_Y.js} +2 -2
  61. package/dist/{proof-BZJajwfx.js → proof-flD2DeA-.js} +3 -3
  62. package/dist/runtime/authdocloader.test.js +9 -9
  63. package/dist/runtime/docloader.test.js +51 -4
  64. package/dist/runtime/key.test.js +5 -5
  65. package/dist/runtime/langstr.test.js +3 -3
  66. package/dist/runtime/link.test.js +3 -3
  67. package/dist/runtime/mod.cjs +6 -6
  68. package/dist/runtime/mod.js +6 -6
  69. package/dist/runtime/multibase/multibase.test.js +3 -3
  70. package/dist/runtime/url.test.js +3 -3
  71. package/dist/{send-BP6BnZB0.js → send-C0gFHa2i.js} +2 -2
  72. package/dist/sig/http.test.js +51 -8
  73. package/dist/sig/key.test.js +6 -6
  74. package/dist/sig/ld.test.js +7 -7
  75. package/dist/sig/mod.cjs +6 -6
  76. package/dist/sig/mod.js +6 -6
  77. package/dist/sig/owner.test.js +7 -7
  78. package/dist/sig/proof.test.js +7 -7
  79. package/dist/testing/docloader.test.js +3 -3
  80. package/dist/testing/mod.js +3 -3
  81. package/dist/{testing-BHk-TOca.js → testing-C1GIraJh.js} +2 -2
  82. package/dist/{type-BJ212aq2.js → type-DUhon7qK.js} +215 -198
  83. package/dist/{types-jnh1Ge-D.cjs → types-BgUCCngg.cjs} +1 -1
  84. package/dist/{types-D8QbEexz.js → types-Bu-epI-z.js} +1 -1
  85. package/dist/vocab/actor.test.js +5 -5
  86. package/dist/vocab/lookup.test.js +4 -4
  87. package/dist/vocab/mod.cjs +4 -4
  88. package/dist/vocab/mod.js +4 -4
  89. package/dist/vocab/type.test.js +3 -3
  90. package/dist/vocab/vocab.test.js +4 -4
  91. package/dist/{vocab-DZmhBJkz.cjs → vocab-5i6DEIi6.cjs} +3 -3
  92. package/dist/{vocab-CKa0etLd.js → vocab-CBavAdew.js} +3 -3
  93. package/dist/webfinger/handler.test.js +16 -16
  94. package/dist/webfinger/lookup.test.js +4 -4
  95. package/dist/webfinger/mod.cjs +2 -2
  96. package/dist/webfinger/mod.js +2 -2
  97. package/dist/x/cfworkers.test.js +3 -3
  98. package/package.json +1 -1
  99. package/dist/key-Bam8dJ0F.cjs +0 -10
  100. package/dist/middleware-Ba3Grmg4.js +0 -26
  101. package/dist/middleware-COSQWfNA.cjs +0 -17
  102. package/dist/middleware-Cq8RCRvR.js +0 -17
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-BJ212aq2.js";
7
- import { validateCryptoKey } from "./key-Bidhpg7V.js";
8
- import { doubleKnock } from "./http-n5BTcxeh.js";
6
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-DUhon7qK.js";
7
+ import { validateCryptoKey } from "./key-Cg0kO4dA.js";
8
+ import { doubleKnock } from "./http-CxiIW4rD.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
 
11
11
  //#region src/runtime/authdocloader.ts
@@ -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-BH4pzZZC.js";
6
- import { validateCryptoKey } from "./key-DY-1H5d9.js";
7
- import { doubleKnock } from "./http-DbXPDTX4.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-BETPdM09.js";
6
+ import { validateCryptoKey } from "./key-I-ibyaZH.js";
7
+ import { doubleKnock } from "./http-PgdBoDIj.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region src/runtime/authdocloader.ts
@@ -3,9 +3,9 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
- const require_docloader = require('./docloader-C54TKiQx.cjs');
7
- const require_key = require('./key-CdyBP8cw.cjs');
8
- const require_http = require('./http-DmxJlZvy.cjs');
6
+ const require_docloader = require('./docloader-irBWMSOZ.cjs');
7
+ const require_key = require('./key-dNFkodH5.cjs');
8
+ const require_http = require('./http-CQAqR_vx.cjs');
9
9
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
10
10
 
11
11
  //#region src/runtime/authdocloader.ts
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getTypeId } from "./type-BJ212aq2.js";
7
- import { Router, RouterError } from "./lookup-DqqwtRxy.js";
8
- import { InboxListenerSet } from "./inbox-CQcSx4I9.js";
6
+ import { deno_default, getTypeId } from "./type-DUhon7qK.js";
7
+ import { Router, RouterError } from "./lookup-CySNcNcC.js";
8
+ import { InboxListenerSet } from "./inbox-DcDIqTbR.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
11
11
 
@@ -43,7 +43,7 @@ var FederationBuilderImpl = class {
43
43
  this.collectionTypeIds = {};
44
44
  }
45
45
  async build(options) {
46
- const { FederationImpl } = await import("./middleware-Ba3Grmg4.js");
46
+ const { FederationImpl } = await import("./middleware-Bm4bJzjg.js");
47
47
  const f = new FederationImpl(options);
48
48
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
49
49
  f.router = this.router.clone();
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./type-BJ212aq2.js";
6
+ import { getUserAgent } from "./type-DUhon7qK.js";
7
7
  import { parseSemVer } from "./semver-dArNLkR9.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
@@ -3,30 +3,30 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Follow, Person } from "../type-BJ212aq2.js";
6
+ import { Follow, Person } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-Cnkc9TKm.js";
11
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-C5emnCh-.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-B6e8VkGv.js";
14
- import "../lookup-DqqwtRxy.js";
13
+ import "../client-BgCucCG7.js";
14
+ import "../lookup-CySNcNcC.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-Snz2FxRV.js";
17
- import "../key-Bidhpg7V.js";
18
- import "../http-n5BTcxeh.js";
19
- import "../authdocloader-DYsGSwww.js";
20
- import "../ld-8dX3VuDg.js";
21
- import "../owner-DUbJSrOH.js";
22
- import "../proof-DkGFNm3h.js";
23
- import "../inbox-CQcSx4I9.js";
24
- import "../builder-DLRO0a1o.js";
16
+ import "../actor-Ch9BTg3N.js";
17
+ import "../key-Cg0kO4dA.js";
18
+ import "../http-CxiIW4rD.js";
19
+ import "../authdocloader-COFZT9Wh.js";
20
+ import "../ld-b16r91YS.js";
21
+ import "../owner-Bs-sPbHX.js";
22
+ import "../proof-SgRikE_Y.js";
23
+ import "../inbox-DcDIqTbR.js";
24
+ import "../builder-YD0q32nG.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-DtptNYtI.js";
26
+ import "../keycache-hSs_XFSb.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-BP6BnZB0.js";
29
- import { test } from "../testing-BHk-TOca.js";
28
+ import "../send-C0gFHa2i.js";
29
+ import { test } from "../testing-C1GIraJh.js";
30
30
 
31
31
  //#region src/compat/transformers.test.ts
32
32
  const federation = new FederationImpl({ kv: new MemoryKvStore() });
@@ -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.10.4";
13
+ var version = "1.10.5";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./src/mod.ts",
@@ -4607,6 +4607,7 @@ const logger = getLogger([
4607
4607
  "runtime",
4608
4608
  "docloader"
4609
4609
  ]);
4610
+ const DEFAULT_MAX_REDIRECTION = 20;
4610
4611
  /**
4611
4612
  * Error thrown when fetching a JSON-LD document failed.
4612
4613
  */
@@ -4773,31 +4774,33 @@ async function getRemoteDocument(url, response, fetch$1) {
4773
4774
  function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAgent } = {}) {
4774
4775
  const tracerProvider = trace.getTracerProvider();
4775
4776
  const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
4776
- async function load(url, options) {
4777
+ async function load(url, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
4777
4778
  options?.signal?.throwIfAborted();
4778
- if (!skipPreloadedContexts && url in contexts_default) {
4779
- logger.debug("Using preloaded context: {url}.", { url });
4779
+ const currentUrl = new URL(url).href;
4780
+ if (!skipPreloadedContexts && currentUrl in contexts_default) {
4781
+ logger.debug("Using preloaded context: {url}.", { url: currentUrl });
4780
4782
  return {
4781
4783
  contextUrl: null,
4782
- document: contexts_default[url],
4783
- documentUrl: url
4784
+ document: contexts_default[currentUrl],
4785
+ documentUrl: currentUrl
4784
4786
  };
4785
4787
  }
4786
4788
  if (!allowPrivateAddress) try {
4787
- await validatePublicUrl(url);
4789
+ await validatePublicUrl(currentUrl);
4788
4790
  } catch (error) {
4789
4791
  if (error instanceof UrlError) logger.error("Disallowed private URL: {url}", {
4790
- url,
4792
+ url: currentUrl,
4791
4793
  error
4792
4794
  });
4793
4795
  throw error;
4794
4796
  }
4797
+ visited.add(currentUrl);
4795
4798
  return await tracer.startActiveSpan("activitypub.fetch_document", {
4796
4799
  kind: SpanKind.CLIENT,
4797
- attributes: { "url.full": url }
4800
+ attributes: { "url.full": currentUrl }
4798
4801
  }, async (span) => {
4799
4802
  try {
4800
- const request = createRequest(url, { userAgent });
4803
+ const request = createRequest(currentUrl, { userAgent });
4801
4804
  logRequest(request);
4802
4805
  const response = await fetch(request, {
4803
4806
  redirect: "manual",
@@ -4805,11 +4808,25 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4805
4808
  });
4806
4809
  span.setAttribute("http.response.status_code", response.status);
4807
4810
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
4808
- const redirectUrl = response.headers.get("Location");
4811
+ if (redirected >= DEFAULT_MAX_REDIRECTION) {
4812
+ logger.error("Too many redirections ({redirections}) while fetching document.", {
4813
+ redirections: redirected + 1,
4814
+ url: currentUrl
4815
+ });
4816
+ throw new FetchError(currentUrl, `Too many redirections (${redirected + 1})`);
4817
+ }
4818
+ const redirectUrl = new URL(response.headers.get("Location"), response.url === "" ? currentUrl : response.url).href;
4809
4819
  span.setAttribute("http.redirect.url", redirectUrl);
4810
- return await load(redirectUrl, options);
4820
+ if (visited.has(redirectUrl)) {
4821
+ logger.error("Detected a redirect loop while fetching document: {url} -> {redirectUrl}", {
4822
+ url: currentUrl,
4823
+ redirectUrl
4824
+ });
4825
+ throw new FetchError(currentUrl, `Redirect loop detected: ${redirectUrl}`);
4826
+ }
4827
+ return await load(redirectUrl, options, redirected + 1, visited);
4811
4828
  }
4812
- const result = await getRemoteDocument(url, response, load);
4829
+ const result = await getRemoteDocument(currentUrl, response, load);
4813
4830
  span.setAttribute("docloader.document_url", result.documentUrl);
4814
4831
  if (result.contextUrl != null) span.setAttribute("docloader.context_url", result.contextUrl);
4815
4832
  return result;
@@ -11,7 +11,7 @@ const node_net = require_chunk.__toESM(require("node:net"));
11
11
 
12
12
  //#region deno.json
13
13
  var name = "@fedify/fedify";
14
- var version = "1.10.4";
14
+ var version = "1.10.5";
15
15
  var license = "MIT";
16
16
  var exports$1 = {
17
17
  ".": "./src/mod.ts",
@@ -4608,6 +4608,7 @@ const logger = (0, __logtape_logtape.getLogger)([
4608
4608
  "runtime",
4609
4609
  "docloader"
4610
4610
  ]);
4611
+ const DEFAULT_MAX_REDIRECTION = 20;
4611
4612
  /**
4612
4613
  * Error thrown when fetching a JSON-LD document failed.
4613
4614
  */
@@ -4774,31 +4775,33 @@ async function getRemoteDocument(url, response, fetch$1) {
4774
4775
  function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAgent } = {}) {
4775
4776
  const tracerProvider = __opentelemetry_api.trace.getTracerProvider();
4776
4777
  const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
4777
- async function load(url, options) {
4778
+ async function load(url, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
4778
4779
  options?.signal?.throwIfAborted();
4779
- if (!skipPreloadedContexts && url in contexts_default) {
4780
- logger.debug("Using preloaded context: {url}.", { url });
4780
+ const currentUrl = new URL(url).href;
4781
+ if (!skipPreloadedContexts && currentUrl in contexts_default) {
4782
+ logger.debug("Using preloaded context: {url}.", { url: currentUrl });
4781
4783
  return {
4782
4784
  contextUrl: null,
4783
- document: contexts_default[url],
4784
- documentUrl: url
4785
+ document: contexts_default[currentUrl],
4786
+ documentUrl: currentUrl
4785
4787
  };
4786
4788
  }
4787
4789
  if (!allowPrivateAddress) try {
4788
- await validatePublicUrl(url);
4790
+ await validatePublicUrl(currentUrl);
4789
4791
  } catch (error) {
4790
4792
  if (error instanceof UrlError) logger.error("Disallowed private URL: {url}", {
4791
- url,
4793
+ url: currentUrl,
4792
4794
  error
4793
4795
  });
4794
4796
  throw error;
4795
4797
  }
4798
+ visited.add(currentUrl);
4796
4799
  return await tracer.startActiveSpan("activitypub.fetch_document", {
4797
4800
  kind: __opentelemetry_api.SpanKind.CLIENT,
4798
- attributes: { "url.full": url }
4801
+ attributes: { "url.full": currentUrl }
4799
4802
  }, async (span) => {
4800
4803
  try {
4801
- const request = createRequest(url, { userAgent });
4804
+ const request = createRequest(currentUrl, { userAgent });
4802
4805
  logRequest(request);
4803
4806
  const response = await fetch(request, {
4804
4807
  redirect: "manual",
@@ -4806,11 +4809,25 @@ function getDocumentLoader({ allowPrivateAddress, skipPreloadedContexts, userAge
4806
4809
  });
4807
4810
  span.setAttribute("http.response.status_code", response.status);
4808
4811
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
4809
- const redirectUrl = response.headers.get("Location");
4812
+ if (redirected >= DEFAULT_MAX_REDIRECTION) {
4813
+ logger.error("Too many redirections ({redirections}) while fetching document.", {
4814
+ redirections: redirected + 1,
4815
+ url: currentUrl
4816
+ });
4817
+ throw new FetchError(currentUrl, `Too many redirections (${redirected + 1})`);
4818
+ }
4819
+ const redirectUrl = new URL(response.headers.get("Location"), response.url === "" ? currentUrl : response.url).href;
4810
4820
  span.setAttribute("http.redirect.url", redirectUrl);
4811
- return await load(redirectUrl, options);
4821
+ if (visited.has(redirectUrl)) {
4822
+ logger.error("Detected a redirect loop while fetching document: {url} -> {redirectUrl}", {
4823
+ url: currentUrl,
4824
+ redirectUrl
4825
+ });
4826
+ throw new FetchError(currentUrl, `Redirect loop detected: ${redirectUrl}`);
4827
+ }
4828
+ return await load(redirectUrl, options, redirected + 1, visited);
4812
4829
  }
4813
- const result = await getRemoteDocument(url, response, load);
4830
+ const result = await getRemoteDocument(currentUrl, response, load);
4814
4831
  span.setAttribute("docloader.document_url", result.documentUrl);
4815
4832
  if (result.contextUrl != null) span.setAttribute("docloader.context_url", result.contextUrl);
4816
4833
  return result;
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { __commonJS, __toESM } from "./type-BJ212aq2.js";
6
+ import { __commonJS, __toESM } from "./type-DUhon7qK.js";
7
7
 
8
8
  //#region ../../node_modules/.pnpm/glob-to-regexp@0.4.1/node_modules/glob-to-regexp/index.js
9
9
  var require_glob_to_regexp = __commonJS({ "../../node_modules/.pnpm/glob-to-regexp@0.4.1/node_modules/glob-to-regexp/index.js"(exports, module) {
@@ -3,16 +3,16 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Note, Person } from "../type-BJ212aq2.js";
6
+ import { Activity, Note, Person } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
11
  import { parseSemVer } from "../semver-dArNLkR9.js";
12
- import "../lookup-DqqwtRxy.js";
13
- import "../inbox-CQcSx4I9.js";
14
- import { createFederationBuilder } from "../builder-DLRO0a1o.js";
15
- import { test } from "../testing-BHk-TOca.js";
12
+ import "../lookup-CySNcNcC.js";
13
+ import "../inbox-DcDIqTbR.js";
14
+ import { createFederationBuilder } from "../builder-YD0q32nG.js";
15
+ import { test } from "../testing-C1GIraJh.js";
16
16
  import { assertExists } from "../std__assert-X-_kMxKM.js";
17
17
  import "../assert_rejects-DiIiJbZn.js";
18
18
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,13 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-BJ212aq2.js";
6
+ import "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
- import "../lookup-DqqwtRxy.js";
10
+ import "../lookup-CySNcNcC.js";
11
11
  import { buildCollectionSynchronizationHeader, digest } from "../collection-CSzG2j1P.js";
12
- import { test } from "../testing-BHk-TOca.js";
12
+ import { test } from "../testing-C1GIraJh.js";
13
13
  import "../std__assert-X-_kMxKM.js";
14
14
  import "../assert_rejects-DiIiJbZn.js";
15
15
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,36 +3,36 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Create, Note, Person } from "../type-BJ212aq2.js";
6
+ import { Create, Note, Person } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-Cnkc9TKm.js";
11
+ import { acceptsJsonLd, createFederation, handleActor, handleCollection, handleCustomCollection, handleInbox, handleObject, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-C5emnCh-.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-B6e8VkGv.js";
14
- import "../lookup-DqqwtRxy.js";
13
+ import "../client-BgCucCG7.js";
14
+ import "../lookup-CySNcNcC.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-Snz2FxRV.js";
17
- import "../key-Bidhpg7V.js";
18
- import { signRequest } from "../http-n5BTcxeh.js";
19
- import "../authdocloader-DYsGSwww.js";
20
- import "../ld-8dX3VuDg.js";
21
- import "../owner-DUbJSrOH.js";
22
- import "../proof-DkGFNm3h.js";
23
- import { InboxListenerSet } from "../inbox-CQcSx4I9.js";
24
- import "../builder-DLRO0a1o.js";
16
+ import "../actor-Ch9BTg3N.js";
17
+ import "../key-Cg0kO4dA.js";
18
+ import { signRequest } from "../http-CxiIW4rD.js";
19
+ import "../authdocloader-COFZT9Wh.js";
20
+ import "../ld-b16r91YS.js";
21
+ import "../owner-Bs-sPbHX.js";
22
+ import "../proof-SgRikE_Y.js";
23
+ import { InboxListenerSet } from "../inbox-DcDIqTbR.js";
24
+ import "../builder-YD0q32nG.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-DtptNYtI.js";
26
+ import "../keycache-hSs_XFSb.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-BP6BnZB0.js";
29
- import { createInboxContext, createRequestContext, mockDocumentLoader, test } from "../testing-BHk-TOca.js";
28
+ import "../send-C0gFHa2i.js";
29
+ import { createInboxContext, createRequestContext, mockDocumentLoader, test } from "../testing-C1GIraJh.js";
30
30
  import "../std__assert-X-_kMxKM.js";
31
31
  import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
33
33
  import "../assert_not_equals-f3m3epl3.js";
34
34
  import "../assert_throws-BOO88avQ.js";
35
- import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-kLtROwLY.js";
35
+ import { rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-CElJez9H.js";
36
36
  import { createTestTracerProvider } from "../otel-Chy5T2Xh.js";
37
37
 
38
38
  //#region src/federation/handler.test.ts
@@ -3,36 +3,36 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Create, Follow, Person } from "../type-BJ212aq2.js";
6
+ import { Create, Follow, Person } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import { createFederation } from "../middleware-Cnkc9TKm.js";
11
+ import { createFederation } from "../middleware-C5emnCh-.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-B6e8VkGv.js";
14
- import "../lookup-DqqwtRxy.js";
13
+ import "../client-BgCucCG7.js";
14
+ import "../lookup-CySNcNcC.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-Snz2FxRV.js";
17
- import "../key-Bidhpg7V.js";
18
- import "../http-n5BTcxeh.js";
19
- import "../authdocloader-DYsGSwww.js";
20
- import "../ld-8dX3VuDg.js";
21
- import "../owner-DUbJSrOH.js";
22
- import { signObject } from "../proof-DkGFNm3h.js";
23
- import "../inbox-CQcSx4I9.js";
24
- import "../builder-DLRO0a1o.js";
16
+ import "../actor-Ch9BTg3N.js";
17
+ import "../key-Cg0kO4dA.js";
18
+ import "../http-CxiIW4rD.js";
19
+ import "../authdocloader-COFZT9Wh.js";
20
+ import "../ld-b16r91YS.js";
21
+ import "../owner-Bs-sPbHX.js";
22
+ import { signObject } from "../proof-SgRikE_Y.js";
23
+ import "../inbox-DcDIqTbR.js";
24
+ import "../builder-YD0q32nG.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-DtptNYtI.js";
26
+ import "../keycache-hSs_XFSb.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-BP6BnZB0.js";
29
- import { mockDocumentLoader, test } from "../testing-BHk-TOca.js";
28
+ import "../send-C0gFHa2i.js";
29
+ import { mockDocumentLoader, test } from "../testing-C1GIraJh.js";
30
30
  import "../std__assert-X-_kMxKM.js";
31
31
  import "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
33
33
  import "../assert_not_equals-f3m3epl3.js";
34
34
  import "../assert_throws-BOO88avQ.js";
35
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey } from "../keys-kLtROwLY.js";
35
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey } from "../keys-CElJez9H.js";
36
36
 
37
37
  //#region src/federation/idempotency.test.ts
38
38
  const kv = new MemoryKvStore();
@@ -3,11 +3,11 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Create, Invite, Offer, Update } from "../type-BJ212aq2.js";
6
+ import { Activity, Create, Invite, Offer, Update } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
- import "../lookup-DqqwtRxy.js";
9
- import { InboxListenerSet } from "../inbox-CQcSx4I9.js";
10
- import { test } from "../testing-BHk-TOca.js";
8
+ import "../lookup-CySNcNcC.js";
9
+ import { InboxListenerSet } from "../inbox-DcDIqTbR.js";
10
+ import { test } from "../testing-C1GIraJh.js";
11
11
  import "../assert_is_error-BPGph1Jx.js";
12
12
  import { assertThrows } from "../assert_throws-BOO88avQ.js";
13
13
 
@@ -3,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey } from "../type-BJ212aq2.js";
6
+ import { CryptographicKey, Multikey } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import "../lookup-DqqwtRxy.js";
12
- import { KvKeyCache } from "../keycache-DtptNYtI.js";
13
- import { test } from "../testing-BHk-TOca.js";
11
+ import "../lookup-CySNcNcC.js";
12
+ import { KvKeyCache } from "../keycache-hSs_XFSb.js";
13
+ import { test } from "../testing-C1GIraJh.js";
14
14
 
15
15
  //#region src/federation/keycache.test.ts
16
16
  test("KvKeyCache.set()", async () => {
@@ -30,6 +30,7 @@ test("KvKeyCache.set()", async () => {
30
30
  });
31
31
  await cache.set(new URL("https://example.com/null"), null);
32
32
  assert(cache.nullKeys.has("https://example.com/null"));
33
+ assertEquals(await kv.get(["pk", "https://example.com/null"]), { _fedify: "key-unavailable" });
33
34
  });
34
35
  test("KvKeyCache.get()", async () => {
35
36
  const kv = new MemoryKvStore();
@@ -52,6 +53,9 @@ test("KvKeyCache.get()", async () => {
52
53
  assertEquals(multikey?.id?.href, "https://example.com/key2");
53
54
  cache.nullKeys.add("https://example.com/null");
54
55
  assertEquals(await cache.get(new URL("https://example.com/null")), null);
56
+ await kv.set(["pk", "https://example.com/null2"], { _fedify: "key-unavailable" });
57
+ const cache2 = new KvKeyCache(kv, ["pk"]);
58
+ assertEquals(await cache2.get(new URL("https://example.com/null2")), null);
55
59
  });
56
60
 
57
61
  //#endregion
@@ -3,13 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-BJ212aq2.js";
6
+ import "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import "../lookup-DqqwtRxy.js";
12
- import { test } from "../testing-BHk-TOca.js";
11
+ import "../lookup-CySNcNcC.js";
12
+ import { test } from "../testing-C1GIraJh.js";
13
13
  import "../std__assert-X-_kMxKM.js";
14
14
  import "../assert_rejects-DiIiJbZn.js";
15
15
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,37 +3,37 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Announce, Create, FetchError, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-BJ212aq2.js";
6
+ import { Activity, Announce, Create, FetchError, Invite, Multikey, Note, Object as Object$1, Offer, Person, fetchDocumentLoader, getTypeId } from "../type-DUhon7qK.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-QzKcOQgP.js";
11
- import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-Cnkc9TKm.js";
11
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "../middleware-C5emnCh-.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-B6e8VkGv.js";
14
- import { RouterError, lookupObject } from "../lookup-DqqwtRxy.js";
13
+ import "../client-BgCucCG7.js";
14
+ import { RouterError, lookupObject } from "../lookup-CySNcNcC.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-Snz2FxRV.js";
17
- import "../key-Bidhpg7V.js";
18
- import { signRequest, verifyRequest } from "../http-n5BTcxeh.js";
19
- import { getAuthenticatedDocumentLoader } from "../authdocloader-DYsGSwww.js";
20
- import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-8dX3VuDg.js";
21
- import { doesActorOwnKey } from "../owner-DUbJSrOH.js";
22
- import { signObject, verifyObject } from "../proof-DkGFNm3h.js";
23
- import "../inbox-CQcSx4I9.js";
24
- import "../builder-DLRO0a1o.js";
16
+ import "../actor-Ch9BTg3N.js";
17
+ import "../key-Cg0kO4dA.js";
18
+ import { signRequest, verifyRequest } from "../http-CxiIW4rD.js";
19
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-COFZT9Wh.js";
20
+ import { detachSignature, signJsonLd, verifyJsonLd } from "../ld-b16r91YS.js";
21
+ import { doesActorOwnKey } from "../owner-Bs-sPbHX.js";
22
+ import { signObject, verifyObject } from "../proof-SgRikE_Y.js";
23
+ import "../inbox-DcDIqTbR.js";
24
+ import "../builder-YD0q32nG.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-DtptNYtI.js";
26
+ import "../keycache-hSs_XFSb.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-BP6BnZB0.js";
29
- import { mockDocumentLoader, test } from "../testing-BHk-TOca.js";
28
+ import "../send-C0gFHa2i.js";
29
+ import { mockDocumentLoader, test } from "../testing-C1GIraJh.js";
30
30
  import { assertStrictEquals } from "../std__assert-X-_kMxKM.js";
31
31
  import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
33
33
  import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
34
34
  import { assertThrows } from "../assert_throws-BOO88avQ.js";
35
- import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-kLtROwLY.js";
36
- import { esm_default } from "../esm-CbGx2KcW.js";
35
+ import { ed25519Multikey, ed25519PrivateKey, ed25519PublicKey, rsaPrivateKey2, rsaPrivateKey3, rsaPublicKey2, rsaPublicKey3 } from "../keys-CElJez9H.js";
36
+ import { esm_default } from "../esm-iGH0sRsE.js";
37
37
 
38
38
  //#region src/testing/fixtures/example.com/person.json
39
39
  var __context$1 = ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/v1"];
@@ -3,17 +3,17 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  require('../transformers-CoBS-oFG.cjs');
6
- require('../docloader-C54TKiQx.cjs');
7
- require('../actor-Bj7QfjMG.cjs');
8
- const require_middleware = require('../middleware-fQqVkTI_.cjs');
9
- require('../lookup-DpuJzIOl.cjs');
10
- require('../key-CdyBP8cw.cjs');
11
- require('../http-DmxJlZvy.cjs');
12
- require('../proof-r5NuE5WJ.cjs');
6
+ require('../docloader-irBWMSOZ.cjs');
7
+ require('../actor-CjkHF7Cj.cjs');
8
+ const require_middleware = require('../middleware-Dxo56yae.cjs');
9
+ require('../lookup-Bfq9Jpm0.cjs');
10
+ require('../key-dNFkodH5.cjs');
11
+ require('../http-CQAqR_vx.cjs');
12
+ require('../proof-BvQS195q.cjs');
13
13
  const require_federation = require('../federation-C15gGOh1.cjs');
14
- require('../types-jnh1Ge-D.cjs');
15
- require('../authdocloader-dttG5T5s.cjs');
16
- require('../vocab-DZmhBJkz.cjs');
14
+ require('../types-BgUCCngg.cjs');
15
+ require('../authdocloader-zc5ibOmU.cjs');
16
+ require('../vocab-5i6DEIi6.cjs');
17
17
 
18
18
  exports.InProcessMessageQueue = require_federation.InProcessMessageQueue;
19
19
  exports.MemoryKvStore = require_federation.MemoryKvStore;