@fedify/fedify 2.2.18 → 2.2.19
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.
- package/dist/{builder-DAbQyxmb.mjs → builder-UmydCxtK.mjs} +2 -2
- package/dist/compat/transformers.test.mjs +1 -1
- package/dist/{deno-JUTr6LYC.mjs → deno-CD-8UlUi.mjs} +1 -1
- package/dist/{docloader-BGjq1F5U.mjs → docloader-D1ghurDJ.mjs} +5 -3
- package/dist/federation/builder.test.mjs +1 -1
- package/dist/federation/handler.test.mjs +5 -5
- package/dist/federation/idempotency.test.mjs +2 -2
- package/dist/federation/inbox.test.mjs +1 -1
- package/dist/federation/keycache.test.mjs +18 -7
- package/dist/federation/middleware.test.mjs +6 -6
- package/dist/federation/mod.cjs +1 -1
- package/dist/federation/mod.js +1 -1
- package/dist/federation/send.test.mjs +3 -3
- package/dist/federation/temporal.test.mjs +1 -1
- package/dist/federation/webfinger.test.mjs +1 -1
- package/dist/{http-lCmKCZBI.mjs → http-BBBUbwKh.mjs} +2 -2
- package/dist/{http-OSYYhKM8.js → http-DJK2udgX.js} +17 -3
- package/dist/{http-DEH_eppX.cjs → http-DrUG4fPS.cjs} +17 -3
- package/dist/{inbox-DMATfdEI.mjs → inbox-Dca_0fwc.mjs} +1 -1
- package/dist/{key-D0ahOVjf.mjs → key-DolXUaLH.mjs} +17 -3
- package/dist/{keycache-Dkc_sflV.mjs → keycache-BimEQucx.mjs} +1 -1
- package/dist/{kv-cache-CPEV_4nZ.cjs → kv-cache-Bk3V1Tiu.cjs} +4 -2
- package/dist/{kv-cache-B7X4p1y7.js → kv-cache-DDm80t1K.js} +4 -2
- package/dist/{ld-CJOXIehz.mjs → ld-rTdIfZ63.mjs} +2 -2
- package/dist/{middleware-D3hx1aiI.cjs → middleware-B4-Rzdi3.cjs} +1 -1
- package/dist/{middleware-QcuVRA-q.cjs → middleware-BWOwEGpy.cjs} +5 -5
- package/dist/{middleware-aNUajYPY.js → middleware-BimXKBcP.js} +4 -4
- package/dist/{middleware-CHoUjmJm.mjs → middleware-CpXoRHs3.mjs} +12 -12
- package/dist/{middleware-BgGJEcdp.mjs → middleware-DYK_res8.mjs} +1 -1
- package/dist/mod.cjs +4 -4
- package/dist/mod.js +4 -4
- package/dist/nodeinfo/handler.test.mjs +1 -1
- package/dist/{owner-BUTMEkbn.mjs → owner-CVfzyM5V.mjs} +2 -2
- package/dist/{proof-Bm3xyn3D.js → proof-CaQ4KG6y.js} +1 -1
- package/dist/{proof-BeY7TsiS.cjs → proof-DhaTTn-P.cjs} +1 -1
- package/dist/{proof-DS1Zl6BX.mjs → proof-gOGM-sJS.mjs} +2 -2
- package/dist/{send-fnPrh9Zm.mjs → send-D35Va72B.mjs} +2 -2
- package/dist/sig/http.test.mjs +3 -3
- package/dist/sig/key.test.mjs +197 -3
- package/dist/sig/ld.test.mjs +47 -2
- package/dist/sig/mod.cjs +2 -2
- package/dist/sig/mod.js +2 -2
- package/dist/sig/owner.test.mjs +46 -1
- package/dist/sig/proof.test.mjs +52 -1
- package/dist/{temporal-Biz6zK6e.mjs → temporal-CA4Y9hBJ.mjs} +1 -1
- package/dist/utils/docloader.test.mjs +66 -2
- package/dist/utils/mod.cjs +1 -1
- package/dist/utils/mod.js +1 -1
- package/package.json +5 -5
|
@@ -2,7 +2,7 @@ import "@js-temporal/polyfill";
|
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
4
|
import { n as RouterError, t as Router } from "./router-CrMLXoOr.mjs";
|
|
5
|
-
import { n as version, t as name } from "./deno-
|
|
5
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
6
6
|
import { t as ActivityListenerSet } from "./activity-listener-ell7W1s9.mjs";
|
|
7
7
|
import { Tombstone, getTypeId } from "@fedify/vocab";
|
|
8
8
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
@@ -59,7 +59,7 @@ var FederationBuilderImpl = class {
|
|
|
59
59
|
this.collectionTypeIds = {};
|
|
60
60
|
}
|
|
61
61
|
async build(options) {
|
|
62
|
-
const { FederationImpl } = await import("./middleware-
|
|
62
|
+
const { FederationImpl } = await import("./middleware-DYK_res8.mjs");
|
|
63
63
|
const f = new FederationImpl(options);
|
|
64
64
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
|
65
65
|
f.router = this.router.clone();
|
|
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
|
|
|
4
4
|
import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
|
|
5
5
|
import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
|
|
6
6
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
7
|
-
import { n as FederationImpl, v as actorDehydrator, y as autoIdAssigner } from "../middleware-
|
|
7
|
+
import { n as FederationImpl, v as actorDehydrator, y as autoIdAssigner } from "../middleware-CpXoRHs3.mjs";
|
|
8
8
|
import { test } from "@fedify/fixture";
|
|
9
9
|
import { Follow, Person } from "@fedify/vocab";
|
|
10
10
|
//#region src/compat/transformers.test.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "@js-temporal/polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { s as validateCryptoKey } from "./key-
|
|
5
|
-
import { n as doubleKnock } from "./http-
|
|
4
|
+
import { s as validateCryptoKey } from "./key-DolXUaLH.mjs";
|
|
5
|
+
import { n as doubleKnock } from "./http-BBBUbwKh.mjs";
|
|
6
6
|
import { curry } from "es-toolkit";
|
|
7
7
|
import { FetchError, UrlError, createActivityPubRequest, getRemoteDocument, logRequest, validatePublicUrl } from "@fedify/vocab-runtime";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
@@ -59,8 +59,10 @@ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, maxRedi
|
|
|
59
59
|
});
|
|
60
60
|
}
|
|
61
61
|
async function validateUrl(url) {
|
|
62
|
-
const
|
|
62
|
+
const parsedUrl = new URL(url);
|
|
63
|
+
const protocol = parsedUrl.protocol;
|
|
63
64
|
if (protocol !== "http:" && protocol !== "https:") throw new UrlError(`Unsupported protocol: ${protocol}`);
|
|
65
|
+
if (parsedUrl.username !== "" || parsedUrl.password !== "") throw new UrlError("URLs with credentials are not allowed");
|
|
64
66
|
if (!allowPrivateAddress) try {
|
|
65
67
|
await validatePublicUrl(url);
|
|
66
68
|
} catch (error) {
|
|
@@ -7,7 +7,7 @@ import { r as assertExists } from "../std__assert-DNZ4Liil.mjs";
|
|
|
7
7
|
import { t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
|
|
8
8
|
import { t as assertStrictEquals } from "../assert_strict_equals-Dmjbg-bA.mjs";
|
|
9
9
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
10
|
-
import { n as createFederationBuilder } from "../builder-
|
|
10
|
+
import { n as createFederationBuilder } from "../builder-UmydCxtK.mjs";
|
|
11
11
|
import { test } from "@fedify/fixture";
|
|
12
12
|
import { Activity, Note, Person } from "@fedify/vocab";
|
|
13
13
|
//#region src/federation/builder.test.ts
|
|
@@ -7,13 +7,13 @@ import "../std__assert-DNZ4Liil.mjs";
|
|
|
7
7
|
import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
|
|
8
8
|
import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
|
|
9
9
|
import { r as parseAcceptSignature } from "../accept-Dd__NiUL.mjs";
|
|
10
|
-
import { a as generateCryptoKeyPair } from "../key-
|
|
11
|
-
import { s as signRequest } from "../http-
|
|
10
|
+
import { a as generateCryptoKeyPair } from "../key-DolXUaLH.mjs";
|
|
11
|
+
import { s as signRequest } from "../http-BBBUbwKh.mjs";
|
|
12
12
|
import { a as rsaPrivateKey3, c as rsaPublicKey3, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-BAK-tUlf.mjs";
|
|
13
13
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
14
|
-
import { a as compactJsonLd, p as signJsonLd } from "../ld-
|
|
15
|
-
import { r as signObject } from "../proof-
|
|
16
|
-
import { c as handleActor, d as handleInbox, f as handleObject, h as respondWithObjectIfAcceptable, l as handleCollection, m as respondWithObject, o as createFederation, p as handleOutbox, u as handleCustomCollection } from "../middleware-
|
|
14
|
+
import { a as compactJsonLd, p as signJsonLd } from "../ld-rTdIfZ63.mjs";
|
|
15
|
+
import { r as signObject } from "../proof-gOGM-sJS.mjs";
|
|
16
|
+
import { c as handleActor, d as handleInbox, f as handleObject, h as respondWithObjectIfAcceptable, l as handleCollection, m as respondWithObject, o as createFederation, p as handleOutbox, u as handleCustomCollection } from "../middleware-CpXoRHs3.mjs";
|
|
17
17
|
import { t as ActivityListenerSet } from "../activity-listener-ell7W1s9.mjs";
|
|
18
18
|
import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
|
|
19
19
|
import { Activity, Create, CryptographicKey, Multikey, Note, Person, Tombstone } from "@fedify/vocab";
|
|
@@ -5,8 +5,8 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
|
|
|
5
5
|
import "../std__assert-DNZ4Liil.mjs";
|
|
6
6
|
import { n as ed25519PrivateKey, r as ed25519PublicKey, t as ed25519Multikey } from "../keys-BAK-tUlf.mjs";
|
|
7
7
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
8
|
-
import { r as signObject } from "../proof-
|
|
9
|
-
import { o as createFederation } from "../middleware-
|
|
8
|
+
import { r as signObject } from "../proof-gOGM-sJS.mjs";
|
|
9
|
+
import { o as createFederation } from "../middleware-CpXoRHs3.mjs";
|
|
10
10
|
import { mockDocumentLoader, test } from "@fedify/fixture";
|
|
11
11
|
import { Create, Follow, Person } from "@fedify/vocab";
|
|
12
12
|
//#region src/federation/idempotency.test.ts
|
|
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
|
|
|
4
4
|
import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
|
|
5
5
|
import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
|
|
6
6
|
import { t as ActivityListenerSet } from "../activity-listener-ell7W1s9.mjs";
|
|
7
|
-
import { t as actorsHaveSameOrigin } from "../inbox-
|
|
7
|
+
import { t as actorsHaveSameOrigin } from "../inbox-Dca_0fwc.mjs";
|
|
8
8
|
import { test } from "@fedify/fixture";
|
|
9
9
|
import { Activity, Create, Invite, Offer, Update } from "@fedify/vocab";
|
|
10
10
|
//#region src/federation/inbox.test.ts
|
|
@@ -3,7 +3,7 @@ import "urlpattern-polyfill";
|
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
4
|
import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
|
|
5
5
|
import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
|
|
6
|
-
import { t as KvKeyCache } from "../keycache-
|
|
6
|
+
import { t as KvKeyCache } from "../keycache-BimEQucx.mjs";
|
|
7
7
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
8
8
|
import { test } from "@fedify/fixture";
|
|
9
9
|
import { CryptographicKey, Multikey } from "@fedify/vocab";
|
|
@@ -14,7 +14,7 @@ test("KvKeyCache.set()", async () => {
|
|
|
14
14
|
await cache.set(new URL("https://example.com/key"), new CryptographicKey({ id: new URL("https://example.com/key") }));
|
|
15
15
|
assertEquals(await kv.get([
|
|
16
16
|
"pk",
|
|
17
|
-
"
|
|
17
|
+
"3",
|
|
18
18
|
"https://example.com/key"
|
|
19
19
|
]), {
|
|
20
20
|
"@context": "https://w3id.org/security/v1",
|
|
@@ -24,7 +24,7 @@ test("KvKeyCache.set()", async () => {
|
|
|
24
24
|
await cache.set(new URL("https://example.com/key2"), new Multikey({ id: new URL("https://example.com/key2") }));
|
|
25
25
|
assertEquals(await kv.get([
|
|
26
26
|
"pk",
|
|
27
|
-
"
|
|
27
|
+
"3",
|
|
28
28
|
"https://example.com/key2"
|
|
29
29
|
]), {
|
|
30
30
|
"@context": "https://w3id.org/security/multikey/v1",
|
|
@@ -35,7 +35,7 @@ test("KvKeyCache.set()", async () => {
|
|
|
35
35
|
assert(cache.nullKeys.has("https://example.com/null"));
|
|
36
36
|
assertEquals(await kv.get([
|
|
37
37
|
"pk",
|
|
38
|
-
"
|
|
38
|
+
"3",
|
|
39
39
|
"https://example.com/null"
|
|
40
40
|
]), null);
|
|
41
41
|
});
|
|
@@ -44,7 +44,7 @@ test("KvKeyCache.get()", async () => {
|
|
|
44
44
|
const cache = new KvKeyCache(kv, ["pk"]);
|
|
45
45
|
await kv.set([
|
|
46
46
|
"pk",
|
|
47
|
-
"
|
|
47
|
+
"3",
|
|
48
48
|
"https://example.com/key"
|
|
49
49
|
], {
|
|
50
50
|
"@context": "https://w3id.org/security/v1",
|
|
@@ -56,7 +56,7 @@ test("KvKeyCache.get()", async () => {
|
|
|
56
56
|
assertEquals(cryptoKey?.id?.href, "https://example.com/key");
|
|
57
57
|
await kv.set([
|
|
58
58
|
"pk",
|
|
59
|
-
"
|
|
59
|
+
"3",
|
|
60
60
|
"https://example.com/key2"
|
|
61
61
|
], {
|
|
62
62
|
"@context": "https://w3id.org/security/multikey/v1",
|
|
@@ -70,7 +70,7 @@ test("KvKeyCache.get()", async () => {
|
|
|
70
70
|
assertEquals(await cache.get(new URL("https://example.com/null")), null);
|
|
71
71
|
await kv.set([
|
|
72
72
|
"pk",
|
|
73
|
-
"
|
|
73
|
+
"3",
|
|
74
74
|
"https://example.com/null2"
|
|
75
75
|
], null);
|
|
76
76
|
assertEquals(await new KvKeyCache(kv, ["pk"]).get(new URL("https://example.com/null2")), null);
|
|
@@ -154,6 +154,17 @@ test("KvKeyCache.get() ignores entries from an earlier generation", async () =>
|
|
|
154
154
|
type: "CryptographicKey"
|
|
155
155
|
});
|
|
156
156
|
assertEquals(await cache.get(new URL("https://example.com/key")), void 0);
|
|
157
|
+
await kv.set([
|
|
158
|
+
"pk",
|
|
159
|
+
"2",
|
|
160
|
+
"https://example.com/key2"
|
|
161
|
+
], {
|
|
162
|
+
"@context": "https://w3id.org/security/v1",
|
|
163
|
+
id: "https://example.com/key2",
|
|
164
|
+
owner: "https://example.com/impersonated",
|
|
165
|
+
type: "CryptographicKey"
|
|
166
|
+
});
|
|
167
|
+
assertEquals(await cache.get(new URL("https://example.com/key2")), void 0);
|
|
157
168
|
});
|
|
158
169
|
//#endregion
|
|
159
170
|
export {};
|
|
@@ -10,14 +10,14 @@ import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
|
|
|
10
10
|
import { t as assertNotEquals } from "../assert_not_equals-BkxW5QJI.mjs";
|
|
11
11
|
import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
|
|
12
12
|
import { t as assertStrictEquals } from "../assert_strict_equals-Dmjbg-bA.mjs";
|
|
13
|
-
import { l as verifyRequest, s as signRequest } from "../http-
|
|
13
|
+
import { l as verifyRequest, s as signRequest } from "../http-BBBUbwKh.mjs";
|
|
14
14
|
import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-BAK-tUlf.mjs";
|
|
15
|
-
import { t as getAuthenticatedDocumentLoader } from "../docloader-
|
|
15
|
+
import { t as getAuthenticatedDocumentLoader } from "../docloader-D1ghurDJ.mjs";
|
|
16
16
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
17
|
-
import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-
|
|
18
|
-
import { t as doesActorOwnKey } from "../owner-
|
|
19
|
-
import { i as verifyObject, r as signObject } from "../proof-
|
|
20
|
-
import { i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-
|
|
17
|
+
import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-rTdIfZ63.mjs";
|
|
18
|
+
import { t as doesActorOwnKey } from "../owner-CVfzyM5V.mjs";
|
|
19
|
+
import { i as verifyObject, r as signObject } from "../proof-gOGM-sJS.mjs";
|
|
20
|
+
import { i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-CpXoRHs3.mjs";
|
|
21
21
|
import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
|
|
22
22
|
import * as vocab from "@fedify/vocab";
|
|
23
23
|
import { Create, Offer, Person, getTypeId, lookupObject } from "@fedify/vocab";
|
package/dist/federation/mod.cjs
CHANGED
|
@@ -2,7 +2,7 @@ const { Temporal } = require("@js-temporal/polyfill");
|
|
|
2
2
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
4
|
require("../chunk-DDcVe30Y.cjs");
|
|
5
|
-
const require_middleware = require("../middleware-
|
|
5
|
+
const require_middleware = require("../middleware-BWOwEGpy.cjs");
|
|
6
6
|
let es_toolkit = require("es-toolkit");
|
|
7
7
|
//#region src/federation/kv.ts
|
|
8
8
|
/**
|
package/dist/federation/mod.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-
|
|
3
|
+
import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-BimXKBcP.js";
|
|
4
4
|
import { isEqual } from "es-toolkit";
|
|
5
5
|
//#region src/federation/kv.ts
|
|
6
6
|
/**
|
|
@@ -8,10 +8,10 @@ import { r as assertFalse } from "../assert_throws-D4DNWrux.mjs";
|
|
|
8
8
|
import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
|
|
9
9
|
import { t as assertNotEquals } from "../assert_not_equals-BkxW5QJI.mjs";
|
|
10
10
|
import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
|
|
11
|
-
import { l as verifyRequest } from "../http-
|
|
11
|
+
import { l as verifyRequest } from "../http-BBBUbwKh.mjs";
|
|
12
12
|
import { i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-BAK-tUlf.mjs";
|
|
13
|
-
import { t as doesActorOwnKey } from "../owner-
|
|
14
|
-
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "../send-
|
|
13
|
+
import { t as doesActorOwnKey } from "../owner-CVfzyM5V.mjs";
|
|
14
|
+
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "../send-D35Va72B.mjs";
|
|
15
15
|
import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
|
|
16
16
|
import { Activity, Application, Endpoints, Group, Person, Service } from "@fedify/vocab";
|
|
17
17
|
import { FetchError, UrlError } from "@fedify/vocab-runtime";
|
|
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
|
|
|
4
4
|
import "../std__assert-DNZ4Liil.mjs";
|
|
5
5
|
import { r as assertFalse } from "../assert_throws-D4DNWrux.mjs";
|
|
6
6
|
import { t as assert } from "../assert-BhQd8QHP.mjs";
|
|
7
|
-
import { t as hasMalformedKnownTemporalLiteral } from "../temporal-
|
|
7
|
+
import { t as hasMalformedKnownTemporalLiteral } from "../temporal-CA4Y9hBJ.mjs";
|
|
8
8
|
import { test } from "@fedify/fixture";
|
|
9
9
|
//#region src/federation/temporal.test.ts
|
|
10
10
|
test("hasMalformedKnownTemporalLiteral() detects expanded proof timestamps", async () => {
|
|
@@ -5,7 +5,7 @@ import { r as createRequestContext } from "../context-Dk_tacqz.mjs";
|
|
|
5
5
|
import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
|
|
6
6
|
import "../std__assert-DNZ4Liil.mjs";
|
|
7
7
|
import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
|
|
8
|
-
import { o as createFederation, s as handleWebFinger } from "../middleware-
|
|
8
|
+
import { o as createFederation, s as handleWebFinger } from "../middleware-CpXoRHs3.mjs";
|
|
9
9
|
import { test } from "@fedify/fixture";
|
|
10
10
|
import { Image, Link, Person, Tombstone } from "@fedify/vocab";
|
|
11
11
|
//#region src/federation/webfinger.test.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as version, t as name } from "./deno-
|
|
4
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
5
5
|
import { i as validateAcceptSignature, n as fulfillAcceptSignature, r as parseAcceptSignature } from "./accept-Dd__NiUL.mjs";
|
|
6
|
-
import { i as fetchKeyDetailed, s as validateCryptoKey } from "./key-
|
|
6
|
+
import { i as fetchKeyDetailed, s as validateCryptoKey } from "./key-DolXUaLH.mjs";
|
|
7
7
|
import { CryptographicKey } from "@fedify/vocab";
|
|
8
8
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
9
9
|
import { FetchError } from "@fedify/vocab-runtime";
|
|
@@ -10,7 +10,7 @@ import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } fro
|
|
|
10
10
|
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
|
11
11
|
//#region deno.json
|
|
12
12
|
var name = "@fedify/fedify";
|
|
13
|
-
var version = "2.2.
|
|
13
|
+
var version = "2.2.19";
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/sig/accept.ts
|
|
16
16
|
/**
|
|
@@ -291,16 +291,23 @@ async function importJwk(jwk, type) {
|
|
|
291
291
|
/**
|
|
292
292
|
* Fetches the document that the given actor URI dereferences to, and returns
|
|
293
293
|
* the actor only if the host that served the document is authoritative for
|
|
294
|
-
* the id the document claims.
|
|
294
|
+
* the id the document claims, and that id is the actor that was asked for.
|
|
295
295
|
*
|
|
296
296
|
* Only the origin that serves an actor id can speak for it. Without that
|
|
297
297
|
* rule any host could serve a document describing somebody else's actor—and
|
|
298
298
|
* listing its own keys as that actor's.
|
|
299
299
|
*
|
|
300
|
+
* The returned actor always has exactly the requested `actorId` as its `id`.
|
|
301
|
+
* A document loader follows redirects and alternate document links, so the
|
|
302
|
+
* document an actor id leads to may describe a different actor altogether,
|
|
303
|
+
* on the same origin or on another; accepting it would attribute that other
|
|
304
|
+
* actor's keys to the requested one. See GHSA-8863-8468-7hq7.
|
|
305
|
+
*
|
|
300
306
|
* @param actorId The URI of the actor to fetch.
|
|
301
307
|
* @param options Options for fetching the document.
|
|
302
308
|
* @returns The actor, or `null` if the document cannot be fetched, is not an
|
|
303
|
-
* actor,
|
|
309
|
+
* actor, belongs to another origin, or describes an actor other
|
|
310
|
+
* than the requested one.
|
|
304
311
|
* @internal
|
|
305
312
|
*/
|
|
306
313
|
async function fetchActorDocument(actorId, options = {}) {
|
|
@@ -355,6 +362,13 @@ async function fetchActorDocumentInternal(actorId, options, propagateContextFetc
|
|
|
355
362
|
});
|
|
356
363
|
return null;
|
|
357
364
|
}
|
|
365
|
+
if (object.id.href !== actorId.href) {
|
|
366
|
+
logger.debug("The document fetched for the actor {actorId} is the actor {documentActorId} instead; refusing to treat it as the requested actor's document.", {
|
|
367
|
+
actorId: actorId.href,
|
|
368
|
+
documentActorId: object.id.href
|
|
369
|
+
});
|
|
370
|
+
return null;
|
|
371
|
+
}
|
|
358
372
|
return object;
|
|
359
373
|
}
|
|
360
374
|
/**
|
|
@@ -11,7 +11,7 @@ let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conve
|
|
|
11
11
|
let byte_encodings_base64 = require("byte-encodings/base64");
|
|
12
12
|
//#region deno.json
|
|
13
13
|
var name = "@fedify/fedify";
|
|
14
|
-
var version = "2.2.
|
|
14
|
+
var version = "2.2.19";
|
|
15
15
|
//#endregion
|
|
16
16
|
//#region src/sig/accept.ts
|
|
17
17
|
/**
|
|
@@ -292,16 +292,23 @@ async function importJwk(jwk, type) {
|
|
|
292
292
|
/**
|
|
293
293
|
* Fetches the document that the given actor URI dereferences to, and returns
|
|
294
294
|
* the actor only if the host that served the document is authoritative for
|
|
295
|
-
* the id the document claims.
|
|
295
|
+
* the id the document claims, and that id is the actor that was asked for.
|
|
296
296
|
*
|
|
297
297
|
* Only the origin that serves an actor id can speak for it. Without that
|
|
298
298
|
* rule any host could serve a document describing somebody else's actor—and
|
|
299
299
|
* listing its own keys as that actor's.
|
|
300
300
|
*
|
|
301
|
+
* The returned actor always has exactly the requested `actorId` as its `id`.
|
|
302
|
+
* A document loader follows redirects and alternate document links, so the
|
|
303
|
+
* document an actor id leads to may describe a different actor altogether,
|
|
304
|
+
* on the same origin or on another; accepting it would attribute that other
|
|
305
|
+
* actor's keys to the requested one. See GHSA-8863-8468-7hq7.
|
|
306
|
+
*
|
|
301
307
|
* @param actorId The URI of the actor to fetch.
|
|
302
308
|
* @param options Options for fetching the document.
|
|
303
309
|
* @returns The actor, or `null` if the document cannot be fetched, is not an
|
|
304
|
-
* actor,
|
|
310
|
+
* actor, belongs to another origin, or describes an actor other
|
|
311
|
+
* than the requested one.
|
|
305
312
|
* @internal
|
|
306
313
|
*/
|
|
307
314
|
async function fetchActorDocument(actorId, options = {}) {
|
|
@@ -356,6 +363,13 @@ async function fetchActorDocumentInternal(actorId, options, propagateContextFetc
|
|
|
356
363
|
});
|
|
357
364
|
return null;
|
|
358
365
|
}
|
|
366
|
+
if (object.id.href !== actorId.href) {
|
|
367
|
+
logger.debug("The document fetched for the actor {actorId} is the actor {documentActorId} instead; refusing to treat it as the requested actor's document.", {
|
|
368
|
+
actorId: actorId.href,
|
|
369
|
+
documentActorId: object.id.href
|
|
370
|
+
});
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
359
373
|
return object;
|
|
360
374
|
}
|
|
361
375
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as version, t as name } from "./deno-
|
|
4
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
5
5
|
import { getTypeId } from "@fedify/vocab";
|
|
6
6
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
|
7
7
|
import { getLogger } from "@logtape/logtape";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "@js-temporal/polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as version, t as name } from "./deno-
|
|
4
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
5
5
|
import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
|
|
6
6
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
7
7
|
import { FetchError, UrlError, getDocumentLoader } from "@fedify/vocab-runtime";
|
|
@@ -146,16 +146,23 @@ async function importJwk(jwk, type) {
|
|
|
146
146
|
/**
|
|
147
147
|
* Fetches the document that the given actor URI dereferences to, and returns
|
|
148
148
|
* the actor only if the host that served the document is authoritative for
|
|
149
|
-
* the id the document claims.
|
|
149
|
+
* the id the document claims, and that id is the actor that was asked for.
|
|
150
150
|
*
|
|
151
151
|
* Only the origin that serves an actor id can speak for it. Without that
|
|
152
152
|
* rule any host could serve a document describing somebody else's actor—and
|
|
153
153
|
* listing its own keys as that actor's.
|
|
154
154
|
*
|
|
155
|
+
* The returned actor always has exactly the requested `actorId` as its `id`.
|
|
156
|
+
* A document loader follows redirects and alternate document links, so the
|
|
157
|
+
* document an actor id leads to may describe a different actor altogether,
|
|
158
|
+
* on the same origin or on another; accepting it would attribute that other
|
|
159
|
+
* actor's keys to the requested one. See GHSA-8863-8468-7hq7.
|
|
160
|
+
*
|
|
155
161
|
* @param actorId The URI of the actor to fetch.
|
|
156
162
|
* @param options Options for fetching the document.
|
|
157
163
|
* @returns The actor, or `null` if the document cannot be fetched, is not an
|
|
158
|
-
* actor,
|
|
164
|
+
* actor, belongs to another origin, or describes an actor other
|
|
165
|
+
* than the requested one.
|
|
159
166
|
* @internal
|
|
160
167
|
*/
|
|
161
168
|
async function fetchActorDocument(actorId, options = {}) {
|
|
@@ -210,6 +217,13 @@ async function fetchActorDocumentInternal(actorId, options, propagateContextFetc
|
|
|
210
217
|
});
|
|
211
218
|
return null;
|
|
212
219
|
}
|
|
220
|
+
if (object.id.href !== actorId.href) {
|
|
221
|
+
logger.debug("The document fetched for the actor {actorId} is the actor {documentActorId} instead; refusing to treat it as the requested actor's document.", {
|
|
222
|
+
actorId: actorId.href,
|
|
223
|
+
documentActorId: object.id.href
|
|
224
|
+
});
|
|
225
|
+
return null;
|
|
226
|
+
}
|
|
213
227
|
return object;
|
|
214
228
|
}
|
|
215
229
|
/**
|
|
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
|
|
|
4
4
|
import { CryptographicKey, Multikey } from "@fedify/vocab";
|
|
5
5
|
import { FetchError, UrlError } from "@fedify/vocab-runtime";
|
|
6
6
|
//#region src/federation/keycache.ts
|
|
7
|
-
const KEY_CACHE_GENERATION = "
|
|
7
|
+
const KEY_CACHE_GENERATION = "3";
|
|
8
8
|
var KvKeyCache = class {
|
|
9
9
|
kv;
|
|
10
10
|
prefix;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const { Temporal } = require("@js-temporal/polyfill");
|
|
2
2
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
3
3
|
require("./chunk-DDcVe30Y.cjs");
|
|
4
|
-
const require_http = require("./http-
|
|
4
|
+
const require_http = require("./http-DrUG4fPS.cjs");
|
|
5
5
|
let _logtape_logtape = require("@logtape/logtape");
|
|
6
6
|
let es_toolkit = require("es-toolkit");
|
|
7
7
|
let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
|
|
@@ -58,8 +58,10 @@ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, maxRedi
|
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
async function validateUrl(url) {
|
|
61
|
-
const
|
|
61
|
+
const parsedUrl = new URL(url);
|
|
62
|
+
const protocol = parsedUrl.protocol;
|
|
62
63
|
if (protocol !== "http:" && protocol !== "https:") throw new _fedify_vocab_runtime.UrlError(`Unsupported protocol: ${protocol}`);
|
|
64
|
+
if (parsedUrl.username !== "" || parsedUrl.password !== "") throw new _fedify_vocab_runtime.UrlError("URLs with credentials are not allowed");
|
|
63
65
|
if (!allowPrivateAddress) try {
|
|
64
66
|
await (0, _fedify_vocab_runtime.validatePublicUrl)(url);
|
|
65
67
|
} catch (error) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import { f as validateCryptoKey, t as doubleKnock } from "./http-
|
|
3
|
+
import { f as validateCryptoKey, t as doubleKnock } from "./http-DJK2udgX.js";
|
|
4
4
|
import { getLogger } from "@logtape/logtape";
|
|
5
5
|
import { curry } from "es-toolkit";
|
|
6
6
|
import { FetchError, UrlError, createActivityPubRequest, getRemoteDocument, logRequest, preloadedContexts, validatePublicUrl } from "@fedify/vocab-runtime";
|
|
@@ -57,8 +57,10 @@ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, maxRedi
|
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
async function validateUrl(url) {
|
|
60
|
-
const
|
|
60
|
+
const parsedUrl = new URL(url);
|
|
61
|
+
const protocol = parsedUrl.protocol;
|
|
61
62
|
if (protocol !== "http:" && protocol !== "https:") throw new UrlError(`Unsupported protocol: ${protocol}`);
|
|
63
|
+
if (parsedUrl.username !== "" || parsedUrl.password !== "") throw new UrlError("URLs with credentials are not allowed");
|
|
62
64
|
if (!allowPrivateAddress) try {
|
|
63
65
|
await validatePublicUrl(url);
|
|
64
66
|
} catch (error) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "@js-temporal/polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as version, t as name } from "./deno-
|
|
5
|
-
import { r as fetchKey, s as validateCryptoKey } from "./key-
|
|
4
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
5
|
+
import { r as fetchKey, s as validateCryptoKey } from "./key-DolXUaLH.mjs";
|
|
6
6
|
import { Activity, CryptographicKey, Object as Object$1, getTypeId } from "@fedify/vocab";
|
|
7
7
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
8
8
|
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
const { Temporal } = require("@js-temporal/polyfill");
|
|
2
2
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
3
|
-
const require_middleware = require("./middleware-
|
|
3
|
+
const require_middleware = require("./middleware-BWOwEGpy.cjs");
|
|
4
4
|
exports.FederationImpl = require_middleware.FederationImpl;
|
|
@@ -2,10 +2,10 @@ const { Temporal } = require("@js-temporal/polyfill");
|
|
|
2
2
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
3
3
|
const require_chunk = require("./chunk-DDcVe30Y.cjs");
|
|
4
4
|
const require_transformers = require("./transformers-NeAONrAq.cjs");
|
|
5
|
-
const require_http = require("./http-
|
|
5
|
+
const require_http = require("./http-DrUG4fPS.cjs");
|
|
6
6
|
const require_types = require("./types-DRPjmHVV.cjs");
|
|
7
|
-
const require_proof = require("./proof-
|
|
8
|
-
const require_kv_cache = require("./kv-cache-
|
|
7
|
+
const require_proof = require("./proof-DhaTTn-P.cjs");
|
|
8
|
+
const require_kv_cache = require("./kv-cache-Bk3V1Tiu.cjs");
|
|
9
9
|
let _logtape_logtape = require("@logtape/logtape");
|
|
10
10
|
let _fedify_vocab = require("@fedify/vocab");
|
|
11
11
|
let _opentelemetry_api = require("@opentelemetry/api");
|
|
@@ -213,7 +213,7 @@ var FederationBuilderImpl = class {
|
|
|
213
213
|
this.collectionTypeIds = {};
|
|
214
214
|
}
|
|
215
215
|
async build(options) {
|
|
216
|
-
const { FederationImpl } = await Promise.resolve().then(() => require("./middleware-
|
|
216
|
+
const { FederationImpl } = await Promise.resolve().then(() => require("./middleware-B4-Rzdi3.cjs"));
|
|
217
217
|
const f = new FederationImpl(options);
|
|
218
218
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
|
219
219
|
f.router = this.router.clone();
|
|
@@ -936,7 +936,7 @@ async function routeActivity({ context: ctx, json, originalJson, normalizedActiv
|
|
|
936
936
|
}
|
|
937
937
|
//#endregion
|
|
938
938
|
//#region src/federation/keycache.ts
|
|
939
|
-
const KEY_CACHE_GENERATION = "
|
|
939
|
+
const KEY_CACHE_GENERATION = "3";
|
|
940
940
|
var KvKeyCache = class {
|
|
941
941
|
kv;
|
|
942
942
|
prefix;
|
|
@@ -2,10 +2,10 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
3
|
import { t as __exportAll } from "./chunk-CRNNMoPX.js";
|
|
4
4
|
import { r as getDefaultActivityTransformers } from "./transformers-BGMIq1cs.js";
|
|
5
|
-
import { a as verifyRequestDetailed, d as importJwk, f as validateCryptoKey, i as verifyRequest, m as formatAcceptSignature, n as parseRfc9421SignatureInput, o as exportJwk, t as doubleKnock, v as name, y as version } from "./http-
|
|
5
|
+
import { a as verifyRequestDetailed, d as importJwk, f as validateCryptoKey, i as verifyRequest, m as formatAcceptSignature, n as parseRfc9421SignatureInput, o as exportJwk, t as doubleKnock, v as name, y as version } from "./http-DJK2udgX.js";
|
|
6
6
|
import { a as MAX_BODY_SIZE, i as BodyTooLargeError, n as getNodeInfo, o as readBoundedText, t as nodeInfoToJson } from "./types-miAYfiGO.js";
|
|
7
|
-
import { _ as hasSignatureLike, b as signJsonLd, c as getKeyOwner, f as compactJsonLd, g as hasSignature, h as getNormalizationContextLoader, i as verifyObject, l as InvalidContextReferenceError, m as detachSignature, n as hasProofLike, o as normalizeOutgoingActivityJsonLd, r as signObject, s as doesActorOwnKey, u as assertSafeJsonLd, v as isClearlyMalformedContextReference, w as wrapContextLoaderForJsonLd, x as verifyCompactJsonLd, y as isInvalidUrlTypeError } from "./proof-
|
|
8
|
-
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-
|
|
7
|
+
import { _ as hasSignatureLike, b as signJsonLd, c as getKeyOwner, f as compactJsonLd, g as hasSignature, h as getNormalizationContextLoader, i as verifyObject, l as InvalidContextReferenceError, m as detachSignature, n as hasProofLike, o as normalizeOutgoingActivityJsonLd, r as signObject, s as doesActorOwnKey, u as assertSafeJsonLd, v as isClearlyMalformedContextReference, w as wrapContextLoaderForJsonLd, x as verifyCompactJsonLd, y as isInvalidUrlTypeError } from "./proof-CaQ4KG6y.js";
|
|
8
|
+
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-DDm80t1K.js";
|
|
9
9
|
import { getLogger, withContext } from "@logtape/logtape";
|
|
10
10
|
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, Tombstone, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
|
|
11
11
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
|
@@ -935,7 +935,7 @@ async function routeActivity({ context: ctx, json, originalJson, normalizedActiv
|
|
|
935
935
|
}
|
|
936
936
|
//#endregion
|
|
937
937
|
//#region src/federation/keycache.ts
|
|
938
|
-
const KEY_CACHE_GENERATION = "
|
|
938
|
+
const KEY_CACHE_GENERATION = "3";
|
|
939
939
|
var KvKeyCache = class {
|
|
940
940
|
kv;
|
|
941
941
|
prefix;
|
|
@@ -2,26 +2,26 @@ import { Temporal } from "@js-temporal/polyfill";
|
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
4
|
import { n as RouterError } from "./router-CrMLXoOr.mjs";
|
|
5
|
-
import { n as version, t as name } from "./deno-
|
|
5
|
+
import { n as version, t as name } from "./deno-CD-8UlUi.mjs";
|
|
6
6
|
import { t as formatAcceptSignature } from "./accept-Dd__NiUL.mjs";
|
|
7
|
-
import { o as importJwk, s as validateCryptoKey, t as exportJwk } from "./key-
|
|
8
|
-
import { l as verifyRequest, o as parseRfc9421SignatureInput, u as verifyRequestDetailed } from "./http-
|
|
9
|
-
import { t as getAuthenticatedDocumentLoader } from "./docloader-
|
|
7
|
+
import { o as importJwk, s as validateCryptoKey, t as exportJwk } from "./key-DolXUaLH.mjs";
|
|
8
|
+
import { l as verifyRequest, o as parseRfc9421SignatureInput, u as verifyRequestDetailed } from "./http-BBBUbwKh.mjs";
|
|
9
|
+
import { t as getAuthenticatedDocumentLoader } from "./docloader-D1ghurDJ.mjs";
|
|
10
10
|
import { n as kvCache } from "./kv-cache-FsT1ljhs.mjs";
|
|
11
|
-
import { t as KvKeyCache } from "./keycache-
|
|
12
|
-
import { _ as wrapContextLoaderForJsonLd, a as compactJsonLd, c as getNormalizationContextLoader, d as isClearlyMalformedContextReference, f as isInvalidUrlTypeError, l as hasSignature, m as verifyCompactJsonLd, p as signJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as hasSignatureLike } from "./ld-
|
|
13
|
-
import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-
|
|
11
|
+
import { t as KvKeyCache } from "./keycache-BimEQucx.mjs";
|
|
12
|
+
import { _ as wrapContextLoaderForJsonLd, a as compactJsonLd, c as getNormalizationContextLoader, d as isClearlyMalformedContextReference, f as isInvalidUrlTypeError, l as hasSignature, m as verifyCompactJsonLd, p as signJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as hasSignatureLike } from "./ld-rTdIfZ63.mjs";
|
|
13
|
+
import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-CVfzyM5V.mjs";
|
|
14
14
|
import { r as normalizeOutgoingActivityJsonLd } from "./outgoing-jsonld-amccRMrV.mjs";
|
|
15
|
-
import { i as verifyObject, n as hasProofLike, r as signObject } from "./proof-
|
|
15
|
+
import { i as verifyObject, n as hasProofLike, r as signObject } from "./proof-gOGM-sJS.mjs";
|
|
16
16
|
import { d as readBoundedText, l as BodyTooLargeError, t as getNodeInfo, u as MAX_BODY_SIZE } from "./client-9F_u23dc.mjs";
|
|
17
17
|
import { t as nodeInfoToJson } from "./types-J53Kw7so.mjs";
|
|
18
|
-
import { t as FederationBuilderImpl } from "./builder-
|
|
18
|
+
import { t as FederationBuilderImpl } from "./builder-UmydCxtK.mjs";
|
|
19
19
|
import { t as buildCollectionSynchronizationHeader } from "./collection-D-HqUuA2.mjs";
|
|
20
|
-
import { n as routeActivity, t as actorsHaveSameOrigin } from "./inbox-
|
|
20
|
+
import { n as routeActivity, t as actorsHaveSameOrigin } from "./inbox-Dca_0fwc.mjs";
|
|
21
21
|
import { t as acceptsJsonLd } from "./negotiation-SQvQgUqe.mjs";
|
|
22
|
-
import { t as hasMalformedKnownTemporalLiteral } from "./temporal-
|
|
22
|
+
import { t as hasMalformedKnownTemporalLiteral } from "./temporal-CA4Y9hBJ.mjs";
|
|
23
23
|
import { t as createExponentialBackoffPolicy } from "./retry-v_sGLH1d.mjs";
|
|
24
|
-
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-
|
|
24
|
+
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-D35Va72B.mjs";
|
|
25
25
|
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, Tombstone, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
|
|
26
26
|
import { lookupWebFinger } from "@fedify/webfinger";
|
|
27
27
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|