@fedify/fedify 1.7.11 → 1.7.12

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 (97) hide show
  1. package/dist/{actor-DgWryCk8.js → actor-GZRoTRqg.js} +1059 -2276
  2. package/dist/{actor-2ENhJMd7.js → actor-TYqJGdVq.js} +6 -9
  3. package/dist/{assert-DmFG7ppO.js → assert-LOEeCUK5.js} +1 -1
  4. package/dist/{assert_equals-CTYbeopb.js → assert_equals-B44MxcIj.js} +2 -4
  5. package/dist/{assert_instance_of-CF09JHYM.js → assert_instance_of-XtuFevV_.js} +1 -1
  6. package/dist/{assert_is_error-nrwA1GeT.js → assert_is_error-BTlryvT0.js} +1 -1
  7. package/dist/{assert_not_equals-Dc7y-V5Q.js → assert_not_equals-C685gKx6.js} +1 -1
  8. package/dist/{assert_rejects-C-sxEMM5.js → assert_rejects-DWQ4jaf9.js} +2 -2
  9. package/dist/{assert_throws-Cn9C6Jur.js → assert_throws-YetpVSc-.js} +2 -2
  10. package/dist/{authdocloader-BUJAQQAE.js → authdocloader-BopfyipD.js} +3 -3
  11. package/dist/{authdocloader-CK17fG7y.js → authdocloader-hiFSyM7V.js} +4 -4
  12. package/dist/{builder-CZM8EtHh.js → builder-mi6RdzNE.js} +7 -10
  13. package/dist/{chunk-HsBuZ-b2.js → chunk-Cx8LTkjm.js} +3 -1
  14. package/dist/{client-D83KwIk4.js → client-DuUKk4pk.js} +6 -6
  15. package/dist/compat/transformers.test.js +27 -28
  16. package/dist/{context-MUHrGcK9.js → context-RMU32mk4.js} +2 -2
  17. package/dist/{docloader-BcyuO_kK.js → docloader-DJxET2fN.js} +5 -9
  18. package/dist/{docloader-D4wl8z_4.js → docloader-bgBm1Hd1.js} +4 -6
  19. package/dist/{esm-Db4De7AS.js → esm-DO9PrujO.js} +23 -34
  20. package/dist/federation/builder.test.js +23 -29
  21. package/dist/federation/collection.test.js +9 -9
  22. package/dist/federation/handler.test.js +33 -33
  23. package/dist/federation/inbox.test.js +10 -10
  24. package/dist/federation/keycache.test.js +9 -9
  25. package/dist/federation/kv.test.js +10 -9
  26. package/dist/federation/middleware.test.js +76 -99
  27. package/dist/federation/mod.js +11 -11
  28. package/dist/federation/mq.test.js +10 -11
  29. package/dist/federation/retry.test.js +3 -3
  30. package/dist/federation/router.test.js +9 -9
  31. package/dist/federation/send.test.js +22 -22
  32. package/dist/{federation-BRIQn-GV.js → federation-B0aljx0V.js} +1 -2
  33. package/dist/{http-DFHfa9tA.js → http-D2DkwsjA.js} +8 -15
  34. package/dist/{http-Dsj_eYDw.js → http-vqMAvOVs.js} +8 -15
  35. package/dist/{inbox-CltmHpHc.js → inbox-DAAZZl2k.js} +5 -7
  36. package/dist/key-5ssHQ67E.js +16 -0
  37. package/dist/{key-bBurC_PZ.js → key-DSJGnD10.js} +4 -4
  38. package/dist/{key-qFVeObG1.js → key-DmqJj57e.js} +5 -8
  39. package/dist/{key-bttcdrh5.js → key-KVhaUM92.js} +6 -9
  40. package/dist/{keycache-DijbBawF.js → keycache-C1pEuRyQ.js} +2 -2
  41. package/dist/{keys-DJ5t4jB4.js → keys-C4XQHW5_.js} +1 -1
  42. package/dist/{ld-U-lGfuzj.js → ld-DzlJ_IpT.js} +9 -16
  43. package/dist/{lookup-BlPHJ-Ff.js → lookup-CSngxuWm.js} +2 -4
  44. package/dist/{lookup-C8ZpflGI.js → lookup-D0je8AqR.js} +7 -11
  45. package/dist/{lookup-BGqnk7rW.js → lookup-DL62q3Xh.js} +3 -5
  46. package/dist/{middleware-D66R1UZl.js → middleware-3wVT6S9E.js} +34 -52
  47. package/dist/middleware-CxFoFBD8.js +33 -0
  48. package/dist/{middleware-BRzqW-QG.js → middleware-DlDXugwZ.js} +34 -58
  49. package/dist/middleware-w7_U3fFi.js +17 -0
  50. package/dist/mod.js +11 -11
  51. package/dist/{multibase-DeCHcK8L.js → multibase-CnLHszip.js} +1 -2
  52. package/dist/nodeinfo/client.test.js +20 -23
  53. package/dist/nodeinfo/handler.test.js +32 -32
  54. package/dist/nodeinfo/mod.js +2 -2
  55. package/dist/nodeinfo/semver.test.js +23 -30
  56. package/dist/nodeinfo/types.test.js +11 -11
  57. package/dist/{owner-2zho-3Ew.js → owner-81ey_76X.js} +3 -3
  58. package/dist/{proof-BYHc1mMr.js → proof-BlULDH4H.js} +8 -14
  59. package/dist/{proof-3J23UdVg.js → proof-DlI7QNdn.js} +12 -25
  60. package/dist/runtime/authdocloader.test.js +21 -21
  61. package/dist/runtime/docloader.test.js +16 -18
  62. package/dist/runtime/key.test.js +17 -17
  63. package/dist/runtime/langstr.test.js +9 -9
  64. package/dist/runtime/mod.js +6 -6
  65. package/dist/runtime/multibase/multibase.test.js +11 -12
  66. package/dist/runtime/url.test.js +6 -6
  67. package/dist/{semver-DWClQt_5.js → semver-BNrOOAs9.js} +1 -3
  68. package/dist/{send-CW7iJ-b9.js → send-DdxfTHo6.js} +3 -4
  69. package/dist/sig/http.test.js +40 -54
  70. package/dist/sig/key.test.js +18 -18
  71. package/dist/sig/ld.test.js +20 -22
  72. package/dist/sig/mod.js +6 -6
  73. package/dist/sig/owner.test.js +20 -20
  74. package/dist/sig/proof.test.js +19 -19
  75. package/dist/{std__assert-vp0TKMS1.js → std__assert-o_r9vqm1.js} +1 -1
  76. package/dist/testing/docloader.test.js +9 -9
  77. package/dist/testing/mod.js +1 -1
  78. package/dist/{testing-BZ0dJ4qn.js → testing-DLyvtiiW.js} +3 -5
  79. package/dist/{type-D2s5lmbZ.js → type-CFuiGLz9.js} +1 -2
  80. package/dist/{types-C7C_l-jz.js → types-CJHS5pXl.js} +1 -1
  81. package/dist/{types-DXmLob1B.js → types-CmVV9LT1.js} +6 -8
  82. package/dist/{url-kTAI6_KP.js → url-C2xuoQD1.js} +2 -4
  83. package/dist/vocab/actor.test.js +104 -156
  84. package/dist/vocab/lookup.test.js +17 -17
  85. package/dist/vocab/mod.js +4 -4
  86. package/dist/vocab/type.test.js +11 -15
  87. package/dist/vocab/vocab.test.js +45 -49
  88. package/dist/{vocab-Cy9XhW_T.js → vocab-BebR0kAy.js} +6 -10
  89. package/dist/{vocab-BojAnGjI.js → vocab-DFlq4Wa6.js} +1057 -2270
  90. package/dist/webfinger/handler.test.js +33 -34
  91. package/dist/webfinger/lookup.test.js +13 -13
  92. package/dist/webfinger/mod.js +2 -2
  93. package/dist/x/cfworkers.test.js +9 -9
  94. package/package.json +1 -1
  95. package/dist/key-BROjrzkW.js +0 -16
  96. package/dist/middleware-BhqeOJrC.js +0 -17
  97. package/dist/middleware-DFra19vb.js +0 -33
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-D4wl8z_4.js";
7
- import { Application, Group, Organization, Person, Service } from "./vocab-BojAnGjI.js";
8
- import { lookupWebFinger } from "./lookup-BGqnk7rW.js";
9
- import { getTypeId } from "./type-D2s5lmbZ.js";
6
+ import { deno_default } from "./docloader-bgBm1Hd1.js";
7
+ import { Application, Group, Organization, Person, Service } from "./vocab-DFlq4Wa6.js";
8
+ import { lookupWebFinger } from "./lookup-DL62q3Xh.js";
9
+ import { getTypeId } from "./type-CFuiGLz9.js";
10
10
  import { SpanStatusCode, trace } from "@opentelemetry/api";
11
11
  import { domainToASCII, domainToUnicode } from "node:url";
12
12
 
@@ -72,9 +72,7 @@ function getActorClassByTypeName(typeName) {
72
72
  * @since 0.4.0
73
73
  */
74
74
  async function getActorHandle(actor, options = {}) {
75
- const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
76
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
77
- return await tracer.startActiveSpan("activitypub.get_actor_handle", async (span) => {
75
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer(deno_default.name, deno_default.version).startActiveSpan("activitypub.get_actor_handle", async (span) => {
78
76
  if (isActor(actor)) {
79
77
  if (actor.id != null) span.setAttribute("activitypub.actor.id", actor.id.href);
80
78
  span.setAttribute("activitypub.actor.type", getTypeId(actor).href);
@@ -105,8 +103,7 @@ async function getActorHandleInternal(actor, options = {}) {
105
103
  for (const alias of aliases) {
106
104
  const match = alias.match(/^acct:([^@]+)@([^@]+)$/);
107
105
  if (match != null) {
108
- const hostname = new URL(`https://${match[2]}/`).hostname;
109
- if (hostname !== actorId.hostname && !await verifyCrossOriginActorHandle(actorId.href, alias, options.userAgent, options.tracerProvider)) continue;
106
+ if (new URL(`https://${match[2]}/`).hostname !== actorId.hostname && !await verifyCrossOriginActorHandle(actorId.href, alias, options.userAgent, options.tracerProvider)) continue;
110
107
  return normalizeActorHandle(`@${match[1]}@${match[2]}`, options);
111
108
  }
112
109
  }
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-CTYbeopb.js";
6
+ import { AssertionError } from "./assert_equals-B44MxcIj.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js
9
9
  /**
@@ -286,8 +286,7 @@ const assertionState = new AssertionState();
286
286
  //#endregion
287
287
  //#region node_modules/.pnpm/@jsr+std__internal@1.0.10/node_modules/@jsr/std__internal/styles.js
288
288
  const { Deno } = globalThis;
289
- const noColor = typeof Deno?.noColor === "boolean" ? Deno.noColor : false;
290
- const enabled = !noColor;
289
+ const enabled = !(typeof Deno?.noColor === "boolean" ? Deno.noColor : false);
291
290
  function code(open, close) {
292
291
  return {
293
292
  open: `\x1b[${open.join(";")}m`,
@@ -1042,8 +1041,7 @@ function checkWindows() {
1042
1041
  * @param options The optional object for the assertion.
1043
1042
  */ function assertEquals(actual, expected, msg) {
1044
1043
  if (equal(actual, expected)) return;
1045
- const msgSuffix = msg ? `: ${msg}` : ".";
1046
- let message = `Values are not equal${msgSuffix}`;
1044
+ let message = `Values are not equal${msg ? `: ${msg}` : "."}`;
1047
1045
  const actualString = format(actual);
1048
1046
  const expectedString = format(expected);
1049
1047
  const stringDiff = typeof actual === "string" && typeof expected === "string";
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-CTYbeopb.js";
6
+ import { AssertionError } from "./assert_equals-B44MxcIj.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError, stripAnsiCode } from "./assert_equals-CTYbeopb.js";
6
+ import { AssertionError, stripAnsiCode } from "./assert_equals-B44MxcIj.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_is_error.js
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError, equal } from "./assert_equals-CTYbeopb.js";
6
+ import { AssertionError, equal } from "./assert_equals-B44MxcIj.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js
9
9
  /**
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-CTYbeopb.js";
7
- import { assertIsError } from "./assert_is_error-nrwA1GeT.js";
6
+ import { AssertionError } from "./assert_equals-B44MxcIj.js";
7
+ import { assertIsError } from "./assert_is_error-BTlryvT0.js";
8
8
 
9
9
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js
10
10
  /**
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { AssertionError } from "./assert_equals-CTYbeopb.js";
7
- import { assertIsError } from "./assert_is_error-nrwA1GeT.js";
6
+ import { AssertionError } from "./assert_equals-B44MxcIj.js";
7
+ import { assertIsError } from "./assert_is_error-BTlryvT0.js";
8
8
 
9
9
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_throws.js
10
10
  function assertThrows(fn, errorClassOrMsg, msgIncludesOrMsg, msg) {
@@ -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-BcyuO_kK.js";
6
- import { validateCryptoKey } from "./key-qFVeObG1.js";
7
- import { doubleKnock } from "./http-Dsj_eYDw.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-DJxET2fN.js";
6
+ import { validateCryptoKey } from "./key-DmqJj57e.js";
7
+ import { doubleKnock } from "./http-vqMAvOVs.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region runtime/authdocloader.ts
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { createRequest, getRemoteDocument, logRequest } from "./docloader-D4wl8z_4.js";
7
- import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
- import { validateCryptoKey } from "./key-bttcdrh5.js";
9
- import { doubleKnock } from "./http-DFHfa9tA.js";
6
+ import { createRequest, getRemoteDocument, logRequest } from "./docloader-bgBm1Hd1.js";
7
+ import { UrlError, validatePublicUrl } from "./url-C2xuoQD1.js";
8
+ import { validateCryptoKey } from "./key-KVhaUM92.js";
9
+ import { doubleKnock } from "./http-D2DkwsjA.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
 
12
12
  //#region runtime/authdocloader.ts
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-D4wl8z_4.js";
6
+ import { deno_default } from "./docloader-bgBm1Hd1.js";
7
7
  import { Router, RouterError } from "./router-D_aVZZUc.js";
8
- import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { InboxListenerSet } from "./inbox-CltmHpHc.js";
8
+ import { getTypeId } from "./type-CFuiGLz9.js";
9
+ import { InboxListenerSet } from "./inbox-DAAZZl2k.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-DFra19vb.js");
37
+ const { FederationImpl } = await import("./middleware-CxFoFBD8.js");
38
38
  const f = new FederationImpl(options);
39
39
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
40
40
  f.router = this.router.clone();
@@ -175,8 +175,7 @@ var FederationBuilderImpl = class {
175
175
  }
176
176
  setNodeInfoDispatcher(path, dispatcher) {
177
177
  if (this.router.has("nodeInfo")) throw new RouterError("NodeInfo dispatcher already set.");
178
- const variables = this.router.add(path, "nodeInfo");
179
- if (variables.size !== 0) throw new RouterError("Path for NodeInfo dispatcher must have no variables.");
178
+ if (this.router.add(path, "nodeInfo").size !== 0) throw new RouterError("Path for NodeInfo dispatcher must have no variables.");
180
179
  this.nodeInfoDispatcher = dispatcher;
181
180
  }
182
181
  setObjectDispatcher(cls, path, dispatcher) {
@@ -186,8 +185,7 @@ var FederationBuilderImpl = class {
186
185
  if (variables.size < 1) throw new RouterError("Path for object dispatcher must have at least one variable.");
187
186
  const callbacks = {
188
187
  dispatcher: (ctx, values) => {
189
- const tracer = this._getTracer();
190
- return tracer.startActiveSpan("activitypub.dispatch_object", {
188
+ return this._getTracer().startActiveSpan("activitypub.dispatch_object", {
191
189
  kind: SpanKind.SERVER,
192
190
  attributes: {
193
191
  "fedify.object.type": cls.typeId.href,
@@ -458,8 +456,7 @@ var FederationBuilderImpl = class {
458
456
  ]).warn("The {{handle}} variable in the inbox path is deprecated. Use {{identifier}} instead.");
459
457
  }
460
458
  if (sharedInboxPath != null) {
461
- const siVars = this.router.add(sharedInboxPath, "sharedInbox");
462
- if (siVars.size !== 0) throw new RouterError("Path for shared inbox must have no variables.");
459
+ if (this.router.add(sharedInboxPath, "sharedInbox").size !== 0) throw new RouterError("Path for shared inbox must have no variables.");
463
460
  }
464
461
  const listeners = this.inboxListeners = new InboxListenerSet();
465
462
  const setters = {
@@ -15,11 +15,13 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
15
15
  var __commonJS = (cb, mod) => function() {
16
16
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
17
17
  };
18
- var __export = (target, all) => {
18
+ var __export = (all) => {
19
+ let target = {};
19
20
  for (var name in all) __defProp(target, name, {
20
21
  get: all[name],
21
22
  enumerable: true
22
23
  });
24
+ return target;
23
25
  };
24
26
  var __copyProps = (to, from, except, desc) => {
25
27
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./docloader-D4wl8z_4.js";
7
- import { parseSemVer } from "./semver-DWClQt_5.js";
6
+ import { getUserAgent } from "./docloader-bgBm1Hd1.js";
7
+ import { parseSemVer } from "./semver-BNrOOAs9.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region nodeinfo/client.ts
@@ -28,7 +28,7 @@ async function getNodeInfo(url, options = {}) {
28
28
  status: wellKnownResponse.status,
29
29
  statusText: wellKnownResponse.statusText
30
30
  });
31
- return void 0;
31
+ return;
32
32
  }
33
33
  const wellKnownRd = await wellKnownResponse.json();
34
34
  const link = wellKnownRd?.links?.find((link$1) => link$1 != null && "rel" in link$1 && (link$1.rel === "http://nodeinfo.diaspora.software/ns/schema/2.0" || link$1.rel === "http://nodeinfo.diaspora.software/ns/schema/2.1") && "href" in link$1 && link$1.href != null);
@@ -37,7 +37,7 @@ async function getNodeInfo(url, options = {}) {
37
37
  url: wellKnownUrl.href,
38
38
  resourceDescriptor: wellKnownRd
39
39
  });
40
- return void 0;
40
+ return;
41
41
  }
42
42
  nodeInfoUrl = link.href;
43
43
  }
@@ -51,7 +51,7 @@ async function getNodeInfo(url, options = {}) {
51
51
  status: response.status,
52
52
  statusText: response.statusText
53
53
  });
54
- return void 0;
54
+ return;
55
55
  }
56
56
  const data = await response.json();
57
57
  if (options.parse === "none") return data;
@@ -61,7 +61,7 @@ async function getNodeInfo(url, options = {}) {
61
61
  url: url.toString(),
62
62
  error
63
63
  });
64
- return void 0;
64
+ return;
65
65
  }
66
66
  }
67
67
  /**
@@ -3,41 +3,40 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { assertEquals } from "../assert_equals-CTYbeopb.js";
7
- import { assert } from "../assert-DmFG7ppO.js";
8
- import { assertInstanceOf } from "../assert_instance_of-CF09JHYM.js";
6
+ import { assertEquals } from "../assert_equals-B44MxcIj.js";
7
+ import { assert } from "../assert-LOEeCUK5.js";
8
+ import { assertInstanceOf } from "../assert_instance_of-XtuFevV_.js";
9
9
  import { MemoryKvStore } from "../kv-BMY6Qf_A.js";
10
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-D66R1UZl.js";
11
- import "../docloader-D4wl8z_4.js";
12
- import "../url-kTAI6_KP.js";
13
- import "../semver-DWClQt_5.js";
14
- import "../client-D83KwIk4.js";
10
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-3wVT6S9E.js";
11
+ import "../docloader-bgBm1Hd1.js";
12
+ import "../url-C2xuoQD1.js";
13
+ import "../semver-BNrOOAs9.js";
14
+ import "../client-DuUKk4pk.js";
15
15
  import "../router-D_aVZZUc.js";
16
- import "../types-C7C_l-jz.js";
17
- import "../multibase-DeCHcK8L.js";
18
- import { Follow, Person } from "../vocab-BojAnGjI.js";
16
+ import "../types-CJHS5pXl.js";
17
+ import "../multibase-CnLHszip.js";
18
+ import { Follow, Person } from "../vocab-DFlq4Wa6.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-BGqnk7rW.js";
21
- import "../type-D2s5lmbZ.js";
22
- import "../actor-2ENhJMd7.js";
23
- import "../key-bttcdrh5.js";
24
- import "../http-DFHfa9tA.js";
25
- import "../authdocloader-CK17fG7y.js";
26
- import "../ld-U-lGfuzj.js";
27
- import "../owner-2zho-3Ew.js";
28
- import "../proof-BYHc1mMr.js";
29
- import "../lookup-C8ZpflGI.js";
30
- import "../inbox-CltmHpHc.js";
31
- import "../builder-CZM8EtHh.js";
20
+ import "../lookup-DL62q3Xh.js";
21
+ import "../type-CFuiGLz9.js";
22
+ import "../actor-TYqJGdVq.js";
23
+ import "../key-KVhaUM92.js";
24
+ import "../http-D2DkwsjA.js";
25
+ import "../authdocloader-hiFSyM7V.js";
26
+ import "../ld-DzlJ_IpT.js";
27
+ import "../owner-81ey_76X.js";
28
+ import "../proof-BlULDH4H.js";
29
+ import "../lookup-D0je8AqR.js";
30
+ import "../inbox-DAAZZl2k.js";
31
+ import "../builder-mi6RdzNE.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-DijbBawF.js";
33
+ import "../keycache-C1pEuRyQ.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-CW7iJ-b9.js";
36
- import { test } from "../testing-BZ0dJ4qn.js";
35
+ import "../send-DdxfTHo6.js";
36
+ import { test } from "../testing-DLyvtiiW.js";
37
37
 
38
38
  //#region compat/transformers.test.ts
39
- const federation = new FederationImpl({ kv: new MemoryKvStore() });
40
- const context = federation.createContext(new URL("http://example.com/"));
39
+ const context = new FederationImpl({ kv: new MemoryKvStore() }).createContext(new URL("http://example.com/"));
41
40
  test("autoIdAssigner", async () => {
42
41
  const activity = new Follow({
43
42
  actor: new URL("http://example.com/actors/1"),
@@ -4,8 +4,8 @@
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
6
  import { RouterError } from "./router-D_aVZZUc.js";
7
- import { lookupWebFinger } from "./lookup-BGqnk7rW.js";
8
- import { lookupObject, traverseCollection } from "./lookup-C8ZpflGI.js";
7
+ import { lookupWebFinger } from "./lookup-DL62q3Xh.js";
8
+ import { lookupObject, traverseCollection } from "./lookup-D0je8AqR.js";
9
9
  import { mockDocumentLoader } from "./docloader-09nVWLAZ.js";
10
10
  import { trace } from "@opentelemetry/api";
11
11
 
@@ -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.7.11";
13
+ var version = "1.7.12";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -4270,8 +4270,7 @@ async function validatePublicUrl(url) {
4270
4270
  if (hostname.startsWith("[") && hostname.endsWith("]")) hostname = hostname.substring(1, hostname.length - 2);
4271
4271
  if (hostname === "localhost") throw new UrlError("Localhost is not allowed");
4272
4272
  if ("Deno" in globalThis && !isIP(hostname)) {
4273
- const netPermission = await Deno.permissions.query({ name: "net" });
4274
- if (netPermission.state !== "granted") return;
4273
+ if ((await Deno.permissions.query({ name: "net" })).state !== "granted") return;
4275
4274
  }
4276
4275
  if ("Bun" in globalThis) {
4277
4276
  if (hostname === "example.com" || hostname.endsWith(".example.com")) return;
@@ -4307,8 +4306,7 @@ function expandIPv6Address(address) {
4307
4306
  if (address.startsWith("::")) address = "0000" + address;
4308
4307
  if (address.endsWith("::")) address = address + "0000";
4309
4308
  address = address.replace("::", ":0000".repeat(8 - (address.match(/:/g) || []).length) + ":");
4310
- const parts = address.split(":");
4311
- return parts.map((part) => part.padStart(4, "0")).join(":");
4309
+ return address.split(":").map((part) => part.padStart(4, "0")).join(":");
4312
4310
  }
4313
4311
 
4314
4312
  //#endregion
@@ -4431,8 +4429,7 @@ async function getRemoteDocument(url, response, fetch$1) {
4431
4429
  const attribs = {};
4432
4430
  while ((m2 = p2.exec(rawAttrs)) !== null) {
4433
4431
  const key = m2[1].toLowerCase();
4434
- const value = m2[3] ?? m2[4] ?? m2[5] ?? "";
4435
- attribs[key] = value;
4432
+ attribs[key] = m2[3] ?? m2[4] ?? m2[5] ?? "";
4436
4433
  }
4437
4434
  if (attribs.rel === "alternate" && "type" in attribs && (attribs.type === "application/activity+json" || attribs.type === "application/ld+json" || attribs.type.startsWith("application/ld+json;")) && "href" in attribs && new URL(attribs.href, docUrl).href !== docUrl.href) {
4438
4435
  logger.debug("Found alternate document: {alternateUrl} from {url}", {
@@ -4594,8 +4591,7 @@ function getUserAgent({ software, url } = {}) {
4594
4591
  const userAgent = software == null ? [fedify] : [software, fedify];
4595
4592
  if (runtime != null) userAgent.push(runtime);
4596
4593
  if (url != null) userAgent.push(`+${url.toString()}`);
4597
- const first = userAgent.shift();
4598
- return `${first} (${userAgent.join("; ")})`;
4594
+ return `${userAgent.shift()} (${userAgent.join("; ")})`;
4599
4595
  }
4600
4596
 
4601
4597
  //#endregion
@@ -3,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
6
+ import { UrlError, validatePublicUrl } from "./url-C2xuoQD1.js";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { HTTPHeaderLink } from "@hugoalh/http-header-link";
9
9
  import process from "node:process";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.7.11";
13
+ var version = "1.7.12";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -4372,8 +4372,7 @@ async function getRemoteDocument(url, response, fetch$1) {
4372
4372
  const attribs = {};
4373
4373
  while ((m2 = p2.exec(rawAttrs)) !== null) {
4374
4374
  const key = m2[1].toLowerCase();
4375
- const value = m2[3] ?? m2[4] ?? m2[5] ?? "";
4376
- attribs[key] = value;
4375
+ attribs[key] = m2[3] ?? m2[4] ?? m2[5] ?? "";
4377
4376
  }
4378
4377
  if (attribs.rel === "alternate" && "type" in attribs && (attribs.type === "application/activity+json" || attribs.type === "application/ld+json" || attribs.type.startsWith("application/ld+json;")) && "href" in attribs && new URL(attribs.href, docUrl).href !== docUrl.href) {
4379
4378
  logger.debug("Found alternate document: {alternateUrl} from {url}", {
@@ -4535,8 +4534,7 @@ function getUserAgent({ software, url } = {}) {
4535
4534
  const userAgent = software == null ? [fedify] : [software, fedify];
4536
4535
  if (runtime != null) userAgent.push(runtime);
4537
4536
  if (url != null) userAgent.push(`+${url.toString()}`);
4538
- const first = userAgent.shift();
4539
- return `${first} (${userAgent.join("; ")})`;
4537
+ return `${userAgent.shift()} (${userAgent.join("; ")})`;
4540
4538
  }
4541
4539
 
4542
4540
  //#endregion
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { __commonJS, __toESM } from "./chunk-HsBuZ-b2.js";
6
+ import { __commonJS, __toESM } from "./chunk-Cx8LTkjm.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 = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/glob-to-regexp@0.4.1/node_modules/glob-to-regexp/index.js": ((exports, module) => {
@@ -66,13 +66,10 @@ var require_glob_to_regexp = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/gl
66
66
  }
67
67
  var nextChar = str[i + 1];
68
68
  if (!globstar) reStr += ".*";
69
- else {
70
- var isGlobstar = starCount > 1 && (prevChar === "/" || prevChar === void 0) && (nextChar === "/" || nextChar === void 0);
71
- if (isGlobstar) {
72
- reStr += "((?:[^/]*(?:/|$))*)";
73
- i++;
74
- } else reStr += "([^/]*)";
75
- }
69
+ else if (starCount > 1 && (prevChar === "/" || prevChar === void 0) && (nextChar === "/" || nextChar === void 0)) {
70
+ reStr += "((?:[^/]*(?:/|$))*)";
71
+ i++;
72
+ } else reStr += "([^/]*)";
76
73
  break;
77
74
  default: reStr += c;
78
75
  }
@@ -115,7 +112,7 @@ function parse(input, loose) {
115
112
  }
116
113
 
117
114
  //#endregion
118
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/TypeDescriptor.js
115
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/TypeDescriptor.js
119
116
  const valueTypes = new Set([
120
117
  "boolean",
121
118
  "number",
@@ -207,7 +204,7 @@ var TypeDescriptor = class TypeDescriptor {
207
204
  };
208
205
 
209
206
  //#endregion
210
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/IsSubsetOf.js
207
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/IsSubsetOf.js
211
208
  const allowedTypes = new Set([
212
209
  "array",
213
210
  "object",
@@ -254,16 +251,14 @@ const isSubsetOf = function(subset, superset, visited = []) {
254
251
  if (Object.keys(subset).length > Object.keys(superset).length) return false;
255
252
  for (const [subsetKey, subsetValue] of Object.entries(subset)) {
256
253
  const supersetValue = superset[subsetKey];
257
- const subsetValueType = TypeDescriptor.of(subsetValue);
258
- switch (subsetValueType) {
254
+ switch (TypeDescriptor.of(subsetValue)) {
259
255
  case "array":
260
256
  case "object":
261
257
  case "function":
262
258
  if (visited.includes(subsetValue)) continue;
263
259
  visited.push(subsetValue);
264
260
  try {
265
- const isInSuperset = isSubsetOf(subsetValue, supersetValue, visited);
266
- if (!isInSuperset) return false;
261
+ if (!isSubsetOf(subsetValue, supersetValue, visited)) return false;
267
262
  } catch {
268
263
  return false;
269
264
  }
@@ -290,8 +285,7 @@ isSubsetOf.structural = function(subset, superset, visited = []) {
290
285
  if (visited.includes(subsetValue)) continue;
291
286
  visited.push(subsetValue);
292
287
  try {
293
- const isInSuperset = isSubsetOf.structural(subsetValue, supersetValue, visited);
294
- if (!isInSuperset) return false;
288
+ if (!isSubsetOf.structural(subsetValue, supersetValue, visited)) return false;
295
289
  } catch {
296
290
  return false;
297
291
  }
@@ -364,7 +358,7 @@ function dequal(foo, bar) {
364
358
  }
365
359
 
366
360
  //#endregion
367
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/RequestUtils.js
361
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/RequestUtils.js
368
362
  const absoluteUrlRX = new RegExp("^[a-z]+://|^data:", "i");
369
363
  const protocolRelativeUrlRX = new RegExp("^//", "i");
370
364
  function hasCredentialsInUrl(url) {
@@ -414,7 +408,7 @@ async function createCallLogFromRequest(request, options) {
414
408
  } catch {}
415
409
  if (request.headers) derivedOptions.headers = normalizeHeaders(request.headers);
416
410
  const url = normalizeUrl(request.url, true);
417
- const callLog = {
411
+ return {
418
412
  args: [request, options],
419
413
  url,
420
414
  queryParams: new URLSearchParams(getQuery(url)),
@@ -423,11 +417,9 @@ async function createCallLogFromRequest(request, options) {
423
417
  signal: options && options.signal || request.signal,
424
418
  pendingPromises
425
419
  };
426
- return callLog;
427
420
  }
428
421
  function getPath(url) {
429
- const u = absoluteUrlRX.test(url) ? new URL(url) : new URL(url, "http://dummy");
430
- return u.pathname;
422
+ return (absoluteUrlRX.test(url) ? new URL(url) : new URL(url, "http://dummy")).pathname;
431
423
  }
432
424
  function getQuery(url) {
433
425
  const u = absoluteUrlRX.test(url) ? new URL(url) : new URL(url, "http://dummy");
@@ -442,7 +434,7 @@ function normalizeHeaders(headers) {
442
434
  }
443
435
 
444
436
  //#endregion
445
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/Matchers.js
437
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/Matchers.js
446
438
  var import_glob_to_regexp = /* @__PURE__ */ __toESM(require_glob_to_regexp(), 1);
447
439
  const isUrlMatcher = (matcher) => matcher instanceof RegExp || typeof matcher === "string" || typeof matcher === "object" && "href" in matcher;
448
440
  const isFunctionMatcher = (matcher) => typeof matcher === "function";
@@ -625,7 +617,7 @@ const builtInMatchers = [
625
617
  ];
626
618
 
627
619
  //#endregion
628
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/StatusTextMap.js
620
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/StatusTextMap.js
629
621
  const statusTextMap = {
630
622
  100: "Continue",
631
623
  101: "Switching Protocols",
@@ -693,7 +685,7 @@ const statusTextMap = {
693
685
  var StatusTextMap_default = statusTextMap;
694
686
 
695
687
  //#endregion
696
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/Route.js
688
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/Route.js
697
689
  var __classPrivateFieldSet = void 0 && (void 0).__classPrivateFieldSet || function(receiver, state, value, kind, f) {
698
690
  if (kind === "m") throw new TypeError("Private method is not writable");
699
691
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -767,8 +759,7 @@ var Route = class {
767
759
  }
768
760
  constructResponseBody(responseInput, responseOptions) {
769
761
  let body = responseInput.body;
770
- const bodyIsBodyInit = isBodyInit(body);
771
- if (!bodyIsBodyInit) if (typeof body === "undefined") body = null;
762
+ if (!isBodyInit(body)) if (typeof body === "undefined") body = null;
772
763
  else if (typeof body === "object") {
773
764
  body = JSON.stringify(body);
774
765
  if (!responseOptions.headers.has("Content-Type")) responseOptions.headers.set("Content-Type", "application/json");
@@ -805,8 +796,7 @@ _a = Route, _Route_responseSubscriptions = /* @__PURE__ */ new WeakMap(), _Route
805
796
  const originalMatcher = this.matcher;
806
797
  let timesLeft = this.config.repeat;
807
798
  this.matcher = (callLog) => {
808
- const match = timesLeft && originalMatcher(callLog);
809
- if (match) {
799
+ if (timesLeft && originalMatcher(callLog)) {
810
800
  timesLeft--;
811
801
  return true;
812
802
  }
@@ -827,7 +817,7 @@ builtInMatchers.forEach(Route.defineMatcher);
827
817
  var Route_default = Route;
828
818
 
829
819
  //#endregion
830
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/Router.js
820
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/Router.js
831
821
  const responseConfigProps = [
832
822
  "body",
833
823
  "headers",
@@ -893,8 +883,7 @@ var Router = class {
893
883
  callLog.signal.addEventListener("abort", abort);
894
884
  }
895
885
  if (this.needsToReadBody(request)) options.body = await options.body;
896
- const routesToTry = this.fallbackRoute ? [...this.routes, this.fallbackRoute] : this.routes;
897
- const route = routesToTry.find((route$1) => route$1.matcher(callLog));
886
+ const route = (this.fallbackRoute ? [...this.routes, this.fallbackRoute] : this.routes).find((route$1) => route$1.matcher(callLog));
898
887
  if (route) try {
899
888
  callLog.route = route;
900
889
  const { response, responseOptions, responseInput } = await this.generateResponse(callLog);
@@ -1000,7 +989,7 @@ var Router = class {
1000
989
  };
1001
990
 
1002
991
  //#endregion
1003
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/CallHistory.js
992
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/CallHistory.js
1004
993
  const isName = (filter) => typeof filter === "string" && /^[\da-zA-Z-]+$/.test(filter) && !["matched", "unmatched"].includes(filter);
1005
994
  const isMatchedOrUnmatched = (filter) => typeof filter === "boolean" || ["matched", "unmatched"].includes(filter);
1006
995
  var CallHistory = class {
@@ -1085,7 +1074,7 @@ var CallHistory = class {
1085
1074
  var CallHistory_default = CallHistory;
1086
1075
 
1087
1076
  //#endregion
1088
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/FetchMock.js
1077
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/FetchMock.js
1089
1078
  const defaultFetchMockConfig = {
1090
1079
  includeContentLength: true,
1091
1080
  matchPartialBody: false,
@@ -1218,7 +1207,7 @@ const fetchMock = new FetchMock({ ...defaultFetchMockConfig });
1218
1207
  var FetchMock_default = fetchMock;
1219
1208
 
1220
1209
  //#endregion
1221
- //#region node_modules/.pnpm/fetch-mock@12.5.3/node_modules/fetch-mock/dist/esm/index.js
1210
+ //#region node_modules/.pnpm/fetch-mock@12.5.4/node_modules/fetch-mock/dist/esm/index.js
1222
1211
  var esm_default = FetchMock_default;
1223
1212
 
1224
1213
  //#endregion