@fedify/fedify 2.4.0-dev.2219 → 2.4.0-dev.2228

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 (73) hide show
  1. package/dist/{builder-C5rYBZ16.mjs → builder-Wx64uCV2.mjs} +2 -2
  2. package/dist/compat/transformers.test.mjs +1 -1
  3. package/dist/{compound-proof-D0xY7MBs.mjs → compound-proof-B647GUyL.mjs} +2 -2
  4. package/dist/{deno-Dj1TFhf4.mjs → deno-9flirCWb.mjs} +1 -1
  5. package/dist/{docloader-CzyJe90o.mjs → docloader-pjAbs1lc.mjs} +2 -2
  6. package/dist/federation/builder.test.mjs +1 -1
  7. package/dist/federation/compound-fanout.test.mjs +3 -3
  8. package/dist/federation/handler-compound-proof.test.mjs +3 -3
  9. package/dist/federation/handler.test.mjs +5 -5
  10. package/dist/federation/hashlink-media.test.mjs +2 -2
  11. package/dist/federation/idempotency.test.mjs +2 -2
  12. package/dist/federation/metrics.test.mjs +1 -1
  13. package/dist/federation/middleware.test.mjs +7 -7
  14. package/dist/federation/mod.cjs +1 -1
  15. package/dist/federation/mod.js +1 -1
  16. package/dist/federation/outgoing-proof.test.mjs +248 -6
  17. package/dist/federation/portable-actor.test.mjs +3 -3
  18. package/dist/federation/portable-chain.test.mjs +3 -3
  19. package/dist/federation/portable-collection.test.mjs +4 -4
  20. package/dist/federation/portable-delivery.test.mjs +2 -2
  21. package/dist/federation/portable-gateway-keys.test.mjs +4 -4
  22. package/dist/federation/portable-inbox.test.mjs +4 -4
  23. package/dist/federation/portable-parse-uri.test.mjs +1 -1
  24. package/dist/federation/portable-route-activity.test.mjs +2 -2
  25. package/dist/federation/portable.test.mjs +80 -3
  26. package/dist/federation/send.test.mjs +3 -3
  27. package/dist/federation/tasks/enqueue.test.mjs +1 -1
  28. package/dist/federation/tasks/tasks.test.mjs +2 -2
  29. package/dist/federation/temporal.test.mjs +1 -1
  30. package/dist/federation/webfinger.test.mjs +1 -1
  31. package/dist/{federation-DC1yfb-8.cjs → federation-DiycMKQx.cjs} +245 -30
  32. package/dist/{http-Dx7yMmfw.js → http-CHqz_Jp6.js} +1 -1
  33. package/dist/{http-Cuk0w0rp.cjs → http-DC5DyShJ.cjs} +1 -1
  34. package/dist/{http-D-DpP4sd.mjs → http-DysQjjJe.mjs} +4 -4
  35. package/dist/{key-Djyt1BFx.mjs → key-TtgqklZ1.mjs} +2 -2
  36. package/dist/{kv-cache-ecUXfCqW.mjs → kv-cache-B7g5Tvl0.mjs} +1 -1
  37. package/dist/{kv-cache-CUZOCSKZ.js → kv-cache-CgYK8siN.js} +1 -1
  38. package/dist/{kv-cache-BmLTVLXc.cjs → kv-cache-CsNDrjVT.cjs} +1 -1
  39. package/dist/{ld-CNVWdooi.mjs → ld-CHYUee-s.mjs} +3 -3
  40. package/dist/{metrics-BnYleVpg.mjs → metrics-X1lpKWRK.mjs} +1 -1
  41. package/dist/{middleware-BdzcazaN.js → middleware-D2scpP9Q.js} +245 -30
  42. package/dist/{middleware-C2_LcbL3.mjs → middleware-DoAk0Q3s.mjs} +242 -27
  43. package/dist/{middleware-Bh592bk8.mjs → middleware-ndPtgYYI.mjs} +1 -1
  44. package/dist/mod.cjs +4 -4
  45. package/dist/mod.js +4 -4
  46. package/dist/nodeinfo/handler.test.mjs +1 -1
  47. package/dist/{owner-D_BDPwm2.mjs → owner-BP_ouAvi.mjs} +3 -3
  48. package/dist/{portable-collection-C0c0rUN9.js → portable-collection-4SnmDcTc.js} +1 -1
  49. package/dist/{portable-collection-DwJ8YJP2.cjs → portable-collection-Cz9K1Tas.cjs} +1 -1
  50. package/dist/{portable-collection-hcONGyUs.mjs → portable-collection-SqxusPj7.mjs} +2 -2
  51. package/dist/{portable-key-B880yVlC.mjs → portable-key-DYr6MZUl.mjs} +1 -1
  52. package/dist/{proof-z6Prgi5I.mjs → proof-B-iLzyva.mjs} +4 -4
  53. package/dist/{send-Cw545L_2.mjs → send-D0nNms3Q.mjs} +3 -3
  54. package/dist/sig/compound-proof-discovery.test.mjs +1 -1
  55. package/dist/sig/compound-proof-producer.test.mjs +1 -1
  56. package/dist/sig/compound-proof-verification.test.mjs +2 -2
  57. package/dist/sig/compound-proof.test.mjs +2 -2
  58. package/dist/sig/http.test.mjs +2 -2
  59. package/dist/sig/key.test.mjs +1 -1
  60. package/dist/sig/ld.test.mjs +2 -2
  61. package/dist/sig/mod.cjs +2 -2
  62. package/dist/sig/mod.js +2 -2
  63. package/dist/sig/owner.test.mjs +1 -1
  64. package/dist/sig/portable-collection.test.mjs +1 -1
  65. package/dist/sig/portable-key.test.mjs +6 -6
  66. package/dist/sig/proof.test.mjs +5 -3
  67. package/dist/{temporal-Cy-8WCod.mjs → temporal-39Ixir8d.mjs} +1 -1
  68. package/dist/testing/kv.test.mjs +1 -1
  69. package/dist/utils/docloader.test.mjs +2 -2
  70. package/dist/utils/kv-cache.test.mjs +1 -1
  71. package/dist/utils/mod.cjs +1 -1
  72. package/dist/utils/mod.js +1 -1
  73. package/package.json +7 -7
@@ -2,7 +2,7 @@ import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { i as getPortableDid, l as isPortableId, n as getCanonicalPortableId } from "./portable-key-id-Ca30-hOa.mjs";
5
- import { n as version, t as name } from "./deno-Dj1TFhf4.mjs";
5
+ import { n as version, t as name } from "./deno-9flirCWb.mjs";
6
6
  import { t as ActivityListenerSet } from "./activity-listener-C-BSbKI7.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { Router, RouterError, assertPath } from "@fedify/uri-template";
@@ -90,7 +90,7 @@ var FederationBuilderImpl = class {
90
90
  * specified.
91
91
  */
92
92
  async build(options) {
93
- const { FederationImpl } = await import("./middleware-Bh592bk8.mjs");
93
+ const { FederationImpl } = await import("./middleware-ndPtgYYI.mjs");
94
94
  const f = new FederationImpl(options);
95
95
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
96
96
  f.router = this.router.clone();
@@ -5,7 +5,7 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
6
6
  import { t as assertInstanceOf } from "../assert_instance_of-mrXWWNY-.mjs";
7
7
  import { t as assert } from "../assert-D1Eafmd_.mjs";
8
- import { E as autoIdAssigner, T as actorDehydrator, n as FederationImpl } from "../middleware-C2_LcbL3.mjs";
8
+ import { O as actorDehydrator, k as autoIdAssigner, n as FederationImpl } from "../middleware-DoAk0Q3s.mjs";
9
9
  import { Follow, Person } from "@fedify/vocab";
10
10
  import { test } from "@fedify/fixture";
11
11
  //#region src/compat/transformers.test.ts
@@ -3,8 +3,8 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { a as getRawCanonicalPortableId, l as isPortableId, n as getCanonicalPortableId } from "./portable-key-id-Ca30-hOa.mjs";
5
5
  import { n as preloadedOnlyDocumentLoader } from "./public-audience--klBIOk1.mjs";
6
- import { c as getNormalizationContextLoader } from "./ld-CNVWdooi.mjs";
7
- import { l as verifyPortableObjectProofPolicy, n as classifyFep2277CoreType, o as verifyMapLocalProof } from "./proof-z6Prgi5I.mjs";
6
+ import { c as getNormalizationContextLoader } from "./ld-CHYUee-s.mjs";
7
+ import { l as verifyPortableObjectProofPolicy, n as classifyFep2277CoreType, o as verifyMapLocalProof } from "./proof-B-iLzyva.mjs";
8
8
  import { parseIri, preloadedContexts } from "@fedify/vocab-runtime";
9
9
  import jsonld from "@fedify/vocab-runtime/jsonld";
10
10
  //#region src/sig/compound-proof.ts
@@ -3,6 +3,6 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  //#region deno.json
5
5
  var name = "@fedify/fedify";
6
- var version = "2.4.0-dev.2219+eb70f060";
6
+ var version = "2.4.0-dev.2228+6d017d55";
7
7
  //#endregion
8
8
  export { version as n, name as t };
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { c as validateCryptoKey } from "./key-Djyt1BFx.mjs";
5
- import { n as doubleKnock } from "./http-D-DpP4sd.mjs";
4
+ import { c as validateCryptoKey } from "./key-TtgqklZ1.mjs";
5
+ import { n as doubleKnock } from "./http-DysQjjJe.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { FetchError, UrlError, createActivityPubRequest, getRemoteDocument, logRequest, resolveDocumentLoaderTimeout, validatePublicUrl, withDocumentLoaderTimeout } from "@fedify/vocab-runtime";
8
8
  import { curry } from "es-toolkit";
@@ -7,7 +7,7 @@ import { t as assertExists } from "../assert_exists-cffSpJ7X.mjs";
7
7
  import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
8
8
  import "../std__assert-DvMDRPes.mjs";
9
9
  import { t as assertStrictEquals } from "../assert_strict_equals-CYvBmkpC.mjs";
10
- import { r as createFederationBuilder } from "../builder-C5rYBZ16.mjs";
10
+ import { r as createFederationBuilder } from "../builder-Wx64uCV2.mjs";
11
11
  import { DisallowedOperatorError, DisallowedVarSpecModifierError, DuplicateRouteVariableError, RouteTemplateOptionsNotMatchedError, RouterError } from "@fedify/uri-template";
12
12
  import { Activity, Note, Person } from "@fedify/vocab";
13
13
  import { test } from "@fedify/fixture";
@@ -6,11 +6,11 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
8
  import { t as assert } from "../assert-D1Eafmd_.mjs";
9
- import { n as exportJwk } from "../key-Djyt1BFx.mjs";
9
+ import { n as exportJwk } from "../key-TtgqklZ1.mjs";
10
10
  import { r as normalizeOutgoingActivityJsonLd } from "../outgoing-jsonld-4IJqPYos.mjs";
11
- import { a as signObject, d as verifyProof } from "../proof-z6Prgi5I.mjs";
11
+ import { a as signObject, d as verifyProof } from "../proof-B-iLzyva.mjs";
12
12
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
13
- import { n as FederationImpl } from "../middleware-C2_LcbL3.mjs";
13
+ import { n as FederationImpl } from "../middleware-DoAk0Q3s.mjs";
14
14
  import { Create, DataIntegrityProof, Note } from "@fedify/vocab";
15
15
  import { exportDidKey, parseIri } from "@fedify/vocab-runtime";
16
16
  import { mockDocumentLoader, test } from "@fedify/fixture";
@@ -5,10 +5,10 @@ import { r as createRequestContext, t as createInboxContext } from "../context-8
5
5
  import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
- import { a as compactJsonLd, m as verifyCompactJsonLd, p as signJsonLd } from "../ld-CNVWdooi.mjs";
9
- import { l as signRequest } from "../http-D-DpP4sd.mjs";
8
+ import { a as compactJsonLd, m as verifyCompactJsonLd, p as signJsonLd } from "../ld-CHYUee-s.mjs";
9
+ import { l as signRequest } from "../http-DysQjjJe.mjs";
10
10
  import { a as rsaPrivateKey3, c as rsaPublicKey3, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
11
- import { f as handleInbox, o as createFederation } from "../middleware-C2_LcbL3.mjs";
11
+ import { f as handleInbox, o as createFederation } from "../middleware-DoAk0Q3s.mjs";
12
12
  import { t as ActivityListenerSet } from "../activity-listener-C-BSbKI7.mjs";
13
13
  import { t as map_local_create_note_default } from "../map-local-create-note-B0SeXJms.mjs";
14
14
  import { Create, CryptographicKey, Multikey, Person, Update } from "@fedify/vocab";
@@ -10,12 +10,12 @@ import "../std__assert-DvMDRPes.mjs";
10
10
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
11
11
  import { t as assert } from "../assert-D1Eafmd_.mjs";
12
12
  import { r as parseAcceptSignature } from "../accept-CPVqki78.mjs";
13
- import { o as generateCryptoKeyPair } from "../key-Djyt1BFx.mjs";
14
- import { a as compactJsonLd, p as signJsonLd } from "../ld-CNVWdooi.mjs";
15
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
16
- import { l as signRequest } from "../http-D-DpP4sd.mjs";
13
+ import { o as generateCryptoKeyPair } from "../key-TtgqklZ1.mjs";
14
+ import { a as compactJsonLd, p as signJsonLd } from "../ld-CHYUee-s.mjs";
15
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
16
+ import { l as signRequest } from "../http-DysQjjJe.mjs";
17
17
  import { a as rsaPrivateKey3, c as rsaPublicKey3, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
18
- import { d as handleCustomCollection, f as handleInbox, g as respondWithObjectIfAcceptable, h as respondWithObject, l as handleActor, m as handleOutbox, o as createFederation, p as handleObject, u as handleCollection } from "../middleware-C2_LcbL3.mjs";
18
+ import { d as handleCustomCollection, f as handleInbox, g as respondWithObjectIfAcceptable, h as respondWithObject, l as handleActor, m as handleOutbox, o as createFederation, p as handleObject, u as handleCollection } from "../middleware-DoAk0Q3s.mjs";
19
19
  import { t as ActivityListenerSet } from "../activity-listener-C-BSbKI7.mjs";
20
20
  import { Activity, Create, CryptographicKey, Multikey, Note, Person, Tombstone } from "@fedify/vocab";
21
21
  import { FetchError } from "@fedify/vocab-runtime";
@@ -10,8 +10,8 @@ import "../std__assert-DvMDRPes.mjs";
10
10
  import { t as assertStrictEquals } from "../assert_strict_equals-CYvBmkpC.mjs";
11
11
  import { t as assert } from "../assert-D1Eafmd_.mjs";
12
12
  import { r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
13
- import { o as createFederation, x as parseHashlinkGatewayRequest } from "../middleware-C2_LcbL3.mjs";
14
- import { r as createFederationBuilder } from "../builder-C5rYBZ16.mjs";
13
+ import { o as createFederation, x as parseHashlinkGatewayRequest } from "../middleware-DoAk0Q3s.mjs";
14
+ import { r as createFederationBuilder } from "../builder-Wx64uCV2.mjs";
15
15
  import { n as RouterError } from "../router-u5O5KCQr.mjs";
16
16
  import { Note } from "@fedify/vocab";
17
17
  import { computeDigestMultibase, encodeMultibase, exportDidKey } from "@fedify/vocab-runtime";
@@ -4,9 +4,9 @@ globalThis.addEventListener = () => {};
4
4
  import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
6
6
  import "../std__assert-DvMDRPes.mjs";
7
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
7
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
8
8
  import { n as ed25519PrivateKey, r as ed25519PublicKey, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
9
- import { o as createFederation } from "../middleware-C2_LcbL3.mjs";
9
+ import { o as createFederation } from "../middleware-DoAk0Q3s.mjs";
10
10
  import { Create, Follow, Person } from "@fedify/vocab";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  //#region src/federation/idempotency.test.ts
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
5
5
  import "../std__assert-DvMDRPes.mjs";
6
6
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
7
- import { _ as recordKeyLookup, a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, m as recordDocumentFetch, p as recordDocumentCache, r as getFederationMetrics, t as classifyFetchError, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "../metrics-BnYleVpg.mjs";
7
+ import { _ as recordKeyLookup, a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, m as recordDocumentFetch, p as recordDocumentCache, r as getFederationMetrics, t as classifyFetchError, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "../metrics-X1lpKWRK.mjs";
8
8
  import { FetchError } from "@fedify/vocab-runtime";
9
9
  import { createTestMeterProvider, test } from "@fedify/fixture";
10
10
  import { DataPointType, MeterProvider, MetricReader } from "@opentelemetry/sdk-metrics";
@@ -16,14 +16,14 @@ import "../std__assert-DvMDRPes.mjs";
16
16
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
17
17
  import { t as assertStrictEquals } from "../assert_strict_equals-CYvBmkpC.mjs";
18
18
  import { t as assert } from "../assert-D1Eafmd_.mjs";
19
- import { g as recordInboxActivity } from "../metrics-BnYleVpg.mjs";
20
- import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-CNVWdooi.mjs";
21
- import { a as signObject, s as verifyObject } from "../proof-z6Prgi5I.mjs";
22
- import { f as verifyRequest, l as signRequest } from "../http-D-DpP4sd.mjs";
19
+ import { g as recordInboxActivity } from "../metrics-X1lpKWRK.mjs";
20
+ import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-CHYUee-s.mjs";
21
+ import { a as signObject, s as verifyObject } from "../proof-B-iLzyva.mjs";
22
+ import { f as verifyRequest, l as signRequest } from "../http-DysQjjJe.mjs";
23
23
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
24
- import { t as getAuthenticatedDocumentLoader } from "../docloader-CzyJe90o.mjs";
25
- import { S as handleBenchmarkTrigger, i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-C2_LcbL3.mjs";
26
- import { t as doesActorOwnKey } from "../owner-D_BDPwm2.mjs";
24
+ import { t as getAuthenticatedDocumentLoader } from "../docloader-pjAbs1lc.mjs";
25
+ import { T as handleBenchmarkTrigger, i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-DoAk0Q3s.mjs";
26
+ import { t as doesActorOwnKey } from "../owner-BP_ouAvi.mjs";
27
27
  import { t as CircuitBreaker } from "../circuit-breaker-XJ53md4S.mjs";
28
28
  import { t as TaskCodec } from "../codec-C6rTrpIp.mjs";
29
29
  import { t as markCircuitBreakerLegacySweepDone } from "../circuit-breaker-test-utils-DW6YC_Pe.mjs";
@@ -1,6 +1,6 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_federation = require("../federation-DC1yfb-8.cjs");
3
+ const require_federation = require("../federation-DiycMKQx.cjs");
4
4
  exports.CircuitBreaker = require_federation.CircuitBreaker;
5
5
  exports.InProcessMessageQueue = require_federation.InProcessMessageQueue;
6
6
  exports.MemoryKvStore = require_federation.MemoryKvStore;
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { a as respondWithObjectIfAcceptable, c as digest, d as parseCircuitBreakerKvState, f as createFederationBuilder, i as respondWithObject, l as CircuitBreaker, n as handleWebFinger, o as SendActivityError, r as createExponentialBackoffPolicy, s as buildCollectionSynchronizationHeader, t as createFederation, u as normalizeCircuitBreakerOptions } from "../middleware-BdzcazaN.js";
3
+ import { a as respondWithObjectIfAcceptable, c as digest, d as parseCircuitBreakerKvState, f as createFederationBuilder, i as respondWithObject, l as CircuitBreaker, n as handleWebFinger, o as SendActivityError, r as createExponentialBackoffPolicy, s as buildCollectionSynchronizationHeader, t as createFederation, u as normalizeCircuitBreakerOptions } from "../middleware-D2scpP9Q.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { Router as Router$1, RouterError as RouterError$1, assertPath, isPath } from "@fedify/uri-template";
6
6
  import { isEqual } from "es-toolkit";
@@ -7,14 +7,14 @@ import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
8
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
9
9
  import { t as assert } from "../assert-D1Eafmd_.mjs";
10
- import { n as exportJwk } from "../key-Djyt1BFx.mjs";
11
- import { s as detachSignature } from "../ld-CNVWdooi.mjs";
12
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
10
+ import { n as exportJwk } from "../key-TtgqklZ1.mjs";
11
+ import { s as detachSignature } from "../ld-CHYUee-s.mjs";
12
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
13
13
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
14
- import { c as assertPortableActorActivity, n as FederationImpl, o as createFederation } from "../middleware-C2_LcbL3.mjs";
15
- import { a as verifyCompoundPortableObjectProofs } from "../compound-proof-D0xY7MBs.mjs";
14
+ import { C as getEmbeddedFirstGateway, S as getCompactRootId, c as assertPortableActorActivity, n as FederationImpl, o as createFederation, w as warnCompatibleIdsInJson } from "../middleware-DoAk0Q3s.mjs";
15
+ import { a as verifyCompoundPortableObjectProofs } from "../compound-proof-B647GUyL.mjs";
16
16
  import { configure, reset } from "@logtape/logtape";
17
- import { Create, Note, Person } from "@fedify/vocab";
17
+ import { Announce, Create, Note, Person } from "@fedify/vocab";
18
18
  import { exportDidKey, parseIri } from "@fedify/vocab-runtime";
19
19
  import { mockDocumentLoader, test } from "@fedify/fixture";
20
20
  //#region src/federation/outgoing-proof.test.ts
@@ -620,6 +620,248 @@ async function captureLogs(run) {
620
620
  }
621
621
  return records.filter((record) => record.category[0] === "fedify");
622
622
  }
623
+ test("sendActivity warns for compatible IDs off the actor's first gateway", async () => {
624
+ const owner = await didKey();
625
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
626
+ const federation = createTestFederation();
627
+ let actorCalls = 0;
628
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => {
629
+ actorCalls++;
630
+ return identifier === "alice" ? new Person({
631
+ id: ownerId,
632
+ gateways: [new URL("https://primary.example"), new URL("https://secondary.example")]
633
+ }) : null;
634
+ });
635
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
636
+ const child = await signObject(new Note({
637
+ id: compatibleId(owner.did, "/notes/1", "https://secondary.example"),
638
+ attribution: ownerId,
639
+ content: "Hello"
640
+ }), owner.privateKey, owner.keyId, {
641
+ ...options,
642
+ context: childContext,
643
+ created
644
+ });
645
+ const activity = new Create({
646
+ id: compatibleId(owner.did, "/activities/1", "https://secondary.example"),
647
+ actor: ownerId,
648
+ object: child
649
+ });
650
+ const records = await captureLogs(async () => {
651
+ const { bodies } = await capture(() => ctx.sendActivity([rsaKey, sender(owner)], recipient, activity));
652
+ assertEquals(bodies.length, 1);
653
+ assertEquals(bodies[0].id, activity.id?.href);
654
+ });
655
+ assertEquals(records.filter((r) => r.properties.kind === "activity").length, 1);
656
+ assertEquals(records.filter((r) => r.properties.kind === "object").length, 1);
657
+ assertEquals(actorCalls, 1);
658
+ });
659
+ test("sendActivity skips first-gateway and portable IDs", async () => {
660
+ const owner = await didKey();
661
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
662
+ const federation = createTestFederation();
663
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => identifier === "alice" ? new Person({
664
+ id: ownerId,
665
+ gateways: [new URL("https://primary.example")]
666
+ }) : null);
667
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
668
+ for (const id of [compatibleId(owner.did, "/activities/first", "https://primary.example"), parseIri(`ap://${owner.did}/activities/portable`)]) assertEquals((await captureLogs(() => capture(() => ctx.sendActivity([rsaKey, sender(owner)], recipient, new Create({
669
+ id,
670
+ actor: ownerId
671
+ }))))).filter((r) => r.properties.kind != null), []);
672
+ const plain = federation.createContext(new URL("https://example.com/"));
673
+ assertEquals((await captureLogs(() => capture(() => plain.sendActivity([rsaKey, sender(owner)], recipient, new Create({
674
+ id: compatibleId(owner.did, "/activities/unknown-gateway", "https://secondary.example"),
675
+ actor: ownerId
676
+ }))))).filter((r) => r.properties.kind != null), []);
677
+ });
678
+ test("fanout warns once before enqueueing a compatible activity", async () => {
679
+ const owner = await didKey();
680
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
681
+ const { queue, queued } = createQueue();
682
+ const federation = createTestFederation(queue);
683
+ federation.setActorDispatcher("/users/{identifier}", () => new Person({
684
+ id: ownerId,
685
+ gateways: [new URL("https://primary.example")]
686
+ }));
687
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
688
+ assertEquals((await captureLogs(() => capture(async () => {
689
+ await ctx.sendActivity([rsaKey, sender(owner)], recipient, new Create({
690
+ id: compatibleId(owner.did, "/activities/fanout", "https://secondary.example"),
691
+ actor: ownerId
692
+ }), { fanout: "force" });
693
+ assertEquals(queued.length, 1);
694
+ for (let i = 0; i < queued.length; i++) await federation.processQueuedTask(void 0, queued[i]);
695
+ }))).filter((r) => r.properties.kind === "activity").length, 1);
696
+ });
697
+ test("an embedded actor supplies gateways to a plain send context", async () => {
698
+ const owner = await didKey();
699
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
700
+ const ctx = new FederationImpl({
701
+ kv: new MemoryKvStore(),
702
+ contextLoaderFactory: () => mockDocumentLoader,
703
+ documentLoaderFactory: () => mockDocumentLoader,
704
+ activityTransformers: []
705
+ }).createContext(new URL("https://example.com/"));
706
+ const activity = await signObject(new Create({
707
+ id: compatibleId(owner.did, "/activities/embedded-actor", "https://secondary.example"),
708
+ actor: new Person({
709
+ id: ownerId,
710
+ gateways: [new URL("https://primary.example")]
711
+ })
712
+ }), owner.privateKey, owner.keyId, {
713
+ ...options,
714
+ created
715
+ });
716
+ assertEquals(getEmbeddedFirstGateway(await activity.toJsonLd({
717
+ format: "compact",
718
+ contextLoader: mockDocumentLoader
719
+ }), ownerId, owner.did)?.origin, "https://primary.example");
720
+ assertEquals((await captureLogs(() => capture(() => ctx.sendActivity([rsaKey, sender(owner)], recipient, activity)))).filter((r) => r.properties.kind === "activity").length, 1);
721
+ });
722
+ test("sendActivity checks a locally owned embedded object independently", async () => {
723
+ const alice = await didKey();
724
+ const bob = await didKey();
725
+ const aliceId = parseIri(`ap://${alice.did}/users/alice`);
726
+ const bobId = parseIri(`ap://${bob.did}/users/bob`);
727
+ const federation = createTestFederation();
728
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => identifier === "alice" ? new Person({
729
+ id: aliceId,
730
+ gateways: [new URL("https://primary.example")]
731
+ }) : identifier === "bob" ? new Person({
732
+ id: bobId,
733
+ gateways: [new URL("https://bob.example")]
734
+ }) : null);
735
+ const child = await signObject(new Note({
736
+ id: compatibleId(bob.did, "/notes/1", "https://secondary.example"),
737
+ attribution: bobId,
738
+ content: "Bob's note"
739
+ }), bob.privateKey, bob.keyId, {
740
+ ...options,
741
+ context: childContext,
742
+ created
743
+ });
744
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
745
+ assertEquals((await captureLogs(() => capture(() => ctx.sendActivity([rsaKey, sender(alice)], recipient, new Announce({
746
+ id: parseIri(`ap://${alice.did}/activities/announce`),
747
+ actor: aliceId,
748
+ object: child
749
+ }))))).filter((r) => r.properties.kind === "object").map((r) => r.properties.id), [child.id?.href]);
750
+ });
751
+ test("sendActivity in an actor dispatcher does not re-enter it", async () => {
752
+ const owner = await didKey();
753
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
754
+ const federation = createTestFederation();
755
+ let calls = 0;
756
+ federation.setActorDispatcher("/users/{identifier}", async (ctx) => {
757
+ calls++;
758
+ await ctx.sendActivity([rsaKey, sender(owner)], recipient, new Create({
759
+ id: compatibleId(owner.did, "/activities/from-dispatcher", "https://secondary.example"),
760
+ actor: ownerId
761
+ }));
762
+ return new Person({
763
+ id: ownerId,
764
+ gateways: [new URL("https://primary.example")]
765
+ });
766
+ });
767
+ await capture(async () => {
768
+ assertEquals((await federation.fetch(new Request("https://example.com/users/alice", { headers: { Accept: "application/activity+json" } }), { contextData: void 0 })).status, 200);
769
+ });
770
+ assertEquals(calls, 1);
771
+ });
772
+ test("sendActivity still delivers when the diagnostic actor lookup fails", async () => {
773
+ const owner = await didKey();
774
+ const ownerId = parseIri(`ap://${owner.did}/users/alice`);
775
+ const federation = createTestFederation();
776
+ federation.setActorDispatcher("/users/{identifier}", () => {
777
+ throw new Error("Actor storage unavailable");
778
+ });
779
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
780
+ const id = compatibleId(owner.did, "/activities/lookup-fails", "https://secondary.example");
781
+ assertEquals((await captureLogs(async () => {
782
+ const { bodies } = await capture(() => ctx.sendActivity([rsaKey, sender(owner)], recipient, new Create({
783
+ id,
784
+ actor: ownerId
785
+ })));
786
+ assertEquals(bodies.length, 1);
787
+ assertEquals(bodies[0].id, id.href);
788
+ })).filter((r) => r.properties.kind != null), []);
789
+ });
790
+ test("warning checks later local actors when the first is missing", async () => {
791
+ const owner = await didKey();
792
+ const missing = parseIri(`ap://${owner.did}/users/missing`);
793
+ const alice = parseIri(`ap://${owner.did}/users/alice`);
794
+ const federation = createTestFederation();
795
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => identifier === "alice" ? new Person({
796
+ id: alice,
797
+ gateways: [new URL("https://primary.example")]
798
+ }) : null);
799
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
800
+ assertEquals((await captureLogs(() => warnCompatibleIdsInJson({
801
+ id: compatibleId(owner.did, "/activities/multi", "https://secondary.example").href,
802
+ type: "Create",
803
+ actor: [missing.href, alice.href]
804
+ }, ctx))).filter((r) => r.properties.kind === "activity").length, 1);
805
+ });
806
+ test("warning ignores an embedded gateway key", async () => {
807
+ const owner = await didKey();
808
+ const actorId = parseIri(`ap://${owner.did}/users/alice`);
809
+ const records = await captureLogs(() => warnCompatibleIdsInJson({
810
+ id: compatibleId(owner.did, "/activities/1", "https://secondary.example").href,
811
+ type: "Create",
812
+ actor: {
813
+ id: actorId.href,
814
+ type: "Person",
815
+ gateways: ["https://primary.example"],
816
+ publicKey: [{
817
+ id: compatibleId(owner.did, "/users/alice/keys/1", "https://secondary.example").href,
818
+ type: ["CryptographicKey"]
819
+ }, {
820
+ id: compatibleId(owner.did, "/users/alice/keys/2", "https://secondary.example").href,
821
+ type: "sec:Key"
822
+ }]
823
+ }
824
+ }));
825
+ assertEquals(records.filter((r) => r.properties.kind === "activity").length, 1);
826
+ assertEquals(records.filter((r) => r.properties.kind === "object"), []);
827
+ });
828
+ test("warning resolves a signed child's local ownership alias", async () => {
829
+ const alice = await didKey();
830
+ const bob = await didKey();
831
+ const aliceId = parseIri(`ap://${alice.did}/users/alice`);
832
+ const bobId = parseIri(`ap://${bob.did}/users/bob`);
833
+ const federation = createTestFederation();
834
+ federation.setActorDispatcher("/users/{identifier}", (_ctx, identifier) => identifier === "bob" ? new Person({
835
+ id: bobId,
836
+ gateways: [new URL("https://primary.example")]
837
+ }) : null);
838
+ const ctx = federation.createContext(new Request("https://example.com/"), void 0);
839
+ assertEquals((await captureLogs(() => warnCompatibleIdsInJson({
840
+ id: parseIri(`ap://${alice.did}/activities/announce`).href,
841
+ type: "Announce",
842
+ actor: aliceId.href,
843
+ object: {
844
+ "@context": ["https://www.w3.org/ns/activitystreams", {
845
+ by: {
846
+ "@id": "as:attributedTo",
847
+ "@type": "@id"
848
+ },
849
+ identifier: "@id"
850
+ }],
851
+ identifier: compatibleId(bob.did, "/notes/1", "https://secondary.example").href,
852
+ type: "Note",
853
+ by: bobId.href
854
+ }
855
+ }, ctx))).filter((r) => r.properties.kind === "object").length, 1);
856
+ });
857
+ test("warning reads an inline alias of the serialized root ID", async () => {
858
+ const id = compatibleId((await didKey()).did, "/notes/1", "https://secondary.example");
859
+ assertEquals(getCompactRootId({
860
+ "@context": ["https://www.w3.org/ns/activitystreams", { identifier: "@id" }],
861
+ identifier: id.href,
862
+ type: "Note"
863
+ })?.href, id.href);
864
+ });
623
865
  test("an activity on another gateway than its compatible-ID actor is warned about", async () => {
624
866
  const owner = await didKey();
625
867
  const warnings = (activity) => captureLogs(() => assertPortableActorActivity(activity)).then((records) => records.map((r) => r.properties.activityId));
@@ -8,10 +8,10 @@ import { t as assertInstanceOf } from "../assert_instance_of-mrXWWNY-.mjs";
8
8
  import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
9
9
  import "../std__assert-DvMDRPes.mjs";
10
10
  import { t as assert } from "../assert-D1Eafmd_.mjs";
11
- import { a as signObject, c as verifyPortableObjectProof } from "../proof-z6Prgi5I.mjs";
12
- import { f as verifyRequest, l as signRequest } from "../http-D-DpP4sd.mjs";
11
+ import { a as signObject, c as verifyPortableObjectProof } from "../proof-B-iLzyva.mjs";
12
+ import { f as verifyRequest, l as signRequest } from "../http-DysQjjJe.mjs";
13
13
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
14
- import { b as PORTABLE_OBJECT_CONTENT_TYPE, o as createFederation } from "../middleware-C2_LcbL3.mjs";
14
+ import { b as PORTABLE_OBJECT_CONTENT_TYPE, o as createFederation } from "../middleware-DoAk0Q3s.mjs";
15
15
  import { n as RouterError } from "../router-u5O5KCQr.mjs";
16
16
  import { configure, reset } from "@logtape/logtape";
17
17
  import { Note, Person, Tombstone, lookupObject } from "@fedify/vocab";
@@ -7,10 +7,10 @@ import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import { t as assertInstanceOf } from "../assert_instance_of-mrXWWNY-.mjs";
8
8
  import "../std__assert-DvMDRPes.mjs";
9
9
  import { t as assert } from "../assert-D1Eafmd_.mjs";
10
- import { n as exportJwk } from "../key-Djyt1BFx.mjs";
11
- import { c as verifyPortableObjectProof, s as verifyObject } from "../proof-z6Prgi5I.mjs";
10
+ import { n as exportJwk } from "../key-TtgqklZ1.mjs";
11
+ import { c as verifyPortableObjectProof, s as verifyObject } from "../proof-B-iLzyva.mjs";
12
12
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
13
- import { n as FederationImpl } from "../middleware-C2_LcbL3.mjs";
13
+ import { n as FederationImpl } from "../middleware-DoAk0Q3s.mjs";
14
14
  import { Create, DataIntegrityProof, Note, OrderedCollection, Person, traverseCollection } from "@fedify/vocab";
15
15
  import { FetchError, encodeMultibase, exportDidKey } from "@fedify/vocab-runtime";
16
16
  import { mockDocumentLoader, test } from "@fedify/fixture";
@@ -7,11 +7,11 @@ import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
7
7
  import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
8
8
  import "../std__assert-DvMDRPes.mjs";
9
9
  import { t as assert } from "../assert-D1Eafmd_.mjs";
10
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
10
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
11
11
  import { n as ed25519PrivateKey, r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
12
- import { b as PORTABLE_OBJECT_CONTENT_TYPE, o as createFederation } from "../middleware-C2_LcbL3.mjs";
13
- import { t as verifyPortableObject } from "../portable-collection-hcONGyUs.mjs";
14
- import { s as verifyServedPortableObjects } from "../compound-proof-D0xY7MBs.mjs";
12
+ import { b as PORTABLE_OBJECT_CONTENT_TYPE, o as createFederation } from "../middleware-DoAk0Q3s.mjs";
13
+ import { t as verifyPortableObject } from "../portable-collection-SqxusPj7.mjs";
14
+ import { s as verifyServedPortableObjects } from "../compound-proof-B647GUyL.mjs";
15
15
  import { n as RouterError } from "../router-u5O5KCQr.mjs";
16
16
  import { configure, reset } from "@logtape/logtape";
17
17
  import { Create, Note, Object as Object$1, OrderedCollection, PUBLIC_COLLECTION, Person, Tombstone, lookupObject, traverseCollection } from "@fedify/vocab";
@@ -4,8 +4,8 @@ globalThis.addEventListener = () => {};
4
4
  import { t as esm_default } from "../esm-BHXXx4Wx.mjs";
5
5
  import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { i as rsaPrivateKey2, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
7
- import { n as FederationImpl, r as InboxContextImpl } from "../middleware-C2_LcbL3.mjs";
8
- import { n as extractInboxes, t as SendActivityError } from "../send-Cw545L_2.mjs";
7
+ import { n as FederationImpl, r as InboxContextImpl } from "../middleware-DoAk0Q3s.mjs";
8
+ import { n as extractInboxes, t as SendActivityError } from "../send-D0nNms3Q.mjs";
9
9
  import { Create, Endpoints, Note, Person } from "@fedify/vocab";
10
10
  import { parseIri } from "@fedify/vocab-runtime";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
@@ -8,11 +8,11 @@ import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
8
8
  import "../std__assert-DvMDRPes.mjs";
9
9
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
10
10
  import { r as getVerifiedKeyOwnerEvidence } from "../key-owner-evidence-APB6NpSk.mjs";
11
- import { p as signJsonLd } from "../ld-CNVWdooi.mjs";
12
- import { f as verifyRequest, l as signRequest, p as verifyRequestDetailed } from "../http-D-DpP4sd.mjs";
11
+ import { p as signJsonLd } from "../ld-CHYUee-s.mjs";
12
+ import { f as verifyRequest, l as signRequest, p as verifyRequestDetailed } from "../http-DysQjjJe.mjs";
13
13
  import { a as rsaPrivateKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
14
- import { f as handleInbox, n as FederationImpl, o as createFederation } from "../middleware-C2_LcbL3.mjs";
15
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-D_BDPwm2.mjs";
14
+ import { f as handleInbox, n as FederationImpl, o as createFederation } from "../middleware-DoAk0Q3s.mjs";
15
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-BP_ouAvi.mjs";
16
16
  import { t as ActivityListenerSet } from "../activity-listener-C-BSbKI7.mjs";
17
17
  import { t as KvKeyCache } from "../keycache-Da8A8mZa.mjs";
18
18
  import { Create, CryptographicKey, Person } from "@fedify/vocab";
@@ -8,11 +8,11 @@ import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
8
8
  import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
9
9
  import "../std__assert-DvMDRPes.mjs";
10
10
  import { t as assert } from "../assert-D1Eafmd_.mjs";
11
- import { p as signJsonLd } from "../ld-CNVWdooi.mjs";
12
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
13
- import { l as signRequest, p as verifyRequestDetailed } from "../http-D-DpP4sd.mjs";
11
+ import { p as signJsonLd } from "../ld-CHYUee-s.mjs";
12
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
13
+ import { l as signRequest, p as verifyRequestDetailed } from "../http-DysQjjJe.mjs";
14
14
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
15
- import { _ as coversDelivery, o as createFederation, v as forwardPortableInboxActivity, y as resolvePortableInboxForwardingOptions } from "../middleware-C2_LcbL3.mjs";
15
+ import { _ as coversDelivery, o as createFederation, v as forwardPortableInboxActivity, y as resolvePortableInboxForwardingOptions } from "../middleware-DoAk0Q3s.mjs";
16
16
  import { Create, CryptographicKey, Follow, Note, Person, Tombstone } from "@fedify/vocab";
17
17
  import { exportDidKey, formatIri, parseIri } from "@fedify/vocab-runtime";
18
18
  import { mockDocumentLoader, test } from "@fedify/fixture";
@@ -7,7 +7,7 @@ import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
8
  import { t as assert } from "../assert-D1Eafmd_.mjs";
9
9
  import { r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
10
- import { o as createFederation } from "../middleware-C2_LcbL3.mjs";
10
+ import { o as createFederation } from "../middleware-DoAk0Q3s.mjs";
11
11
  import { Note, Object as Object$1, Person } from "@fedify/vocab";
12
12
  import { exportDidKey, parseIri } from "@fedify/vocab-runtime";
13
13
  import { test } from "@fedify/fixture";
@@ -6,9 +6,9 @@ import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
6
6
  import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
8
  import { t as assert } from "../assert-D1Eafmd_.mjs";
9
- import { a as signObject } from "../proof-z6Prgi5I.mjs";
9
+ import { a as signObject } from "../proof-B-iLzyva.mjs";
10
10
  import { n as ed25519PrivateKey, r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
11
- import { o as createFederation } from "../middleware-C2_LcbL3.mjs";
11
+ import { o as createFederation } from "../middleware-DoAk0Q3s.mjs";
12
12
  import { Create, Note } from "@fedify/vocab";
13
13
  import { exportDidKey, formatIri, parseIri, toCompatibleEf61Id } from "@fedify/vocab-runtime";
14
14
  import { mockDocumentLoader, test } from "@fedify/fixture";