@fedify/fedify 1.7.15 → 1.7.16

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 (129) hide show
  1. package/dist/actor-BzWaWDTY.js +146 -0
  2. package/dist/actor.js +34648 -5
  3. package/dist/{assert.js → assert-C-mZuSQl.js} +1 -1
  4. package/dist/{assert_instance_of.js → assert_instance_of-lS0Jr2iu.js} +1 -1
  5. package/dist/{assert_is_error.js → assert_is_error-CIYFACrT.js} +1 -1
  6. package/dist/{assert_not_equals.js → assert_not_equals-C1azCAB0.js} +1 -1
  7. package/dist/{assert_rejects.js → assert_rejects-Bkh5lA1a.js} +2 -2
  8. package/dist/{assert_throws.js → assert_throws-CmpfkWEM.js} +2 -2
  9. package/dist/authdocloader-1vrHbYJF.js +51 -0
  10. package/dist/authdocloader.js +2 -4
  11. package/dist/{builder.js → builder-8YjpOSrf.js} +5 -5
  12. package/dist/{client.js → client-CJ3nfMyp.js} +2 -2
  13. package/dist/compat/transformers.test.js +30 -30
  14. package/dist/{context.js → context-OXYKUfFL.js} +4 -4
  15. package/dist/docloader-I3SkMpZK.js +4421 -0
  16. package/dist/docloader.js +61 -4
  17. package/dist/{esm.js → esm-BRXvTSrx.js} +1 -1
  18. package/dist/federation/builder.test.js +17 -17
  19. package/dist/federation/collection.test.js +8 -8
  20. package/dist/federation/handler.test.js +36 -36
  21. package/dist/federation/inbox.test.js +11 -11
  22. package/dist/federation/keycache.test.js +12 -12
  23. package/dist/federation/kv.test.js +8 -8
  24. package/dist/federation/middleware.test.js +39 -39
  25. package/dist/federation/mq.test.js +10 -10
  26. package/dist/federation/retry.test.js +5 -5
  27. package/dist/federation/router.test.js +9 -9
  28. package/dist/federation/send.test.js +23 -23
  29. package/dist/http-CiQH4CF3.js +789 -0
  30. package/dist/http.js +4 -5
  31. package/dist/{inbox.js → inbox-BqBPO0vG.js} +3 -3
  32. package/dist/key-Ba-IjS2c.js +259 -0
  33. package/dist/key-CdNa4Um6.js +16 -0
  34. package/dist/key.js +1 -7
  35. package/dist/key2.js +2 -4
  36. package/dist/{keycache.js → keycache-BdgRTisV.js} +1 -1
  37. package/dist/{keys.js → keys-CLFIvF3E.js} +1 -1
  38. package/dist/{ld.js → ld-Dm1tdWDX.js} +4 -4
  39. package/dist/{lookup2.js → lookup-BumKjgCt.js} +4 -4
  40. package/dist/lookup-CoCshjhM.js +129 -0
  41. package/dist/lookup.js +1 -3
  42. package/dist/middleware-Dvd4BUlF.js +2661 -0
  43. package/dist/middleware-pC0Ld2I6.js +32 -0
  44. package/dist/middleware.js +1222 -364
  45. package/dist/middleware2.js +6 -21
  46. package/dist/nodeinfo/client.test.js +12 -12
  47. package/dist/nodeinfo/handler.test.js +34 -34
  48. package/dist/nodeinfo/semver.test.js +8 -8
  49. package/dist/nodeinfo/types.test.js +9 -9
  50. package/dist/{owner.js → owner-BO3ZhyYg.js} +3 -3
  51. package/dist/proof-Btlfk6hr.js +255 -0
  52. package/dist/proof.js +330 -8
  53. package/dist/runtime/authdocloader.test.js +20 -20
  54. package/dist/runtime/docloader.test.js +13 -13
  55. package/dist/runtime/key.test.js +15 -15
  56. package/dist/runtime/langstr.test.js +8 -8
  57. package/dist/runtime/multibase/multibase.test.js +8 -8
  58. package/dist/runtime/url.test.js +7 -7
  59. package/dist/{send.js → send-Dj-482tr.js} +2 -2
  60. package/dist/sig/http.test.js +20 -20
  61. package/dist/sig/key.test.js +17 -17
  62. package/dist/sig/ld.test.js +18 -18
  63. package/dist/sig/owner.test.js +20 -20
  64. package/dist/sig/proof.test.js +19 -19
  65. package/dist/{std__assert.js → std__assert-BdP_WkD-.js} +1 -1
  66. package/dist/testing/docloader.test.js +8 -8
  67. package/dist/testing/mod.js +2 -2
  68. package/dist/{testing.js → testing-qaAD4B0t.js} +1 -1
  69. package/dist/types-CB_2uuCA.js +51 -0
  70. package/dist/types.js +397 -3
  71. package/dist/vocab/actor.test.js +16 -16
  72. package/dist/vocab/lookup.test.js +17 -17
  73. package/dist/vocab/type.test.js +9 -9
  74. package/dist/vocab/vocab.test.js +17 -17
  75. package/dist/vocab-B8zleLsO.js +34386 -0
  76. package/dist/vocab.js +133 -34351
  77. package/dist/webfinger/handler.test.js +34 -34
  78. package/dist/webfinger/lookup.test.js +11 -11
  79. package/dist/x/cfworkers.test.js +7 -7
  80. package/package.json +1 -1
  81. /package/dist/{assert_equals.js → assert_equals-Dy0MG_Zw.js} +0 -0
  82. /package/dist/{chunk.js → chunk-DvTpRkcT.js} +0 -0
  83. /package/dist/{collection.js → collection-XNLQhehO.js} +0 -0
  84. /package/dist/compat/{transformers.test.d.ts → transformers.test-DnJbd34u.d.ts} +0 -0
  85. /package/dist/{denokv.js → denokv-NcJeZ6rP.js} +0 -0
  86. /package/dist/{docloader2.js → docloader-BDSHZfTJ.js} +0 -0
  87. /package/dist/federation/{builder.test.d.ts → builder.test-Bpt6NOZ6.d.ts} +0 -0
  88. /package/dist/federation/{collection.test.d.ts → collection.test-DKJ6JOZz.d.ts} +0 -0
  89. /package/dist/federation/{handler.test.d.ts → handler.test-BMT7uLC0.d.ts} +0 -0
  90. /package/dist/federation/{inbox.test.d.ts → inbox.test-Do6i02Qp.d.ts} +0 -0
  91. /package/dist/federation/{keycache.test.d.ts → keycache.test-BT83IPZY.d.ts} +0 -0
  92. /package/dist/federation/{kv.test.d.ts → kv.test-kFzzF2VN.d.ts} +0 -0
  93. /package/dist/federation/{middleware.test.d.ts → middleware.test-B1R4_e3-.d.ts} +0 -0
  94. /package/dist/federation/{mq.test.d.ts → mq.test-l79EQQOe.d.ts} +0 -0
  95. /package/dist/federation/{retry.test.d.ts → retry.test-BqS50VCX.d.ts} +0 -0
  96. /package/dist/federation/{router.test.d.ts → router.test-CYQl4po-.d.ts} +0 -0
  97. /package/dist/federation/{send.test.d.ts → send.test-COUnNUzv.d.ts} +0 -0
  98. /package/dist/{kv.js → kv-QeuZ51go.js} +0 -0
  99. /package/dist/{langstr.js → langstr-pFHBDU4y.js} +0 -0
  100. /package/dist/{multibase.js → multibase-DBcKTV2a.js} +0 -0
  101. /package/dist/nodeinfo/{client.test.d.ts → client.test-CZLe79hL.d.ts} +0 -0
  102. /package/dist/nodeinfo/{handler.test.d.ts → handler.test-B-EDZ_hK.d.ts} +0 -0
  103. /package/dist/nodeinfo/{semver.test.d.ts → semver.test-BEuuQSEM.d.ts} +0 -0
  104. /package/dist/nodeinfo/{types.test.d.ts → types.test-B5AT89WV.d.ts} +0 -0
  105. /package/dist/{retry.js → retry-BQet39_l.js} +0 -0
  106. /package/dist/{router.js → router-BuDkN4RQ.js} +0 -0
  107. /package/dist/runtime/{authdocloader.test.d.ts → authdocloader.test-hCRKzn9v.d.ts} +0 -0
  108. /package/dist/runtime/{docloader.test.d.ts → docloader.test-CVd7i_5h.d.ts} +0 -0
  109. /package/dist/runtime/{key.test.d.ts → key.test-DBsILYSD.d.ts} +0 -0
  110. /package/dist/runtime/{langstr.test.d.ts → langstr.test-CiKxuuRY.d.ts} +0 -0
  111. /package/dist/runtime/multibase/{multibase.test.d.ts → multibase.test-Brh6gPBP.d.ts} +0 -0
  112. /package/dist/runtime/{url.test.d.ts → url.test-DlRqkU2j.d.ts} +0 -0
  113. /package/dist/{semver.js → semver-D9d-VO-_.js} +0 -0
  114. /package/dist/sig/{http.test.d.ts → http.test-BpXNAWNI.d.ts} +0 -0
  115. /package/dist/sig/{key.test.d.ts → key.test-B2iLIugy.d.ts} +0 -0
  116. /package/dist/sig/{ld.test.d.ts → ld.test-D-cI70Gw.d.ts} +0 -0
  117. /package/dist/sig/{owner.test.d.ts → owner.test-B_YRjMPj.d.ts} +0 -0
  118. /package/dist/sig/{proof.test.d.ts → proof.test-BagEM_-4.d.ts} +0 -0
  119. /package/dist/testing/{docloader.test.d.ts → docloader.test-lrzf6sDZ.d.ts} +0 -0
  120. /package/dist/testing/{mod.d.ts → mod-3uM8ZvS7.d.ts} +0 -0
  121. /package/dist/{type.js → type-DFsmi-p1.js} +0 -0
  122. /package/dist/{url.js → url-BdNvnK9P.js} +0 -0
  123. /package/dist/vocab/{actor.test.d.ts → actor.test-ClC-iVWk.d.ts} +0 -0
  124. /package/dist/vocab/{lookup.test.d.ts → lookup.test-Cq1I-27w.d.ts} +0 -0
  125. /package/dist/vocab/{type.test.d.ts → type.test-bfFiYGcs.d.ts} +0 -0
  126. /package/dist/vocab/{vocab.test.d.ts → vocab.test-h-ZTisfu.d.ts} +0 -0
  127. /package/dist/webfinger/{handler.test.d.ts → handler.test-DiUeEDDD.d.ts} +0 -0
  128. /package/dist/webfinger/{lookup.test.d.ts → lookup.test-D9onm3U3.d.ts} +0 -0
  129. /package/dist/x/{cfworkers.test.d.ts → cfworkers.test-KXHlJ29z.d.ts} +0 -0
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { u as AssertionError } from "./assert_equals.js";
6
+ import { u as AssertionError } from "./assert_equals-Dy0MG_Zw.js";
7
7
 
8
8
  //#region node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { u as AssertionError } from "./assert_equals.js";
6
+ import { u as AssertionError } from "./assert_equals-Dy0MG_Zw.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 { c as stripAnsiCode, u as AssertionError } from "./assert_equals.js";
6
+ import { c as stripAnsiCode, u as AssertionError } from "./assert_equals-Dy0MG_Zw.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 { l as equal, u as AssertionError } from "./assert_equals.js";
6
+ import { l as equal, u as AssertionError } from "./assert_equals-Dy0MG_Zw.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 { u as AssertionError } from "./assert_equals.js";
7
- import { t as assertIsError } from "./assert_is_error.js";
6
+ import { u as AssertionError } from "./assert_equals-Dy0MG_Zw.js";
7
+ import { t as assertIsError } from "./assert_is_error-CIYFACrT.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 { u as AssertionError } from "./assert_equals.js";
7
- import { t as assertIsError } from "./assert_is_error.js";
6
+ import { u as AssertionError } from "./assert_equals-Dy0MG_Zw.js";
7
+ import { t as assertIsError } from "./assert_is_error-CIYFACrT.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) {
@@ -0,0 +1,51 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import { a as getRemoteDocument, c as logRequest, n as createRequest } from "./docloader-I3SkMpZK.js";
7
+ import { a as validatePublicUrl, t as UrlError } from "./url-BdNvnK9P.js";
8
+ import { a as validateCryptoKey } from "./key-Ba-IjS2c.js";
9
+ import { n as doubleKnock } from "./http-CiQH4CF3.js";
10
+ import { getLogger } from "@logtape/logtape";
11
+
12
+ //#region runtime/authdocloader.ts
13
+ const logger = getLogger([
14
+ "fedify",
15
+ "runtime",
16
+ "docloader"
17
+ ]);
18
+ /**
19
+ * Gets an authenticated {@link DocumentLoader} for the given identity.
20
+ * Note that an authenticated document loader intentionally does not cache
21
+ * the fetched documents.
22
+ * @param identity The identity to get the document loader for.
23
+ * The actor's key pair.
24
+ * @param options The options for the document loader.
25
+ * @returns The authenticated document loader.
26
+ * @throws {TypeError} If the key is invalid or unsupported.
27
+ * @since 0.4.0
28
+ */
29
+ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, userAgent, specDeterminer, tracerProvider } = {}) {
30
+ validateCryptoKey(identity.privateKey);
31
+ async function load(url) {
32
+ if (!allowPrivateAddress) try {
33
+ await validatePublicUrl(url);
34
+ } catch (error) {
35
+ if (error instanceof UrlError) logger.error("Disallowed private URL: {url}", {
36
+ url,
37
+ error
38
+ });
39
+ throw error;
40
+ }
41
+ return getRemoteDocument(url, await doubleKnock(createRequest(url, { userAgent }), identity, {
42
+ specDeterminer,
43
+ log: logRequest,
44
+ tracerProvider
45
+ }), load);
46
+ }
47
+ return load;
48
+ }
49
+
50
+ //#endregion
51
+ export { getAuthenticatedDocumentLoader as t };
@@ -1,12 +1,10 @@
1
1
 
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
4
 
6
- import { a as getRemoteDocument, c as logRequest, n as createRequest } from "./docloader.js";
7
- import { a as validatePublicUrl, t as UrlError } from "./url.js";
5
+ import { a as getRemoteDocument, c as logRequest, l as UrlError, n as createRequest, u as validatePublicUrl } from "./docloader.js";
8
6
  import { a as validateCryptoKey } from "./key2.js";
9
- import { n as doubleKnock } from "./http.js";
7
+ import { t as doubleKnock } from "./http.js";
10
8
  import { getLogger } from "@logtape/logtape";
11
9
 
12
10
  //#region runtime/authdocloader.ts
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { d as version, u as name } from "./docloader.js";
7
- import { n as RouterError, t as Router } from "./router.js";
8
- import { t as getTypeId } from "./type.js";
9
- import { t as InboxListenerSet } from "./inbox.js";
6
+ import { d as version, u as name } from "./docloader-I3SkMpZK.js";
7
+ import { n as RouterError, t as Router } from "./router-BuDkN4RQ.js";
8
+ import { t as getTypeId } from "./type-DFsmi-p1.js";
9
+ import { t as InboxListenerSet } from "./inbox-BqBPO0vG.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("./middleware2.js");
37
+ const { FederationImpl } = await import("./middleware-pC0Ld2I6.js");
38
38
  const f = new FederationImpl(options);
39
39
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
40
40
  f.router = this.router.clone();
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { o as getUserAgent } from "./docloader.js";
7
- import { n as parseSemVer } from "./semver.js";
6
+ import { o as getUserAgent } from "./docloader-I3SkMpZK.js";
7
+ import { n as parseSemVer } from "./semver-D9d-VO-_.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region nodeinfo/client.ts
@@ -3,36 +3,36 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../chunk.js";
7
- import { t as assertEquals } from "../assert_equals.js";
8
- import { t as assert } from "../assert.js";
9
- import { t as assertInstanceOf } from "../assert_instance_of.js";
10
- import { t as MemoryKvStore } from "../kv.js";
11
- import { _ as autoIdAssigner, g as actorDehydrator, n as FederationImpl } from "../middleware.js";
12
- import "../docloader.js";
13
- import "../url.js";
14
- import "../semver.js";
15
- import "../client.js";
16
- import "../router.js";
17
- import "../types.js";
18
- import "../multibase.js";
19
- import { S as Person, l as Follow } from "../vocab.js";
20
- import "../langstr.js";
21
- import "../lookup.js";
22
- import "../actor.js";
23
- import "../key2.js";
24
- import "../http.js";
25
- import "../authdocloader.js";
26
- import "../ld.js";
27
- import "../owner.js";
28
- import "../proof.js";
29
- import "../lookup2.js";
30
- import "../inbox.js";
31
- import "../builder.js";
32
- import "../collection.js";
33
- import "../keycache.js";
34
- import "../send.js";
35
- import { t as test } from "../testing.js";
6
+ import "../chunk-DvTpRkcT.js";
7
+ import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
8
+ import { t as assert } from "../assert-C-mZuSQl.js";
9
+ import { t as assertInstanceOf } from "../assert_instance_of-lS0Jr2iu.js";
10
+ import { t as MemoryKvStore } from "../kv-QeuZ51go.js";
11
+ import { _ as autoIdAssigner, g as actorDehydrator, n as FederationImpl } from "../middleware-Dvd4BUlF.js";
12
+ import "../docloader-I3SkMpZK.js";
13
+ import "../url-BdNvnK9P.js";
14
+ import "../semver-D9d-VO-_.js";
15
+ import "../client-CJ3nfMyp.js";
16
+ import "../router-BuDkN4RQ.js";
17
+ import "../types-CB_2uuCA.js";
18
+ import "../multibase-DBcKTV2a.js";
19
+ import { S as Person, l as Follow } from "../vocab-B8zleLsO.js";
20
+ import "../langstr-pFHBDU4y.js";
21
+ import "../lookup-CoCshjhM.js";
22
+ import "../actor-BzWaWDTY.js";
23
+ import "../key-Ba-IjS2c.js";
24
+ import "../http-CiQH4CF3.js";
25
+ import "../authdocloader-1vrHbYJF.js";
26
+ import "../ld-Dm1tdWDX.js";
27
+ import "../owner-BO3ZhyYg.js";
28
+ import "../proof-Btlfk6hr.js";
29
+ import "../lookup-BumKjgCt.js";
30
+ import "../inbox-BqBPO0vG.js";
31
+ import "../builder-8YjpOSrf.js";
32
+ import "../collection-XNLQhehO.js";
33
+ import "../keycache-BdgRTisV.js";
34
+ import "../send-Dj-482tr.js";
35
+ import { t as test } from "../testing-qaAD4B0t.js";
36
36
 
37
37
  //#region compat/transformers.test.ts
38
38
  const context = new FederationImpl({ kv: new MemoryKvStore() }).createContext(new URL("http://example.com/"));
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { n as RouterError } from "./router.js";
7
- import { t as lookupWebFinger } from "./lookup.js";
8
- import { n as traverseCollection, t as lookupObject } from "./lookup2.js";
9
- import { t as mockDocumentLoader } from "./docloader2.js";
6
+ import { n as RouterError } from "./router-BuDkN4RQ.js";
7
+ import { t as lookupWebFinger } from "./lookup-CoCshjhM.js";
8
+ import { n as traverseCollection, t as lookupObject } from "./lookup-BumKjgCt.js";
9
+ import { t as mockDocumentLoader } from "./docloader-BDSHZfTJ.js";
10
10
  import { trace } from "@opentelemetry/api";
11
11
 
12
12
  //#region testing/context.ts