@fedify/fedify 1.9.0-pr.431.1610 → 1.9.0-pr.439.1643

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 (100) hide show
  1. package/dist/{actor-D7jYcPnn.cjs → actor-CfhHedxU.cjs} +197 -197
  2. package/dist/{actor-BEAs4Rfa.js → actor-DpI0W-Tn.js} +197 -197
  3. package/dist/{actor-D1SNISu7.js → actor-KPC8KYj6.js} +1 -1
  4. package/dist/{authdocloader-DKxdIQtO.js → authdocloader-BQJG9N7v.js} +3 -3
  5. package/dist/{authdocloader-CfBE-GwX.js → authdocloader-CVxE9WGt.js} +3 -3
  6. package/dist/{authdocloader-DKJUCe4a.cjs → authdocloader-DfDexBrY.cjs} +3 -3
  7. package/dist/{builder-CgGQBruC.js → builder-BP4aD50M.js} +4 -4
  8. package/dist/{client-C3YSqexf.js → client-Bui9Gh4q.js} +1 -1
  9. package/dist/compat/transformers.test.js +16 -16
  10. package/dist/{docloader-B1XuLkAD.js → docloader-BxvWvC64.js} +1 -1
  11. package/dist/{docloader-BvAM7fZH.cjs → docloader-CSlrTULv.cjs} +1 -1
  12. package/dist/{esm-DJ_VMRiX.js → esm-c7PrxCw-.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/inbox.test.js +4 -4
  17. package/dist/federation/keycache.test.js +4 -4
  18. package/dist/federation/kv.test.js +4 -3
  19. package/dist/federation/middleware.test.js +18 -18
  20. package/dist/federation/mod.cjs +10 -10
  21. package/dist/federation/mod.js +10 -10
  22. package/dist/federation/mq.test.js +3 -3
  23. package/dist/federation/retry.test.js +3 -3
  24. package/dist/federation/router.test.js +3 -3
  25. package/dist/federation/send.test.js +10 -10
  26. package/dist/{http-Ds0LTTSM.js → http-BF9qsaeq.js} +3 -3
  27. package/dist/{http-BgzA6jae.js → http-Dv1yjtnP.js} +2 -2
  28. package/dist/{http-CAFNF0iO.cjs → http-Dy617oJi.cjs} +3 -3
  29. package/dist/{inbox-D4Cb7QkK.js → inbox-Cu7OAGkC.js} +1 -1
  30. package/dist/{key-B-zNaX1j.js → key-BA23EOog.js} +3 -3
  31. package/dist/{key-Cy9BZAvS.js → key-BLHsstcf.js} +2 -2
  32. package/dist/{key-CgTdjgMJ.js → key-BzOUXfsg.js} +4 -4
  33. package/dist/key-CK98kF20.cjs +10 -0
  34. package/dist/{key-CCZPSqiH.cjs → key-CULAE72e.cjs} +2 -2
  35. package/dist/{key-CIhTILta.js → key-CmfU4Nff.js} +2 -2
  36. package/dist/{keycache-wYb-oxnf.js → keycache-aLCenYcC.js} +1 -1
  37. package/dist/{keys-DC6gPFjj.js → keys-D46Dm6Zd.js} +1 -1
  38. package/dist/{ld-BRNOa1H0.js → ld-bQVyNVI4.js} +2 -2
  39. package/dist/{lookup-CbeXkXzo.js → lookup-BV-RYejn.js} +1 -1
  40. package/dist/{lookup-B8HaDWQy.cjs → lookup-BtS7imxC.cjs} +1 -1
  41. package/dist/{lookup-C4eH5cYn.js → lookup-DWilfXOH.js} +1 -1
  42. package/dist/{middleware-DS1MxLTd.js → middleware-Bc82l2LP.js} +24 -24
  43. package/dist/{middleware-C8ExR52y.cjs → middleware-BvYquIU2.cjs} +24 -24
  44. package/dist/middleware-C-XUMaxL.cjs +17 -0
  45. package/dist/{middleware-yTRyzvMw.js → middleware-C6ec_xpL.js} +27 -27
  46. package/dist/middleware-CJGpew1U.js +26 -0
  47. package/dist/middleware-QSwuLhGe.js +17 -0
  48. package/dist/mod.cjs +10 -10
  49. package/dist/mod.js +10 -10
  50. package/dist/nodeinfo/client.test.js +5 -5
  51. package/dist/nodeinfo/handler.test.js +16 -16
  52. package/dist/nodeinfo/mod.cjs +2 -2
  53. package/dist/nodeinfo/mod.js +2 -2
  54. package/dist/nodeinfo/semver.test.js +3 -3
  55. package/dist/nodeinfo/types.test.js +3 -3
  56. package/dist/{owner-CA34KiVt.js → owner-IdDD30Rl.js} +2 -2
  57. package/dist/{proof-Lb5J8kZs.js → proof-Bacq4fFb.js} +3 -3
  58. package/dist/{proof-BYW1UtvZ.cjs → proof-Cdt-JryO.cjs} +3 -3
  59. package/dist/{proof-DCywA0A9.js → proof-DqejZTy7.js} +2 -2
  60. package/dist/runtime/authdocloader.test.js +9 -9
  61. package/dist/runtime/docloader.test.js +4 -4
  62. package/dist/runtime/key.test.js +5 -5
  63. package/dist/runtime/langstr.test.js +3 -3
  64. package/dist/runtime/link.test.js +3 -3
  65. package/dist/runtime/mod.cjs +6 -6
  66. package/dist/runtime/mod.js +6 -6
  67. package/dist/runtime/multibase/multibase.test.js +3 -3
  68. package/dist/runtime/url.test.js +3 -3
  69. package/dist/{send-CCYAwvUz.js → send-CtMRP7jp.js} +2 -2
  70. package/dist/sig/http.test.js +8 -8
  71. package/dist/sig/key.test.js +6 -6
  72. package/dist/sig/ld.test.js +7 -7
  73. package/dist/sig/mod.cjs +6 -6
  74. package/dist/sig/mod.js +6 -6
  75. package/dist/sig/owner.test.js +7 -7
  76. package/dist/sig/proof.test.js +7 -7
  77. package/dist/testing/docloader.test.js +3 -3
  78. package/dist/testing/mod.js +3 -3
  79. package/dist/{testing-D8uHmxZf.js → testing-DqxPhgD4.js} +2 -2
  80. package/dist/{type-B_KdjvvV.js → type-tt9Ec12R.js} +196 -196
  81. package/dist/{types-Bnm8HO_7.cjs → types-C50PioTN.cjs} +1 -1
  82. package/dist/{types-BJQx6og9.js → types-DIhanZoH.js} +1 -1
  83. package/dist/vocab/actor.test.js +5 -5
  84. package/dist/vocab/lookup.test.js +4 -4
  85. package/dist/vocab/mod.cjs +4 -4
  86. package/dist/vocab/mod.js +4 -4
  87. package/dist/vocab/type.test.js +3 -3
  88. package/dist/vocab/vocab.test.js +40 -5
  89. package/dist/{vocab-Bg61J7Qa.js → vocab-C85duzv5.js} +3 -3
  90. package/dist/{vocab-HaE5Fc6F.cjs → vocab-VVJBvA2F.cjs} +3 -3
  91. package/dist/webfinger/handler.test.js +16 -16
  92. package/dist/webfinger/lookup.test.js +4 -4
  93. package/dist/webfinger/mod.cjs +2 -2
  94. package/dist/webfinger/mod.js +2 -2
  95. package/dist/x/cfworkers.test.js +3 -3
  96. package/package.json +1 -1
  97. package/dist/key-BDenFcHJ.cjs +0 -10
  98. package/dist/middleware-67ENnFNZ.js +0 -17
  99. package/dist/middleware-DWa2DHDL.cjs +0 -17
  100. package/dist/middleware-qMDNSljM.js +0 -26
@@ -0,0 +1,10 @@
1
+
2
+ const { Temporal } = require("@js-temporal/polyfill");
3
+ const { URLPattern } = require("urlpattern-polyfill");
4
+
5
+ require('./docloader-CSlrTULv.cjs');
6
+ require('./actor-CfhHedxU.cjs');
7
+ require('./lookup-BtS7imxC.cjs');
8
+ const require_key = require('./key-CULAE72e.cjs');
9
+
10
+ exports.validateCryptoKey = require_key.validateCryptoKey;
@@ -3,8 +3,8 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
- const require_docloader = require('./docloader-BvAM7fZH.cjs');
7
- const require_actor = require('./actor-D7jYcPnn.cjs');
6
+ const require_docloader = require('./docloader-CSlrTULv.cjs');
7
+ const require_actor = require('./actor-CfhHedxU.cjs');
8
8
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
9
9
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
10
10
 
@@ -2,8 +2,8 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { deno_default, getDocumentLoader } from "./docloader-B1XuLkAD.js";
6
- import { CryptographicKey, Object as Object$1, isActor } from "./actor-BEAs4Rfa.js";
5
+ import { deno_default, getDocumentLoader } from "./docloader-BxvWvC64.js";
6
+ import { CryptographicKey, Object as Object$1, isActor } from "./actor-DpI0W-Tn.js";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
9
9
 
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey } from "./type-B_KdjvvV.js";
6
+ import { CryptographicKey, Multikey } from "./type-tt9Ec12R.js";
7
7
 
8
8
  //#region src/federation/keycache.ts
9
9
  var KvKeyCache = class {
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Multikey, importSpki } from "./type-B_KdjvvV.js";
6
+ import { CryptographicKey, Multikey, importSpki } from "./type-tt9Ec12R.js";
7
7
 
8
8
  //#region src/testing/keys.ts
9
9
  const rsaPublicKey1 = new CryptographicKey({
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, CryptographicKey, Object as Object$1, deno_default, getDocumentLoader, getTypeId } from "./type-B_KdjvvV.js";
7
- import { fetchKey, validateCryptoKey } from "./key-Cy9BZAvS.js";
6
+ import { Activity, CryptographicKey, Object as Object$1, deno_default, getDocumentLoader, getTypeId } from "./type-tt9Ec12R.js";
7
+ import { fetchKey, validateCryptoKey } from "./key-BLHsstcf.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
10
10
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Object as Object$1, deno_default, getDocumentLoader, getTypeId, lookupWebFinger } from "./type-B_KdjvvV.js";
6
+ import { Object as Object$1, deno_default, getDocumentLoader, getTypeId, lookupWebFinger } from "./type-tt9Ec12R.js";
7
7
  import { cloneDeep, delay } from "es-toolkit";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -3,7 +3,7 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
- const require_docloader = require('./docloader-BvAM7fZH.cjs');
6
+ const require_docloader = require('./docloader-CSlrTULv.cjs');
7
7
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
8
8
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
9
9
 
@@ -2,7 +2,7 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-B1XuLkAD.js";
5
+ import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-BxvWvC64.js";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
8
8
 
@@ -3,15 +3,15 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import { getDefaultActivityTransformers } from "./transformers-BFT6d7J5.js";
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-B1XuLkAD.js";
7
- import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-BEAs4Rfa.js";
8
- import { lookupWebFinger } from "./lookup-C4eH5cYn.js";
9
- import { exportJwk, importJwk, validateCryptoKey } from "./key-CIhTILta.js";
10
- import { doubleKnock, verifyRequest } from "./http-Ds0LTTSM.js";
11
- import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-Lb5J8kZs.js";
12
- import { getNodeInfo, nodeInfoToJson } from "./types-BJQx6og9.js";
13
- import { getAuthenticatedDocumentLoader } from "./authdocloader-DKxdIQtO.js";
14
- import { lookupObject, traverseCollection } from "./vocab-Bg61J7Qa.js";
6
+ import { deno_default, getDocumentLoader, kvCache } from "./docloader-BxvWvC64.js";
7
+ import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-DpI0W-Tn.js";
8
+ import { lookupWebFinger } from "./lookup-DWilfXOH.js";
9
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-CmfU4Nff.js";
10
+ import { doubleKnock, verifyRequest } from "./http-BF9qsaeq.js";
11
+ import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-Bacq4fFb.js";
12
+ import { getNodeInfo, nodeInfoToJson } from "./types-DIhanZoH.js";
13
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-BQJG9N7v.js";
14
+ import { lookupObject, traverseCollection } from "./vocab-C85duzv5.js";
15
15
  import { getLogger, withContext } from "@logtape/logtape";
16
16
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
17
17
  import { encodeHex } from "byte-encodings/hex";
@@ -321,7 +321,7 @@ var FederationBuilderImpl = class {
321
321
  this.collectionTypeIds = {};
322
322
  }
323
323
  async build(options) {
324
- const { FederationImpl: FederationImpl$1 } = await import("./middleware-67ENnFNZ.js");
324
+ const { FederationImpl: FederationImpl$1 } = await import("./middleware-QSwuLhGe.js");
325
325
  const f = new FederationImpl$1(options);
326
326
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
327
327
  f.router = this.router.clone();
@@ -3486,15 +3486,16 @@ var ContextImpl = class ContextImpl {
3486
3486
  "actor"
3487
3487
  ]);
3488
3488
  if (this.federation.actorCallbacks?.keyPairsDispatcher == null) throw new Error("No actor key pairs dispatcher registered.");
3489
- const path = this.federation.router.build("actor", {
3490
- identifier,
3491
- handle: identifier
3492
- });
3493
- if (path == null) {
3494
- logger$1.warn("No actor dispatcher registered.");
3495
- return [];
3489
+ let actorUri;
3490
+ try {
3491
+ actorUri = this.getActorUri(identifier);
3492
+ } catch (error) {
3493
+ if (error instanceof RouterError) {
3494
+ logger$1.warn(error.message);
3495
+ return [];
3496
+ }
3497
+ throw error;
3496
3498
  }
3497
- const actorUri = new URL(path, this.canonicalOrigin);
3498
3499
  const keyPairs = await this.federation.actorCallbacks?.keyPairsDispatcher(new ContextImpl({
3499
3500
  ...this,
3500
3501
  invokedFromActorKeyPairsDispatcher: { identifier }
@@ -3655,12 +3656,11 @@ var ContextImpl = class ContextImpl {
3655
3656
  if (identifier == null) throw new Error("If recipients is \"followers\", sender must be an actor identifier or username.");
3656
3657
  expandedRecipients = [];
3657
3658
  for await (const recipient of this.getFollowers(identifier)) expandedRecipients.push(recipient);
3658
- if (options.syncCollection) {
3659
- const collectionId = this.federation.router.build("followers", {
3660
- identifier,
3661
- handle: identifier
3662
- });
3663
- opts.collectionSync = collectionId == null ? void 0 : new URL(collectionId, this.canonicalOrigin).href;
3659
+ if (options.syncCollection) try {
3660
+ opts.collectionSync = this.getFollowersUri(identifier).href;
3661
+ } catch (error) {
3662
+ if (error instanceof RouterError) opts.collectionSync = void 0;
3663
+ else throw error;
3664
3664
  }
3665
3665
  } else expandedRecipients = [recipients];
3666
3666
  span.setAttribute("activitypub.inboxes", expandedRecipients.length);
@@ -4,15 +4,15 @@
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
6
  const require_transformers = require('./transformers-CoBS-oFG.cjs');
7
- const require_docloader = require('./docloader-BvAM7fZH.cjs');
8
- const require_actor = require('./actor-D7jYcPnn.cjs');
9
- const require_lookup = require('./lookup-B8HaDWQy.cjs');
10
- const require_key = require('./key-CCZPSqiH.cjs');
11
- const require_http = require('./http-CAFNF0iO.cjs');
12
- const require_proof = require('./proof-BYW1UtvZ.cjs');
13
- const require_types = require('./types-Bnm8HO_7.cjs');
14
- const require_authdocloader = require('./authdocloader-DKJUCe4a.cjs');
15
- const require_vocab = require('./vocab-HaE5Fc6F.cjs');
7
+ const require_docloader = require('./docloader-CSlrTULv.cjs');
8
+ const require_actor = require('./actor-CfhHedxU.cjs');
9
+ const require_lookup = require('./lookup-BtS7imxC.cjs');
10
+ const require_key = require('./key-CULAE72e.cjs');
11
+ const require_http = require('./http-Dy617oJi.cjs');
12
+ const require_proof = require('./proof-Cdt-JryO.cjs');
13
+ const require_types = require('./types-C50PioTN.cjs');
14
+ const require_authdocloader = require('./authdocloader-DfDexBrY.cjs');
15
+ const require_vocab = require('./vocab-VVJBvA2F.cjs');
16
16
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
17
17
  const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
18
18
  const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
@@ -322,7 +322,7 @@ var FederationBuilderImpl = class {
322
322
  this.collectionTypeIds = {};
323
323
  }
324
324
  async build(options) {
325
- const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-DWa2DHDL.cjs"));
325
+ const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-C-XUMaxL.cjs"));
326
326
  const f = new FederationImpl$1(options);
327
327
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
328
328
  f.router = this.router.clone();
@@ -3487,15 +3487,16 @@ var ContextImpl = class ContextImpl {
3487
3487
  "actor"
3488
3488
  ]);
3489
3489
  if (this.federation.actorCallbacks?.keyPairsDispatcher == null) throw new Error("No actor key pairs dispatcher registered.");
3490
- const path = this.federation.router.build("actor", {
3491
- identifier,
3492
- handle: identifier
3493
- });
3494
- if (path == null) {
3495
- logger$1.warn("No actor dispatcher registered.");
3496
- return [];
3490
+ let actorUri;
3491
+ try {
3492
+ actorUri = this.getActorUri(identifier);
3493
+ } catch (error) {
3494
+ if (error instanceof RouterError) {
3495
+ logger$1.warn(error.message);
3496
+ return [];
3497
+ }
3498
+ throw error;
3497
3499
  }
3498
- const actorUri = new URL(path, this.canonicalOrigin);
3499
3500
  const keyPairs = await this.federation.actorCallbacks?.keyPairsDispatcher(new ContextImpl({
3500
3501
  ...this,
3501
3502
  invokedFromActorKeyPairsDispatcher: { identifier }
@@ -3656,12 +3657,11 @@ var ContextImpl = class ContextImpl {
3656
3657
  if (identifier == null) throw new Error("If recipients is \"followers\", sender must be an actor identifier or username.");
3657
3658
  expandedRecipients = [];
3658
3659
  for await (const recipient of this.getFollowers(identifier)) expandedRecipients.push(recipient);
3659
- if (options.syncCollection) {
3660
- const collectionId = this.federation.router.build("followers", {
3661
- identifier,
3662
- handle: identifier
3663
- });
3664
- opts.collectionSync = collectionId == null ? void 0 : new URL(collectionId, this.canonicalOrigin).href;
3660
+ if (options.syncCollection) try {
3661
+ opts.collectionSync = this.getFollowersUri(identifier).href;
3662
+ } catch (error) {
3663
+ if (error instanceof RouterError) opts.collectionSync = void 0;
3664
+ else throw error;
3665
3665
  }
3666
3666
  } else expandedRecipients = [recipients];
3667
3667
  span.setAttribute("activitypub.inboxes", expandedRecipients.length);
@@ -0,0 +1,17 @@
1
+
2
+ const { Temporal } = require("@js-temporal/polyfill");
3
+ const { URLPattern } = require("urlpattern-polyfill");
4
+
5
+ require('./transformers-CoBS-oFG.cjs');
6
+ require('./docloader-CSlrTULv.cjs');
7
+ require('./actor-CfhHedxU.cjs');
8
+ const require_middleware = require('./middleware-BvYquIU2.cjs');
9
+ require('./lookup-BtS7imxC.cjs');
10
+ require('./key-CULAE72e.cjs');
11
+ require('./http-Dy617oJi.cjs');
12
+ require('./proof-Cdt-JryO.cjs');
13
+ require('./types-C50PioTN.cjs');
14
+ require('./authdocloader-DfDexBrY.cjs');
15
+ require('./vocab-VVJBvA2F.cjs');
16
+
17
+ exports.FederationImpl = require_middleware.FederationImpl;
@@ -3,22 +3,22 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-B_KdjvvV.js";
7
- import { getNodeInfo } from "./client-C3YSqexf.js";
8
- import { RouterError, lookupObject, traverseCollection } from "./lookup-CbeXkXzo.js";
6
+ import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-tt9Ec12R.js";
7
+ import { getNodeInfo } from "./client-Bui9Gh4q.js";
8
+ import { RouterError, lookupObject, traverseCollection } from "./lookup-BV-RYejn.js";
9
9
  import { nodeInfoToJson } from "./types-BIgY6c-l.js";
10
- import { exportJwk, importJwk, validateCryptoKey } from "./key-Cy9BZAvS.js";
11
- import { verifyRequest } from "./http-BgzA6jae.js";
12
- import { getAuthenticatedDocumentLoader } from "./authdocloader-CfBE-GwX.js";
13
- import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-BRNOa1H0.js";
14
- import { doesActorOwnKey, getKeyOwner } from "./owner-CA34KiVt.js";
15
- import { signObject, verifyObject } from "./proof-DCywA0A9.js";
16
- import { routeActivity } from "./inbox-D4Cb7QkK.js";
17
- import { FederationBuilderImpl } from "./builder-CgGQBruC.js";
10
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-BLHsstcf.js";
11
+ import { verifyRequest } from "./http-Dv1yjtnP.js";
12
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-CVxE9WGt.js";
13
+ import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-bQVyNVI4.js";
14
+ import { doesActorOwnKey, getKeyOwner } from "./owner-IdDD30Rl.js";
15
+ import { signObject, verifyObject } from "./proof-DqejZTy7.js";
16
+ import { routeActivity } from "./inbox-Cu7OAGkC.js";
17
+ import { FederationBuilderImpl } from "./builder-BP4aD50M.js";
18
18
  import { buildCollectionSynchronizationHeader } from "./collection-CSzG2j1P.js";
19
- import { KvKeyCache } from "./keycache-wYb-oxnf.js";
19
+ import { KvKeyCache } from "./keycache-aLCenYcC.js";
20
20
  import { createExponentialBackoffPolicy } from "./retry-D4GJ670a.js";
21
- import { extractInboxes, sendActivity } from "./send-CCYAwvUz.js";
21
+ import { extractInboxes, sendActivity } from "./send-CtMRP7jp.js";
22
22
  import { getLogger, withContext } from "@logtape/logtape";
23
23
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
24
24
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
@@ -2542,15 +2542,16 @@ var ContextImpl = class ContextImpl {
2542
2542
  "actor"
2543
2543
  ]);
2544
2544
  if (this.federation.actorCallbacks?.keyPairsDispatcher == null) throw new Error("No actor key pairs dispatcher registered.");
2545
- const path = this.federation.router.build("actor", {
2546
- identifier,
2547
- handle: identifier
2548
- });
2549
- if (path == null) {
2550
- logger$2.warn("No actor dispatcher registered.");
2551
- return [];
2545
+ let actorUri;
2546
+ try {
2547
+ actorUri = this.getActorUri(identifier);
2548
+ } catch (error) {
2549
+ if (error instanceof RouterError) {
2550
+ logger$2.warn(error.message);
2551
+ return [];
2552
+ }
2553
+ throw error;
2552
2554
  }
2553
- const actorUri = new URL(path, this.canonicalOrigin);
2554
2555
  const keyPairs = await this.federation.actorCallbacks?.keyPairsDispatcher(new ContextImpl({
2555
2556
  ...this,
2556
2557
  invokedFromActorKeyPairsDispatcher: { identifier }
@@ -2711,12 +2712,11 @@ var ContextImpl = class ContextImpl {
2711
2712
  if (identifier == null) throw new Error("If recipients is \"followers\", sender must be an actor identifier or username.");
2712
2713
  expandedRecipients = [];
2713
2714
  for await (const recipient of this.getFollowers(identifier)) expandedRecipients.push(recipient);
2714
- if (options.syncCollection) {
2715
- const collectionId = this.federation.router.build("followers", {
2716
- identifier,
2717
- handle: identifier
2718
- });
2719
- opts.collectionSync = collectionId == null ? void 0 : new URL(collectionId, this.canonicalOrigin).href;
2715
+ if (options.syncCollection) try {
2716
+ opts.collectionSync = this.getFollowersUri(identifier).href;
2717
+ } catch (error) {
2718
+ if (error instanceof RouterError) opts.collectionSync = void 0;
2719
+ else throw error;
2720
2720
  }
2721
2721
  } else expandedRecipients = [recipients];
2722
2722
  span.setAttribute("activitypub.inboxes", expandedRecipients.length);
@@ -0,0 +1,26 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import "./type-tt9Ec12R.js";
7
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-C6ec_xpL.js";
8
+ import "./semver-dArNLkR9.js";
9
+ import "./client-Bui9Gh4q.js";
10
+ import "./lookup-BV-RYejn.js";
11
+ import "./types-BIgY6c-l.js";
12
+ import "./actor-KPC8KYj6.js";
13
+ import "./key-BLHsstcf.js";
14
+ import "./http-Dv1yjtnP.js";
15
+ import "./authdocloader-CVxE9WGt.js";
16
+ import "./ld-bQVyNVI4.js";
17
+ import "./owner-IdDD30Rl.js";
18
+ import "./proof-DqejZTy7.js";
19
+ import "./inbox-Cu7OAGkC.js";
20
+ import "./builder-BP4aD50M.js";
21
+ import "./collection-CSzG2j1P.js";
22
+ import "./keycache-aLCenYcC.js";
23
+ import "./retry-D4GJ670a.js";
24
+ import "./send-CtMRP7jp.js";
25
+
26
+ export { FederationImpl };
@@ -0,0 +1,17 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import "./transformers-BFT6d7J5.js";
6
+ import "./docloader-BxvWvC64.js";
7
+ import "./actor-DpI0W-Tn.js";
8
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-Bc82l2LP.js";
9
+ import "./lookup-DWilfXOH.js";
10
+ import "./key-CmfU4Nff.js";
11
+ import "./http-BF9qsaeq.js";
12
+ import "./proof-Bacq4fFb.js";
13
+ import "./types-DIhanZoH.js";
14
+ import "./authdocloader-BQJG9N7v.js";
15
+ import "./vocab-C85duzv5.js";
16
+
17
+ export { FederationImpl };
package/dist/mod.cjs CHANGED
@@ -4,17 +4,17 @@
4
4
 
5
5
  const require_transformers = require('./transformers-CoBS-oFG.cjs');
6
6
  require('./compat-DmDDELst.cjs');
7
- const require_docloader = require('./docloader-BvAM7fZH.cjs');
8
- const require_actor = require('./actor-D7jYcPnn.cjs');
9
- const require_middleware = require('./middleware-C8ExR52y.cjs');
10
- const require_lookup = require('./lookup-B8HaDWQy.cjs');
11
- const require_key = require('./key-CCZPSqiH.cjs');
12
- const require_http = require('./http-CAFNF0iO.cjs');
13
- const require_proof = require('./proof-BYW1UtvZ.cjs');
7
+ const require_docloader = require('./docloader-CSlrTULv.cjs');
8
+ const require_actor = require('./actor-CfhHedxU.cjs');
9
+ const require_middleware = require('./middleware-BvYquIU2.cjs');
10
+ const require_lookup = require('./lookup-BtS7imxC.cjs');
11
+ const require_key = require('./key-CULAE72e.cjs');
12
+ const require_http = require('./http-Dy617oJi.cjs');
13
+ const require_proof = require('./proof-Cdt-JryO.cjs');
14
14
  const require_federation = require('./federation-H2_En3j5.cjs');
15
- const require_types = require('./types-Bnm8HO_7.cjs');
16
- const require_authdocloader = require('./authdocloader-DKJUCe4a.cjs');
17
- const require_vocab = require('./vocab-HaE5Fc6F.cjs');
15
+ const require_types = require('./types-C50PioTN.cjs');
16
+ const require_authdocloader = require('./authdocloader-DfDexBrY.cjs');
17
+ const require_vocab = require('./vocab-VVJBvA2F.cjs');
18
18
  require('./nodeinfo-Co9lJrWl.cjs');
19
19
  require('./runtime-C58AJWSv.cjs');
20
20
  require('./sig-ByHXzqUi.cjs');
package/dist/mod.js CHANGED
@@ -4,17 +4,17 @@
4
4
 
5
5
  import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./transformers-BFT6d7J5.js";
6
6
  import "./compat-nxUqe4Z-.js";
7
- import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-B1XuLkAD.js";
8
- import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-BEAs4Rfa.js";
9
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-DS1MxLTd.js";
10
- import { lookupWebFinger } from "./lookup-C4eH5cYn.js";
11
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-CIhTILta.js";
12
- import { signRequest, verifyRequest } from "./http-Ds0LTTSM.js";
13
- import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-Lb5J8kZs.js";
7
+ import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-BxvWvC64.js";
8
+ import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-DpI0W-Tn.js";
9
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-Bc82l2LP.js";
10
+ import { lookupWebFinger } from "./lookup-DWilfXOH.js";
11
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-CmfU4Nff.js";
12
+ import { signRequest, verifyRequest } from "./http-BF9qsaeq.js";
13
+ import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-Bacq4fFb.js";
14
14
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-D1U8YY9t.js";
15
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-BJQx6og9.js";
16
- import { getAuthenticatedDocumentLoader } from "./authdocloader-DKxdIQtO.js";
17
- import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./vocab-Bg61J7Qa.js";
15
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-DIhanZoH.js";
16
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-BQJG9N7v.js";
17
+ import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./vocab-C85duzv5.js";
18
18
  import "./nodeinfo-DfycQ8Wf.js";
19
19
  import "./runtime-DPYEDf-o.js";
20
20
  import "./sig-Cj3tk-ig.js";
@@ -3,20 +3,20 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-B_KdjvvV.js";
6
+ import "../type-tt9Ec12R.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 "../semver-dArNLkR9.js";
11
- import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-C3YSqexf.js";
12
- import "../lookup-CbeXkXzo.js";
13
- import { test } from "../testing-D8uHmxZf.js";
11
+ import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-Bui9Gh4q.js";
12
+ import "../lookup-BV-RYejn.js";
13
+ import { test } from "../testing-DqxPhgD4.js";
14
14
  import "../std__assert-X-_kMxKM.js";
15
15
  import "../assert_rejects-DiIiJbZn.js";
16
16
  import "../assert_is_error-BPGph1Jx.js";
17
17
  import "../assert_not_equals-f3m3epl3.js";
18
18
  import "../assert_throws-BOO88avQ.js";
19
- import { esm_default } from "../esm-DJ_VMRiX.js";
19
+ import { esm_default } from "../esm-c7PrxCw-.js";
20
20
 
21
21
  //#region src/nodeinfo/client.test.ts
22
22
  test("getNodeInfo()", async (t) => {
@@ -3,30 +3,30 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-B_KdjvvV.js";
6
+ import "../type-tt9Ec12R.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-CRZrzyXm.js";
11
- import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-yTRyzvMw.js";
11
+ import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-C6ec_xpL.js";
12
12
  import { parseSemVer } from "../semver-dArNLkR9.js";
13
- import "../client-C3YSqexf.js";
14
- import "../lookup-CbeXkXzo.js";
13
+ import "../client-Bui9Gh4q.js";
14
+ import "../lookup-BV-RYejn.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-D1SNISu7.js";
17
- import "../key-Cy9BZAvS.js";
18
- import "../http-BgzA6jae.js";
19
- import "../authdocloader-CfBE-GwX.js";
20
- import "../ld-BRNOa1H0.js";
21
- import "../owner-CA34KiVt.js";
22
- import "../proof-DCywA0A9.js";
23
- import "../inbox-D4Cb7QkK.js";
24
- import "../builder-CgGQBruC.js";
16
+ import "../actor-KPC8KYj6.js";
17
+ import "../key-BLHsstcf.js";
18
+ import "../http-Dv1yjtnP.js";
19
+ import "../authdocloader-CVxE9WGt.js";
20
+ import "../ld-bQVyNVI4.js";
21
+ import "../owner-IdDD30Rl.js";
22
+ import "../proof-DqejZTy7.js";
23
+ import "../inbox-Cu7OAGkC.js";
24
+ import "../builder-BP4aD50M.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-wYb-oxnf.js";
26
+ import "../keycache-aLCenYcC.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-CCYAwvUz.js";
29
- import { createRequestContext, test } from "../testing-D8uHmxZf.js";
28
+ import "../send-CtMRP7jp.js";
29
+ import { createRequestContext, test } from "../testing-DqxPhgD4.js";
30
30
  import "../std__assert-X-_kMxKM.js";
31
31
  import "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
@@ -2,8 +2,8 @@
2
2
  const { Temporal } = require("@js-temporal/polyfill");
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
- require('../docloader-BvAM7fZH.cjs');
6
- const require_types = require('../types-Bnm8HO_7.cjs');
5
+ require('../docloader-CSlrTULv.cjs');
6
+ const require_types = require('../types-C50PioTN.cjs');
7
7
  require('../nodeinfo-Co9lJrWl.cjs');
8
8
 
9
9
  exports.formatSemVer = require_types.formatSemVer;
@@ -2,8 +2,8 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import "../docloader-B1XuLkAD.js";
6
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "../types-BJQx6og9.js";
5
+ import "../docloader-BxvWvC64.js";
6
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "../types-DIhanZoH.js";
7
7
  import "../nodeinfo-DfycQ8Wf.js";
8
8
 
9
9
  export { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer };
@@ -3,13 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-B_KdjvvV.js";
6
+ import "../type-tt9Ec12R.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 { formatSemVer, parseSemVer } from "../semver-dArNLkR9.js";
11
- import "../lookup-CbeXkXzo.js";
12
- import { test } from "../testing-D8uHmxZf.js";
11
+ import "../lookup-BV-RYejn.js";
12
+ import { test } from "../testing-DqxPhgD4.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,14 +3,14 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-B_KdjvvV.js";
6
+ import "../type-tt9Ec12R.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 "../semver-dArNLkR9.js";
11
- import "../lookup-CbeXkXzo.js";
11
+ import "../lookup-BV-RYejn.js";
12
12
  import { nodeInfoToJson } from "../types-BIgY6c-l.js";
13
- import { test } from "../testing-D8uHmxZf.js";
13
+ import { test } from "../testing-DqxPhgD4.js";
14
14
  import "../std__assert-X-_kMxKM.js";
15
15
  import "../assert_rejects-DiIiJbZn.js";
16
16
  import "../assert_is_error-BPGph1Jx.js";
@@ -3,8 +3,8 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { CryptographicKey, Object as Object$1, getDocumentLoader } from "./type-B_KdjvvV.js";
7
- import { isActor } from "./actor-D1SNISu7.js";
6
+ import { CryptographicKey, Object as Object$1, getDocumentLoader } from "./type-tt9Ec12R.js";
7
+ import { isActor } from "./actor-KPC8KYj6.js";
8
8
  import { trace } from "@opentelemetry/api";
9
9
 
10
10
  //#region src/sig/owner.ts
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { deno_default, getDocumentLoader } from "./docloader-B1XuLkAD.js";
6
- import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-BEAs4Rfa.js";
7
- import { fetchKey, validateCryptoKey } from "./key-CIhTILta.js";
5
+ import { deno_default, getDocumentLoader } from "./docloader-BxvWvC64.js";
6
+ import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-DpI0W-Tn.js";
7
+ import { fetchKey, validateCryptoKey } from "./key-CmfU4Nff.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
10
10
  import jsonld from "jsonld";