@fedify/fedify 2.0.0-pr.434.1659 → 2.0.0-pr.435.1667
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/{actor-BODH8--e.cjs → actor-C3gJhZJj.cjs} +187 -187
- package/dist/{actor-DJS2ne1f.js → actor-CnVfp1Hp.js} +187 -187
- package/dist/{actor-WgMDAZc5.js → actor-Cpal85xW.js} +1 -1
- package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-7UF4R_Qs.js} +1 -1
- package/dist/{assert_throws-BOO88avQ.js → assert_throws-53_pKeP3.js} +1 -1
- package/dist/{authdocloader-C8Eqv2Kg.cjs → authdocloader-DPCGwidE.cjs} +3 -3
- package/dist/{authdocloader-SW1oQJ7q.js → authdocloader-DWnwkjvZ.js} +3 -3
- package/dist/{authdocloader-FA-VNPvw.js → authdocloader-Df2BFefL.js} +3 -3
- package/dist/{builder-Cp2PpvmH.js → builder-CMxichO9.js} +4 -4
- package/dist/{client-D_BQdihX.js → client-BqyuOGiQ.js} +1 -1
- package/dist/compat/mod.d.cts +2 -2
- package/dist/compat/mod.d.ts +2 -2
- package/dist/compat/transformers.test.js +17 -18
- package/dist/{context-CQsAT7xk.d.ts → context-CDSZdQHD.d.ts} +1 -0
- package/dist/{context-tVOQ76fi.d.cts → context-Dq8aCtMH.d.cts} +1 -0
- package/dist/{docloader-dZO9fPIT.cjs → docloader-B1O1Z5OK.cjs} +1 -1
- package/dist/{docloader-DrPHprgh.js → docloader-xJVzq9O0.js} +1 -1
- package/dist/{esm-CjcCcZ6s.js → esm-BBznxjVc.js} +1 -1
- package/dist/federation/builder.test.js +10 -10
- package/dist/federation/collection.test.js +8 -8
- package/dist/federation/handler.test.js +145 -26
- package/dist/federation/inbox.test.js +6 -6
- package/dist/federation/keycache.test.js +4 -4
- package/dist/federation/kv.test.js +8 -8
- package/dist/federation/middleware.test.js +38 -255
- package/dist/federation/mod.cjs +10 -10
- package/dist/federation/mod.d.cts +1 -1
- package/dist/federation/mod.d.ts +1 -1
- package/dist/federation/mod.js +10 -10
- package/dist/federation/mq.test.js +10 -10
- package/dist/federation/retry.test.js +5 -5
- package/dist/federation/router.test.js +8 -8
- package/dist/federation/send.test.js +15 -15
- package/dist/{http-BgQ07Ja_.js → http-CovAm6we.js} +3 -3
- package/dist/{http-CZJRJ0Pv.cjs → http-Hw9HJp9i.cjs} +3 -3
- package/dist/{http-BPkuNd26.js → http-y7khnX5Q.js} +2 -2
- package/dist/{inbox-CCB1CbWJ.js → inbox-DpcYOzs8.js} +1 -1
- package/dist/{key-B_P3wH2F.js → key-BRmlopJL.js} +2 -2
- package/dist/key-CV3FT32G.cjs +10 -0
- package/dist/{key-C8TOf6mh.cjs → key-CzF9SAEI.cjs} +2 -2
- package/dist/{key-C0k2A_bI.js → key-DORX19Bl.js} +2 -2
- package/dist/{key-BstbqwrH.js → key-jf6dIIF-.js} +3 -3
- package/dist/{key-CtA7xiw_.js → key-lapZwBwG.js} +4 -4
- package/dist/{keycache-DvDW8JPA.js → keycache-AH1uj1j-.js} +1 -1
- package/dist/{keys-DzXrG_sX.js → keys-B3fzLXBG.js} +1 -1
- package/dist/{ld-BcKcM_o9.js → ld-D3cq9xO1.js} +2 -2
- package/dist/{lookup-C3BGNQTz.cjs → lookup-7u217Q3H.cjs} +1 -1
- package/dist/{lookup-DbTBDJcT.js → lookup-BrhURkmj.js} +1 -1
- package/dist/{lookup-C3BC8XO-.js → lookup-CfU0DgLr.js} +1 -1
- package/dist/{middleware-CXRqw8n4.js → middleware-BDN7YoYJ.js} +130 -35
- package/dist/middleware-CV-OPMlZ.js +17 -0
- package/dist/middleware-DGqnaAbp.cjs +17 -0
- package/dist/{middleware-B3crRaK-.js → middleware-DXWUGrBQ.js} +63 -32
- package/dist/{middleware-C4A4GTtX.cjs → middleware-Gsxukxs5.cjs} +63 -32
- package/dist/middleware-cCdfTTMv.js +25 -0
- package/dist/{mod-DBQAI4v9.d.cts → mod-BhMnAkFX.d.cts} +1 -1
- package/dist/{mod-B26zRlH1.d.ts → mod-RI3-KvUI.d.ts} +1 -1
- package/dist/mod.cjs +10 -10
- package/dist/mod.d.cts +2 -2
- package/dist/mod.d.ts +2 -2
- package/dist/mod.js +10 -10
- package/dist/nodeinfo/client.test.js +10 -10
- package/dist/nodeinfo/handler.test.js +22 -23
- package/dist/nodeinfo/mod.cjs +2 -2
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/types.test.js +8 -8
- package/dist/{owner-BcEciLTD.js → owner-NFlQJyvM.js} +2 -2
- package/dist/{proof-DAEfR6xA.js → proof-Be1oOYEh.js} +3 -3
- package/dist/{proof-ZBmKo2zb.cjs → proof-Gip91fK7.cjs} +3 -3
- package/dist/{proof-vGquXXR6.js → proof-ar9xgPWi.js} +2 -2
- package/dist/runtime/authdocloader.test.js +14 -14
- package/dist/runtime/docloader.test.js +9 -9
- package/dist/runtime/key.test.js +10 -10
- package/dist/runtime/langstr.test.js +8 -8
- package/dist/runtime/link.test.js +3 -3
- package/dist/runtime/mod.cjs +6 -6
- package/dist/runtime/mod.js +6 -6
- package/dist/runtime/multibase/multibase.test.js +8 -8
- package/dist/runtime/url.test.js +5 -5
- package/dist/{send-svmMjAUr.js → send-DkwkMFjJ.js} +2 -2
- package/dist/sig/http.test.js +13 -13
- package/dist/sig/key.test.js +11 -11
- package/dist/sig/ld.test.js +10 -10
- package/dist/sig/mod.cjs +6 -6
- package/dist/sig/mod.js +6 -6
- package/dist/sig/owner.test.js +12 -12
- package/dist/sig/proof.test.js +12 -12
- package/dist/testing/docloader.test.js +8 -8
- package/dist/testing/mod.js +3 -3
- package/dist/{testing-y9ueu9Aj.js → testing-BMBhkcz9.js} +2 -2
- package/dist/{type-9o78PXlX.js → type-FCer_9yh.js} +186 -186
- package/dist/{types-DTCqX5HE.js → types-CNWeAz8v.js} +1 -1
- package/dist/{types-K5btoOl6.cjs → types-CZ_qo9KW.cjs} +1 -1
- package/dist/vocab/actor.test.js +10 -10
- package/dist/vocab/lookup.test.js +9 -9
- package/dist/vocab/mod.cjs +4 -4
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/type.test.js +3 -3
- package/dist/vocab/vocab.test.js +9 -9
- package/dist/{vocab-CJ0jQMQV.cjs → vocab-9MjZjuZb.cjs} +3 -3
- package/dist/{vocab-C_Pm3NG3.js → vocab-gpwUU9fc.js} +3 -3
- package/dist/webfinger/handler.test.js +22 -23
- package/dist/webfinger/lookup.test.js +9 -9
- package/dist/webfinger/mod.cjs +2 -2
- package/dist/webfinger/mod.js +2 -2
- package/dist/x/cfworkers.test.js +8 -8
- package/dist/x/hono.d.cts +1 -1
- package/dist/x/hono.d.ts +1 -1
- package/dist/x/sveltekit.d.cts +1 -1
- package/dist/x/sveltekit.d.ts +1 -1
- package/package.json +1 -1
- package/dist/federation/negotiation.test.d.ts +0 -3
- package/dist/federation/negotiation.test.js +0 -28
- package/dist/key-hknDPZ-z.cjs +0 -10
- package/dist/middleware-BWXHJSkY.cjs +0 -17
- package/dist/middleware-CGlIdSyy.js +0 -17
- package/dist/middleware-CUWXMbGt.js +0 -26
- package/dist/negotiation-5NPJL6zp.js +0 -71
- /package/dist/{assert_is_error-BPGph1Jx.js → assert_is_error-B035L3om.js} +0 -0
- /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
- /package/dist/{denokv-Bv33Xxea.js → denokv-jZ0Z2h0M.js} +0 -0
- /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
- /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
@@ -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-
|
7
|
-
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-
|
8
|
-
import { lookupWebFinger } from "./lookup-
|
9
|
-
import { exportJwk, importJwk, validateCryptoKey } from "./key-
|
10
|
-
import { doubleKnock, verifyRequest } from "./http-
|
11
|
-
import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-
|
12
|
-
import { getNodeInfo, nodeInfoToJson } from "./types-
|
13
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
14
|
-
import { lookupObject, traverseCollection } from "./vocab-
|
6
|
+
import { deno_default, getDocumentLoader, kvCache } from "./docloader-xJVzq9O0.js";
|
7
|
+
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-CnVfp1Hp.js";
|
8
|
+
import { lookupWebFinger } from "./lookup-CfU0DgLr.js";
|
9
|
+
import { exportJwk, importJwk, validateCryptoKey } from "./key-BRmlopJL.js";
|
10
|
+
import { doubleKnock, verifyRequest } from "./http-CovAm6we.js";
|
11
|
+
import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-Be1oOYEh.js";
|
12
|
+
import { getNodeInfo, nodeInfoToJson } from "./types-CNWeAz8v.js";
|
13
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-DWnwkjvZ.js";
|
14
|
+
import { lookupObject, traverseCollection } from "./vocab-gpwUU9fc.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-
|
324
|
+
const { FederationImpl: FederationImpl$1 } = await import("./middleware-CV-OPMlZ.js");
|
325
325
|
const f = new FederationImpl$1(options);
|
326
326
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
327
327
|
f.router = this.router.clone();
|
@@ -979,6 +979,9 @@ function preferredMediaTypes(accept) {
|
|
979
979
|
const accepts = parseAccept(accept === void 0 ? "*/*" : accept ?? "");
|
980
980
|
return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
|
981
981
|
}
|
982
|
+
|
983
|
+
//#endregion
|
984
|
+
//#region src/federation/handler.ts
|
982
985
|
function acceptsJsonLd(request) {
|
983
986
|
const accept = request.headers.get("Accept");
|
984
987
|
const types = accept ? preferredMediaTypes(accept) : ["*/*"];
|
@@ -986,9 +989,6 @@ function acceptsJsonLd(request) {
|
|
986
989
|
if (types[0] === "text/html" || types[0] === "application/xhtml+xml") return false;
|
987
990
|
return types.includes("application/activity+json") || types.includes("application/ld+json") || types.includes("application/json");
|
988
991
|
}
|
989
|
-
|
990
|
-
//#endregion
|
991
|
-
//#region src/federation/handler.ts
|
992
992
|
/**
|
993
993
|
* Handles an actor request.
|
994
994
|
* @template TContextData The context data to pass to the context.
|
@@ -996,7 +996,7 @@ function acceptsJsonLd(request) {
|
|
996
996
|
* @param parameters The parameters for handling the actor.
|
997
997
|
* @returns A promise that resolves to an HTTP response.
|
998
998
|
*/
|
999
|
-
async function handleActor(request, { identifier, context: context$1, actorDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
999
|
+
async function handleActor(request, { identifier, context: context$1, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
|
1000
1000
|
const logger$1 = getLogger([
|
1001
1001
|
"fedify",
|
1002
1002
|
"federation",
|
@@ -1011,6 +1011,7 @@ async function handleActor(request, { identifier, context: context$1, actorDispa
|
|
1011
1011
|
logger$1.debug("Actor {identifier} not found.", { identifier });
|
1012
1012
|
return await onNotFound(request);
|
1013
1013
|
}
|
1014
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1014
1015
|
if (authorizePredicate != null) {
|
1015
1016
|
let key = await context$1.getSignedKey();
|
1016
1017
|
key = key?.clone({}, { $warning: {
|
@@ -1045,10 +1046,11 @@ async function handleActor(request, { identifier, context: context$1, actorDispa
|
|
1045
1046
|
* @param parameters The parameters for handling the object.
|
1046
1047
|
* @returns A promise that resolves to an HTTP response.
|
1047
1048
|
*/
|
1048
|
-
async function handleObject(request, { values, context: context$1, objectDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
1049
|
+
async function handleObject(request, { values, context: context$1, objectDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
|
1049
1050
|
if (objectDispatcher == null) return await onNotFound(request);
|
1050
1051
|
const object = await objectDispatcher(context$1, values);
|
1051
1052
|
if (object == null) return await onNotFound(request);
|
1053
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1052
1054
|
if (authorizePredicate != null) {
|
1053
1055
|
let key = await context$1.getSignedKey();
|
1054
1056
|
key = key?.clone({}, { $warning: {
|
@@ -1086,7 +1088,7 @@ async function handleObject(request, { values, context: context$1, objectDispatc
|
|
1086
1088
|
* @param parameters The parameters for handling the collection.
|
1087
1089
|
* @returns A promise that resolves to an HTTP response.
|
1088
1090
|
*/
|
1089
|
-
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$1, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
|
1091
|
+
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$1, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound, onNotAcceptable }) {
|
1090
1092
|
const spanName = name.trim().replace(/\s+/g, "_");
|
1091
1093
|
tracerProvider = tracerProvider ?? trace.getTracerProvider();
|
1092
1094
|
const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
|
@@ -1199,6 +1201,7 @@ async function handleCollection(request, { name, identifier, uriGetter, filter,
|
|
1199
1201
|
partOf
|
1200
1202
|
});
|
1201
1203
|
}
|
1204
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1202
1205
|
if (collectionCallbacks.authorizePredicate != null) {
|
1203
1206
|
let key = await context$1.getSignedKey();
|
1204
1207
|
key = key?.clone({}, { $warning: {
|
@@ -1536,6 +1539,7 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
1536
1539
|
const handleCustomCollection = exceptWrapper(_handleCustomCollection);
|
1537
1540
|
async function _handleCustomCollection(request, { name, values, context: context$1, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
1538
1541
|
verifyDefined(callbacks);
|
1542
|
+
verifyJsonLdRequest(request);
|
1539
1543
|
await authIfNeeded(context$1, values, callbacks);
|
1540
1544
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
1541
1545
|
return await new CustomCollectionHandler(name, values, context$1, callbacks, tracerProvider, Collection, CollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
@@ -1554,6 +1558,7 @@ async function _handleCustomCollection(request, { name, values, context: context
|
|
1554
1558
|
const handleOrderedCollection = exceptWrapper(_handleOrderedCollection);
|
1555
1559
|
async function _handleOrderedCollection(request, { name, values, context: context$1, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
1556
1560
|
verifyDefined(callbacks);
|
1561
|
+
verifyJsonLdRequest(request);
|
1557
1562
|
await authIfNeeded(context$1, values, callbacks);
|
1558
1563
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
1559
1564
|
return await new CustomCollectionHandler(name, values, context$1, callbacks, tracerProvider, OrderedCollection, OrderedCollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
@@ -1831,9 +1836,10 @@ function exceptWrapper(handler) {
|
|
1831
1836
|
try {
|
1832
1837
|
return await handler(request, handlerParams);
|
1833
1838
|
} catch (error) {
|
1834
|
-
const { onNotFound, onUnauthorized } = handlerParams;
|
1839
|
+
const { onNotFound, onNotAcceptable, onUnauthorized } = handlerParams;
|
1835
1840
|
switch (error?.constructor) {
|
1836
1841
|
case ItemsNotFoundError: return await onNotFound(request);
|
1842
|
+
case NotAcceptableError: return await onNotAcceptable(request);
|
1837
1843
|
case UnauthorizedError: return await onUnauthorized(request);
|
1838
1844
|
default: throw error;
|
1839
1845
|
}
|
@@ -1851,6 +1857,15 @@ const verifyDefined = (callbacks) => {
|
|
1851
1857
|
if (callbacks === void 0) throw new ItemsNotFoundError();
|
1852
1858
|
};
|
1853
1859
|
/**
|
1860
|
+
* Verifies that a request accepts JSON-LD content type.
|
1861
|
+
* @param request The HTTP request to verify.
|
1862
|
+
* @throws {NotAcceptableError} If the request doesn't accept JSON-LD.
|
1863
|
+
* @since 1.8.0
|
1864
|
+
*/
|
1865
|
+
const verifyJsonLdRequest = (request) => {
|
1866
|
+
if (!acceptsJsonLd(request)) throw new NotAcceptableError();
|
1867
|
+
};
|
1868
|
+
/**
|
1854
1869
|
* Performs authorization if needed based on the authorization predicate.
|
1855
1870
|
* @template TContextData The context data type.
|
1856
1871
|
* @param {RequestContext<TContextData>} context The request context.
|
@@ -1934,6 +1949,15 @@ var ItemsNotFoundError = class extends HandlerError {
|
|
1934
1949
|
}
|
1935
1950
|
};
|
1936
1951
|
/**
|
1952
|
+
* Error thrown when the request is not acceptable (e.g., wrong content type).
|
1953
|
+
* @since 1.8.0
|
1954
|
+
*/
|
1955
|
+
var NotAcceptableError = class extends HandlerError {
|
1956
|
+
constructor() {
|
1957
|
+
super("The request is not acceptable.");
|
1958
|
+
}
|
1959
|
+
};
|
1960
|
+
/**
|
1937
1961
|
* Error thrown when access to a collection is unauthorized.
|
1938
1962
|
* @since 1.8.0
|
1939
1963
|
*/
|
@@ -2931,7 +2955,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2931
2955
|
span,
|
2932
2956
|
tracer
|
2933
2957
|
});
|
2934
|
-
if (acceptsJsonLd(request)) response.headers.set("Vary", "Accept");
|
2935
2958
|
} catch (error) {
|
2936
2959
|
span.setStatus({
|
2937
2960
|
code: SpanStatusCode.ERROR,
|
@@ -2995,9 +3018,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2995
3018
|
context: context$1,
|
2996
3019
|
nodeInfoDispatcher: this.nodeInfoDispatcher
|
2997
3020
|
});
|
2998
|
-
}
|
2999
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
3000
|
-
switch (routeName) {
|
3001
3021
|
case "actor":
|
3002
3022
|
context$1 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
|
3003
3023
|
return await handleActor(request, {
|
@@ -3006,7 +3026,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3006
3026
|
actorDispatcher: this.actorCallbacks?.dispatcher,
|
3007
3027
|
authorizePredicate: this.actorCallbacks?.authorizePredicate,
|
3008
3028
|
onUnauthorized,
|
3009
|
-
onNotFound
|
3029
|
+
onNotFound,
|
3030
|
+
onNotAcceptable
|
3010
3031
|
});
|
3011
3032
|
case "object": {
|
3012
3033
|
const typeId = route.name.replace(/^object:/, "");
|
@@ -3022,7 +3043,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3022
3043
|
objectDispatcher: callbacks?.dispatcher,
|
3023
3044
|
authorizePredicate: callbacks?.authorizePredicate,
|
3024
3045
|
onUnauthorized,
|
3025
|
-
onNotFound
|
3046
|
+
onNotFound,
|
3047
|
+
onNotAcceptable
|
3026
3048
|
});
|
3027
3049
|
}
|
3028
3050
|
case "outbox": return await handleCollection(request, {
|
@@ -3033,7 +3055,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3033
3055
|
collectionCallbacks: this.outboxCallbacks,
|
3034
3056
|
tracerProvider: this.tracerProvider,
|
3035
3057
|
onUnauthorized,
|
3036
|
-
onNotFound
|
3058
|
+
onNotFound,
|
3059
|
+
onNotAcceptable
|
3037
3060
|
});
|
3038
3061
|
case "inbox":
|
3039
3062
|
if (request.method !== "POST") return await handleCollection(request, {
|
@@ -3044,7 +3067,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3044
3067
|
collectionCallbacks: this.inboxCallbacks,
|
3045
3068
|
tracerProvider: this.tracerProvider,
|
3046
3069
|
onUnauthorized,
|
3047
|
-
onNotFound
|
3070
|
+
onNotFound,
|
3071
|
+
onNotAcceptable
|
3048
3072
|
});
|
3049
3073
|
context$1 = this.#createContext(request, contextData, { documentLoader: await context$1.getDocumentLoader({ identifier: route.values.identifier ?? route.values.handle }) });
|
3050
3074
|
case "sharedInbox":
|
@@ -3076,7 +3100,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3076
3100
|
collectionCallbacks: this.followingCallbacks,
|
3077
3101
|
tracerProvider: this.tracerProvider,
|
3078
3102
|
onUnauthorized,
|
3079
|
-
onNotFound
|
3103
|
+
onNotFound,
|
3104
|
+
onNotAcceptable
|
3080
3105
|
});
|
3081
3106
|
case "followers": {
|
3082
3107
|
let baseUrl = url.searchParams.get("base-url");
|
@@ -3099,7 +3124,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3099
3124
|
collectionCallbacks: this.followersCallbacks,
|
3100
3125
|
tracerProvider: this.tracerProvider,
|
3101
3126
|
onUnauthorized,
|
3102
|
-
onNotFound
|
3127
|
+
onNotFound,
|
3128
|
+
onNotAcceptable
|
3103
3129
|
});
|
3104
3130
|
}
|
3105
3131
|
case "liked": return await handleCollection(request, {
|
@@ -3110,7 +3136,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3110
3136
|
collectionCallbacks: this.likedCallbacks,
|
3111
3137
|
tracerProvider: this.tracerProvider,
|
3112
3138
|
onUnauthorized,
|
3113
|
-
onNotFound
|
3139
|
+
onNotFound,
|
3140
|
+
onNotAcceptable
|
3114
3141
|
});
|
3115
3142
|
case "featured": return await handleCollection(request, {
|
3116
3143
|
name: "featured",
|
@@ -3120,7 +3147,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3120
3147
|
collectionCallbacks: this.featuredCallbacks,
|
3121
3148
|
tracerProvider: this.tracerProvider,
|
3122
3149
|
onUnauthorized,
|
3123
|
-
onNotFound
|
3150
|
+
onNotFound,
|
3151
|
+
onNotAcceptable
|
3124
3152
|
});
|
3125
3153
|
case "featuredTags": return await handleCollection(request, {
|
3126
3154
|
name: "featured tags",
|
@@ -3130,7 +3158,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3130
3158
|
collectionCallbacks: this.featuredTagsCallbacks,
|
3131
3159
|
tracerProvider: this.tracerProvider,
|
3132
3160
|
onUnauthorized,
|
3133
|
-
onNotFound
|
3161
|
+
onNotFound,
|
3162
|
+
onNotAcceptable
|
3134
3163
|
});
|
3135
3164
|
case "collection": {
|
3136
3165
|
const name = route.name.replace(/^collection:/, "");
|
@@ -3142,7 +3171,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3142
3171
|
collectionCallbacks: callbacks,
|
3143
3172
|
tracerProvider: this.tracerProvider,
|
3144
3173
|
onUnauthorized,
|
3145
|
-
onNotFound
|
3174
|
+
onNotFound,
|
3175
|
+
onNotAcceptable
|
3146
3176
|
});
|
3147
3177
|
}
|
3148
3178
|
case "orderedCollection": {
|
@@ -3155,7 +3185,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3155
3185
|
collectionCallbacks: callbacks,
|
3156
3186
|
tracerProvider: this.tracerProvider,
|
3157
3187
|
onUnauthorized,
|
3158
|
-
onNotFound
|
3188
|
+
onNotFound,
|
3189
|
+
onNotAcceptable
|
3159
3190
|
});
|
3160
3191
|
}
|
3161
3192
|
default: {
|
@@ -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-
|
8
|
-
const require_actor = require('./actor-
|
9
|
-
const require_lookup = require('./lookup-
|
10
|
-
const require_key = require('./key-
|
11
|
-
const require_http = require('./http-
|
12
|
-
const require_proof = require('./proof-
|
13
|
-
const require_types = require('./types-
|
14
|
-
const require_authdocloader = require('./authdocloader-
|
15
|
-
const require_vocab = require('./vocab-
|
7
|
+
const require_docloader = require('./docloader-B1O1Z5OK.cjs');
|
8
|
+
const require_actor = require('./actor-C3gJhZJj.cjs');
|
9
|
+
const require_lookup = require('./lookup-7u217Q3H.cjs');
|
10
|
+
const require_key = require('./key-CzF9SAEI.cjs');
|
11
|
+
const require_http = require('./http-Hw9HJp9i.cjs');
|
12
|
+
const require_proof = require('./proof-Gip91fK7.cjs');
|
13
|
+
const require_types = require('./types-CZ_qo9KW.cjs');
|
14
|
+
const require_authdocloader = require('./authdocloader-DPCGwidE.cjs');
|
15
|
+
const require_vocab = require('./vocab-9MjZjuZb.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-
|
325
|
+
const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-DGqnaAbp.cjs"));
|
326
326
|
const f = new FederationImpl$1(options);
|
327
327
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
328
328
|
f.router = this.router.clone();
|
@@ -980,6 +980,9 @@ function preferredMediaTypes(accept) {
|
|
980
980
|
const accepts = parseAccept(accept === void 0 ? "*/*" : accept ?? "");
|
981
981
|
return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
|
982
982
|
}
|
983
|
+
|
984
|
+
//#endregion
|
985
|
+
//#region src/federation/handler.ts
|
983
986
|
function acceptsJsonLd(request) {
|
984
987
|
const accept = request.headers.get("Accept");
|
985
988
|
const types = accept ? preferredMediaTypes(accept) : ["*/*"];
|
@@ -987,9 +990,6 @@ function acceptsJsonLd(request) {
|
|
987
990
|
if (types[0] === "text/html" || types[0] === "application/xhtml+xml") return false;
|
988
991
|
return types.includes("application/activity+json") || types.includes("application/ld+json") || types.includes("application/json");
|
989
992
|
}
|
990
|
-
|
991
|
-
//#endregion
|
992
|
-
//#region src/federation/handler.ts
|
993
993
|
/**
|
994
994
|
* Handles an actor request.
|
995
995
|
* @template TContextData The context data to pass to the context.
|
@@ -997,7 +997,7 @@ function acceptsJsonLd(request) {
|
|
997
997
|
* @param parameters The parameters for handling the actor.
|
998
998
|
* @returns A promise that resolves to an HTTP response.
|
999
999
|
*/
|
1000
|
-
async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
1000
|
+
async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
|
1001
1001
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
1002
1002
|
"fedify",
|
1003
1003
|
"federation",
|
@@ -1012,6 +1012,7 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
|
|
1012
1012
|
logger$1.debug("Actor {identifier} not found.", { identifier });
|
1013
1013
|
return await onNotFound(request);
|
1014
1014
|
}
|
1015
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1015
1016
|
if (authorizePredicate != null) {
|
1016
1017
|
let key = await context$2.getSignedKey();
|
1017
1018
|
key = key?.clone({}, { $warning: {
|
@@ -1046,10 +1047,11 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
|
|
1046
1047
|
* @param parameters The parameters for handling the object.
|
1047
1048
|
* @returns A promise that resolves to an HTTP response.
|
1048
1049
|
*/
|
1049
|
-
async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
1050
|
+
async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized }) {
|
1050
1051
|
if (objectDispatcher == null) return await onNotFound(request);
|
1051
1052
|
const object = await objectDispatcher(context$2, values);
|
1052
1053
|
if (object == null) return await onNotFound(request);
|
1054
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1053
1055
|
if (authorizePredicate != null) {
|
1054
1056
|
let key = await context$2.getSignedKey();
|
1055
1057
|
key = key?.clone({}, { $warning: {
|
@@ -1087,7 +1089,7 @@ async function handleObject(request, { values, context: context$2, objectDispatc
|
|
1087
1089
|
* @param parameters The parameters for handling the collection.
|
1088
1090
|
* @returns A promise that resolves to an HTTP response.
|
1089
1091
|
*/
|
1090
|
-
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
|
1092
|
+
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound, onNotAcceptable }) {
|
1091
1093
|
const spanName = name.trim().replace(/\s+/g, "_");
|
1092
1094
|
tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
1093
1095
|
const tracer = tracerProvider.getTracer(require_docloader.deno_default.name, require_docloader.deno_default.version);
|
@@ -1200,6 +1202,7 @@ async function handleCollection(request, { name, identifier, uriGetter, filter,
|
|
1200
1202
|
partOf
|
1201
1203
|
});
|
1202
1204
|
}
|
1205
|
+
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1203
1206
|
if (collectionCallbacks.authorizePredicate != null) {
|
1204
1207
|
let key = await context$2.getSignedKey();
|
1205
1208
|
key = key?.clone({}, { $warning: {
|
@@ -1537,6 +1540,7 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
1537
1540
|
const handleCustomCollection = exceptWrapper(_handleCustomCollection);
|
1538
1541
|
async function _handleCustomCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
1539
1542
|
verifyDefined(callbacks);
|
1543
|
+
verifyJsonLdRequest(request);
|
1540
1544
|
await authIfNeeded(context$2, values, callbacks);
|
1541
1545
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
1542
1546
|
return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.Collection, require_actor.CollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
@@ -1555,6 +1559,7 @@ async function _handleCustomCollection(request, { name, values, context: context
|
|
1555
1559
|
const handleOrderedCollection = exceptWrapper(_handleOrderedCollection);
|
1556
1560
|
async function _handleOrderedCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
1557
1561
|
verifyDefined(callbacks);
|
1562
|
+
verifyJsonLdRequest(request);
|
1558
1563
|
await authIfNeeded(context$2, values, callbacks);
|
1559
1564
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
1560
1565
|
return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.OrderedCollection, require_actor.OrderedCollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
@@ -1832,9 +1837,10 @@ function exceptWrapper(handler) {
|
|
1832
1837
|
try {
|
1833
1838
|
return await handler(request, handlerParams);
|
1834
1839
|
} catch (error) {
|
1835
|
-
const { onNotFound, onUnauthorized } = handlerParams;
|
1840
|
+
const { onNotFound, onNotAcceptable, onUnauthorized } = handlerParams;
|
1836
1841
|
switch (error?.constructor) {
|
1837
1842
|
case ItemsNotFoundError: return await onNotFound(request);
|
1843
|
+
case NotAcceptableError: return await onNotAcceptable(request);
|
1838
1844
|
case UnauthorizedError: return await onUnauthorized(request);
|
1839
1845
|
default: throw error;
|
1840
1846
|
}
|
@@ -1852,6 +1858,15 @@ const verifyDefined = (callbacks) => {
|
|
1852
1858
|
if (callbacks === void 0) throw new ItemsNotFoundError();
|
1853
1859
|
};
|
1854
1860
|
/**
|
1861
|
+
* Verifies that a request accepts JSON-LD content type.
|
1862
|
+
* @param request The HTTP request to verify.
|
1863
|
+
* @throws {NotAcceptableError} If the request doesn't accept JSON-LD.
|
1864
|
+
* @since 1.8.0
|
1865
|
+
*/
|
1866
|
+
const verifyJsonLdRequest = (request) => {
|
1867
|
+
if (!acceptsJsonLd(request)) throw new NotAcceptableError();
|
1868
|
+
};
|
1869
|
+
/**
|
1855
1870
|
* Performs authorization if needed based on the authorization predicate.
|
1856
1871
|
* @template TContextData The context data type.
|
1857
1872
|
* @param {RequestContext<TContextData>} context The request context.
|
@@ -1935,6 +1950,15 @@ var ItemsNotFoundError = class extends HandlerError {
|
|
1935
1950
|
}
|
1936
1951
|
};
|
1937
1952
|
/**
|
1953
|
+
* Error thrown when the request is not acceptable (e.g., wrong content type).
|
1954
|
+
* @since 1.8.0
|
1955
|
+
*/
|
1956
|
+
var NotAcceptableError = class extends HandlerError {
|
1957
|
+
constructor() {
|
1958
|
+
super("The request is not acceptable.");
|
1959
|
+
}
|
1960
|
+
};
|
1961
|
+
/**
|
1938
1962
|
* Error thrown when access to a collection is unauthorized.
|
1939
1963
|
* @since 1.8.0
|
1940
1964
|
*/
|
@@ -2932,7 +2956,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2932
2956
|
span,
|
2933
2957
|
tracer
|
2934
2958
|
});
|
2935
|
-
if (acceptsJsonLd(request)) response.headers.set("Vary", "Accept");
|
2936
2959
|
} catch (error) {
|
2937
2960
|
span.setStatus({
|
2938
2961
|
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
@@ -2996,9 +3019,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2996
3019
|
context: context$2,
|
2997
3020
|
nodeInfoDispatcher: this.nodeInfoDispatcher
|
2998
3021
|
});
|
2999
|
-
}
|
3000
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
3001
|
-
switch (routeName) {
|
3002
3022
|
case "actor":
|
3003
3023
|
context$2 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
|
3004
3024
|
return await handleActor(request, {
|
@@ -3007,7 +3027,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3007
3027
|
actorDispatcher: this.actorCallbacks?.dispatcher,
|
3008
3028
|
authorizePredicate: this.actorCallbacks?.authorizePredicate,
|
3009
3029
|
onUnauthorized,
|
3010
|
-
onNotFound
|
3030
|
+
onNotFound,
|
3031
|
+
onNotAcceptable
|
3011
3032
|
});
|
3012
3033
|
case "object": {
|
3013
3034
|
const typeId = route.name.replace(/^object:/, "");
|
@@ -3023,7 +3044,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3023
3044
|
objectDispatcher: callbacks?.dispatcher,
|
3024
3045
|
authorizePredicate: callbacks?.authorizePredicate,
|
3025
3046
|
onUnauthorized,
|
3026
|
-
onNotFound
|
3047
|
+
onNotFound,
|
3048
|
+
onNotAcceptable
|
3027
3049
|
});
|
3028
3050
|
}
|
3029
3051
|
case "outbox": return await handleCollection(request, {
|
@@ -3034,7 +3056,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3034
3056
|
collectionCallbacks: this.outboxCallbacks,
|
3035
3057
|
tracerProvider: this.tracerProvider,
|
3036
3058
|
onUnauthorized,
|
3037
|
-
onNotFound
|
3059
|
+
onNotFound,
|
3060
|
+
onNotAcceptable
|
3038
3061
|
});
|
3039
3062
|
case "inbox":
|
3040
3063
|
if (request.method !== "POST") return await handleCollection(request, {
|
@@ -3045,7 +3068,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3045
3068
|
collectionCallbacks: this.inboxCallbacks,
|
3046
3069
|
tracerProvider: this.tracerProvider,
|
3047
3070
|
onUnauthorized,
|
3048
|
-
onNotFound
|
3071
|
+
onNotFound,
|
3072
|
+
onNotAcceptable
|
3049
3073
|
});
|
3050
3074
|
context$2 = this.#createContext(request, contextData, { documentLoader: await context$2.getDocumentLoader({ identifier: route.values.identifier ?? route.values.handle }) });
|
3051
3075
|
case "sharedInbox":
|
@@ -3077,7 +3101,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3077
3101
|
collectionCallbacks: this.followingCallbacks,
|
3078
3102
|
tracerProvider: this.tracerProvider,
|
3079
3103
|
onUnauthorized,
|
3080
|
-
onNotFound
|
3104
|
+
onNotFound,
|
3105
|
+
onNotAcceptable
|
3081
3106
|
});
|
3082
3107
|
case "followers": {
|
3083
3108
|
let baseUrl = url.searchParams.get("base-url");
|
@@ -3100,7 +3125,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3100
3125
|
collectionCallbacks: this.followersCallbacks,
|
3101
3126
|
tracerProvider: this.tracerProvider,
|
3102
3127
|
onUnauthorized,
|
3103
|
-
onNotFound
|
3128
|
+
onNotFound,
|
3129
|
+
onNotAcceptable
|
3104
3130
|
});
|
3105
3131
|
}
|
3106
3132
|
case "liked": return await handleCollection(request, {
|
@@ -3111,7 +3137,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3111
3137
|
collectionCallbacks: this.likedCallbacks,
|
3112
3138
|
tracerProvider: this.tracerProvider,
|
3113
3139
|
onUnauthorized,
|
3114
|
-
onNotFound
|
3140
|
+
onNotFound,
|
3141
|
+
onNotAcceptable
|
3115
3142
|
});
|
3116
3143
|
case "featured": return await handleCollection(request, {
|
3117
3144
|
name: "featured",
|
@@ -3121,7 +3148,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3121
3148
|
collectionCallbacks: this.featuredCallbacks,
|
3122
3149
|
tracerProvider: this.tracerProvider,
|
3123
3150
|
onUnauthorized,
|
3124
|
-
onNotFound
|
3151
|
+
onNotFound,
|
3152
|
+
onNotAcceptable
|
3125
3153
|
});
|
3126
3154
|
case "featuredTags": return await handleCollection(request, {
|
3127
3155
|
name: "featured tags",
|
@@ -3131,7 +3159,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3131
3159
|
collectionCallbacks: this.featuredTagsCallbacks,
|
3132
3160
|
tracerProvider: this.tracerProvider,
|
3133
3161
|
onUnauthorized,
|
3134
|
-
onNotFound
|
3162
|
+
onNotFound,
|
3163
|
+
onNotAcceptable
|
3135
3164
|
});
|
3136
3165
|
case "collection": {
|
3137
3166
|
const name = route.name.replace(/^collection:/, "");
|
@@ -3143,7 +3172,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3143
3172
|
collectionCallbacks: callbacks,
|
3144
3173
|
tracerProvider: this.tracerProvider,
|
3145
3174
|
onUnauthorized,
|
3146
|
-
onNotFound
|
3175
|
+
onNotFound,
|
3176
|
+
onNotAcceptable
|
3147
3177
|
});
|
3148
3178
|
}
|
3149
3179
|
case "orderedCollection": {
|
@@ -3156,7 +3186,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3156
3186
|
collectionCallbacks: callbacks,
|
3157
3187
|
tracerProvider: this.tracerProvider,
|
3158
3188
|
onUnauthorized,
|
3159
|
-
onNotFound
|
3189
|
+
onNotFound,
|
3190
|
+
onNotAcceptable
|
3160
3191
|
});
|
3161
3192
|
}
|
3162
3193
|
default: {
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
4
|
+
globalThis.addEventListener = () => {};
|
5
|
+
|
6
|
+
import "./type-FCer_9yh.js";
|
7
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-BDN7YoYJ.js";
|
8
|
+
import "./client-BqyuOGiQ.js";
|
9
|
+
import "./lookup-BrhURkmj.js";
|
10
|
+
import "./types-BSuWJsOm.js";
|
11
|
+
import "./actor-Cpal85xW.js";
|
12
|
+
import "./key-DORX19Bl.js";
|
13
|
+
import "./http-y7khnX5Q.js";
|
14
|
+
import "./authdocloader-Df2BFefL.js";
|
15
|
+
import "./ld-D3cq9xO1.js";
|
16
|
+
import "./owner-NFlQJyvM.js";
|
17
|
+
import "./proof-ar9xgPWi.js";
|
18
|
+
import "./inbox-DpcYOzs8.js";
|
19
|
+
import "./builder-CMxichO9.js";
|
20
|
+
import "./collection-CcnIw1qY.js";
|
21
|
+
import "./keycache-AH1uj1j-.js";
|
22
|
+
import "./retry-CfF8Gn4d.js";
|
23
|
+
import "./send-DkwkMFjJ.js";
|
24
|
+
|
25
|
+
export { FederationImpl };
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
3
3
|
import { Activity } from "./vocab-SOE1ifCr.js";
|
4
|
-
import { ActivityTransformer, Context } from "./context-
|
4
|
+
import { ActivityTransformer, Context } from "./context-CDSZdQHD.js";
|
5
5
|
|
6
6
|
//#region src/compat/transformers.d.ts
|
7
7
|
|
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-
|
8
|
-
const require_actor = require('./actor-
|
9
|
-
const require_middleware = require('./middleware-
|
10
|
-
const require_lookup = require('./lookup-
|
11
|
-
const require_key = require('./key-
|
12
|
-
const require_http = require('./http-
|
13
|
-
const require_proof = require('./proof-
|
7
|
+
const require_docloader = require('./docloader-B1O1Z5OK.cjs');
|
8
|
+
const require_actor = require('./actor-C3gJhZJj.cjs');
|
9
|
+
const require_middleware = require('./middleware-Gsxukxs5.cjs');
|
10
|
+
const require_lookup = require('./lookup-7u217Q3H.cjs');
|
11
|
+
const require_key = require('./key-CzF9SAEI.cjs');
|
12
|
+
const require_http = require('./http-Hw9HJp9i.cjs');
|
13
|
+
const require_proof = require('./proof-Gip91fK7.cjs');
|
14
14
|
const require_federation = require('./federation-H2_En3j5.cjs');
|
15
|
-
const require_types = require('./types-
|
16
|
-
const require_authdocloader = require('./authdocloader-
|
17
|
-
const require_vocab = require('./vocab-
|
15
|
+
const require_types = require('./types-CZ_qo9KW.cjs');
|
16
|
+
const require_authdocloader = require('./authdocloader-DPCGwidE.cjs');
|
17
|
+
const require_vocab = require('./vocab-9MjZjuZb.cjs');
|
18
18
|
require('./nodeinfo-Co9lJrWl.cjs');
|
19
19
|
require('./runtime-C58AJWSv.cjs');
|
20
20
|
require('./sig-ByHXzqUi.cjs');
|
package/dist/mod.d.cts
CHANGED
@@ -7,9 +7,9 @@ import { FetchKeyOptions, FetchKeyResult, HttpMessageSignaturesSpec, HttpMessage
|
|
7
7
|
import { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner } from "./owner-B-7Ptt_m.cjs";
|
8
8
|
import { FediverseHandle, LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./mod-evzlRVZq.cjs";
|
9
9
|
import { ResourceDescriptor, lookupWebFinger } from "./mod-jQ4OODsl.cjs";
|
10
|
-
import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-
|
10
|
+
import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-Dq8aCtMH.cjs";
|
11
11
|
import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-B7R1Q-M5.cjs";
|
12
|
-
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-
|
12
|
+
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-BhMnAkFX.cjs";
|
13
13
|
import "./mod-C2tOeRkN.cjs";
|
14
14
|
import "./mod-FZd39qVq.cjs";
|
15
15
|
import { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki } from "./mod-Dc_-mf8s.cjs";
|