@fedify/fedify 2.0.0-pr.435.1673 → 2.0.0-pr.449.1725
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-m_ko-86v.js → actor-C0gLJq8I.js} +7263 -2440
- package/dist/{actor-CNUje03O.cjs → actor-CsRJa7wV.cjs} +7263 -2440
- package/dist/{actor-DMgu-ZjT.d.cts → actor-D6K058Tb.d.cts} +1 -1
- package/dist/{actor-C22bXuuC.d.ts → actor-T6RyhRgk.d.ts} +1 -1
- package/dist/{actor-BxAu0qet.js → actor-VrXd7EdX.js} +1 -1
- package/dist/{authdocloader-nRFL9luh.js → authdocloader-6F9IP-VO.js} +3 -3
- package/dist/{authdocloader-D_3mtAjX.cjs → authdocloader-BkuVo8LL.cjs} +3 -3
- package/dist/{authdocloader-Chl2nuOI.js → authdocloader-C8LXxsmU.js} +3 -3
- package/dist/{builder-C8Of4dPy.js → builder-JjsppXTK.js} +14 -8
- package/dist/{client-yGBH5stP.js → client-BS-GE3XI.js} +1 -1
- package/dist/compat/mod.d.cts +7 -7
- package/dist/compat/mod.d.ts +7 -7
- package/dist/compat/transformers.test.js +16 -16
- package/dist/{context-CQsAT7xk.d.ts → context-B1X8-X33.d.ts} +186 -98
- package/dist/{context-tVOQ76fi.d.cts → context-DYCJXr7J.d.cts} +186 -98
- package/dist/{docloader-_WdHTWQR.js → docloader-AMdJU291.js} +1 -1
- package/dist/{docloader-SZjTrl6Z.cjs → docloader-BdF5STdg.cjs} +1 -1
- package/dist/{esm-e_G_xo95.js → esm-CvUgdJZ_.js} +1 -1
- package/dist/federation/builder.test.js +5 -5
- package/dist/federation/collection.test.js +3 -3
- package/dist/federation/handler.test.js +17 -17
- package/dist/federation/idempotency.test.d.ts +3 -0
- package/dist/federation/idempotency.test.js +202 -0
- package/dist/federation/inbox.test.js +4 -4
- package/dist/federation/keycache.test.js +4 -4
- package/dist/federation/kv.test.js +3 -3
- package/dist/federation/middleware.test.js +24 -47
- package/dist/federation/mod.cjs +10 -10
- package/dist/federation/mod.d.cts +7 -7
- package/dist/federation/mod.d.ts +7 -7
- package/dist/federation/mod.js +10 -10
- package/dist/federation/mq.test.js +3 -3
- package/dist/federation/negotiation.test.js +3 -3
- package/dist/federation/retry.test.js +3 -3
- package/dist/federation/router.test.js +3 -3
- package/dist/federation/send.test.js +10 -10
- package/dist/fixtures/media.example.com/avatars/test-avatar.jpg.json +6 -0
- package/dist/{http-BS6766zs.d.cts → http-D-e6AFwR.d.cts} +1 -1
- package/dist/{http-DqSNLFNY.d.ts → http-D6Uj2x2y.d.ts} +1 -1
- package/dist/{http-BpoEurUR.js → http-DVQEn98K.js} +3 -3
- package/dist/{http-DREvFalF.cjs → http-D_BI5KHC.cjs} +3 -3
- package/dist/{http-BEo67UOx.js → http-DbyMqL2X.js} +2 -2
- package/dist/{inbox-D-B5xFtJ.js → inbox-DQlf_-Dz.js} +24 -7
- package/dist/{key-DJpcumqB.js → key-BBzfhQGE.js} +4 -4
- package/dist/key-BMz_uAnc.cjs +10 -0
- package/dist/{key-Cps8Sv3N.js → key-BSJX6n9o.js} +2 -2
- package/dist/{key-JqiQvcq1.cjs → key-D-RgWfcf.cjs} +2 -2
- package/dist/{key-Cf8KTg-A.js → key-DFefr8X2.js} +2 -2
- package/dist/{key-DqrTz8Xq.js → key-DW2DrPGl.js} +3 -3
- package/dist/{keycache-D_Q1fPV0.js → keycache-CcIfdj0m.js} +1 -1
- package/dist/{keys-F0jh2GNR.js → keys-DnSaJmvD.js} +1 -1
- package/dist/{ld-CXygHn_m.js → ld-CAJ6Q2od.js} +2 -2
- package/dist/{lookup-C-Y0Ep1a.cjs → lookup-B2Bsau2g.cjs} +1 -1
- package/dist/{lookup-C6WSLjPE.js → lookup-BGCuyJRy.js} +1 -1
- package/dist/{lookup-DuqY2_In.js → lookup-C3pnuyiD.js} +21 -12
- package/dist/{middleware-2qNNXYEE.js → middleware-1oxZY_0z.js} +78 -56
- package/dist/middleware-B8WWe8Q2.js +26 -0
- package/dist/{middleware-CMiUxZ6O.js → middleware-BDqkoMAQ.js} +48 -49
- package/dist/{middleware-BsFAFlnZ.cjs → middleware-D0XMPoN8.cjs} +78 -56
- package/dist/middleware-DipQbJmB.js +17 -0
- package/dist/middleware-mLaQeD_Z.cjs +17 -0
- package/dist/{mod-Drmz72EK.d.ts → mod-BhUKmBJD.d.ts} +2 -2
- package/dist/{mod-TFoH2Ql8.d.ts → mod-CerN_Sza.d.ts} +1 -1
- package/dist/{mod-Dc_-mf8s.d.cts → mod-Cj1tHXBR.d.cts} +1 -1
- package/dist/{mod-evzlRVZq.d.cts → mod-CxkWO3Mg.d.cts} +19 -1
- package/dist/{mod-B26zRlH1.d.ts → mod-DcKxhFQ8.d.ts} +2 -2
- package/dist/{mod-BClfg3ej.d.cts → mod-Djzcw2ry.d.cts} +2 -2
- package/dist/{mod-Cxt4Kpf6.d.ts → mod-DlU8ISoa.d.ts} +19 -1
- package/dist/{mod-DBQAI4v9.d.cts → mod-twdvV2hR.d.cts} +2 -2
- package/dist/mod.cjs +10 -10
- package/dist/mod.d.cts +10 -10
- package/dist/mod.d.ts +10 -10
- package/dist/mod.js +10 -10
- package/dist/nodeinfo/client.test.js +5 -5
- package/dist/nodeinfo/handler.test.js +16 -16
- package/dist/nodeinfo/mod.cjs +2 -2
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/types.test.js +3 -3
- package/dist/{owner-B-7Ptt_m.d.cts → owner-BN_tO3cY.d.cts} +2 -2
- package/dist/{owner-D2fTlp_x.js → owner-CaIfLBwg.js} +2 -2
- package/dist/{owner-CQPnQVtf.d.ts → owner-hd9lvQcP.d.ts} +2 -2
- package/dist/{proof-C4Y4gJcm.cjs → proof-AhyVJcNZ.cjs} +3 -3
- package/dist/{proof-kEUjWRNJ.js → proof-BQwXHakc.js} +2 -2
- package/dist/{proof-CHM9su4L.js → proof-CKXppjee.js} +3 -3
- package/dist/runtime/authdocloader.test.js +9 -9
- package/dist/runtime/docloader.test.js +4 -4
- package/dist/runtime/key.test.js +5 -5
- package/dist/runtime/langstr.test.js +3 -3
- package/dist/runtime/link.test.js +3 -3
- package/dist/runtime/mod.cjs +6 -6
- package/dist/runtime/mod.d.cts +3 -3
- package/dist/runtime/mod.d.ts +3 -3
- package/dist/runtime/mod.js +6 -6
- package/dist/runtime/multibase/multibase.test.js +3 -3
- package/dist/runtime/url.test.js +3 -3
- package/dist/{send-Utq2Jm0I.js → send-DQd3R1Oc.js} +2 -2
- package/dist/sig/http.test.js +8 -8
- package/dist/sig/key.test.js +6 -6
- package/dist/sig/ld.test.js +7 -7
- package/dist/sig/mod.cjs +6 -6
- package/dist/sig/mod.d.cts +5 -5
- package/dist/sig/mod.d.ts +5 -5
- package/dist/sig/mod.js +6 -6
- package/dist/sig/owner.test.js +7 -7
- package/dist/sig/proof.test.js +7 -7
- package/dist/testing/docloader.test.js +3 -3
- package/dist/testing/mod.d.ts +391 -86
- package/dist/testing/mod.js +3 -3
- package/dist/{testing-DUpTIvNE.js → testing-BljKU-GG.js} +2 -2
- package/dist/{type-BYN6Ax2M.js → type-COb6KNlm.js} +6943 -2120
- package/dist/{types-BXkh8ctL.js → types-CEn4wB51.js} +1 -1
- package/dist/{types-BBpQe860.cjs → types-DI0yutHB.cjs} +1 -1
- package/dist/vocab/actor.test.js +5 -5
- package/dist/vocab/lookup.test.js +255 -5
- package/dist/vocab/mod.cjs +4 -4
- package/dist/vocab/mod.d.cts +3 -3
- package/dist/vocab/mod.d.ts +3 -3
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/type.test.js +3 -3
- package/dist/vocab/vocab.test.js +397 -8
- package/dist/{vocab-SOE1ifCr.d.ts → vocab-BI0Ak5lL.d.ts} +290 -0
- package/dist/{vocab-PKJB4DyY.js → vocab-CkWH9P5l.js} +23 -14
- package/dist/{vocab-DJTYMqyU.d.cts → vocab-Dw1-yVGg.d.cts} +290 -0
- package/dist/{vocab-DWZQ7gVQ.cjs → vocab-NZXL5Pr-.cjs} +23 -14
- package/dist/webfinger/handler.test.js +16 -16
- package/dist/webfinger/lookup.test.js +4 -4
- package/dist/webfinger/mod.cjs +2 -2
- package/dist/webfinger/mod.js +2 -2
- package/dist/x/cfworkers.test.js +3 -3
- package/dist/x/hono.d.cts +6 -6
- package/dist/x/hono.d.ts +6 -6
- package/dist/x/sveltekit.d.cts +6 -6
- package/dist/x/sveltekit.d.ts +6 -6
- package/package.json +1 -1
- package/dist/key-BvvbahfP.cjs +0 -10
- package/dist/middleware-BD1IE5O5.js +0 -26
- package/dist/middleware-BuZrvrDv.js +0 -17
- package/dist/middleware-h_3nRr8m.cjs +0 -17
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
4
|
+
globalThis.addEventListener = () => {};
|
5
|
+
|
6
|
+
import "./type-COb6KNlm.js";
|
7
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-BDqkoMAQ.js";
|
8
|
+
import "./client-BS-GE3XI.js";
|
9
|
+
import "./lookup-C3pnuyiD.js";
|
10
|
+
import "./types-BSuWJsOm.js";
|
11
|
+
import "./actor-VrXd7EdX.js";
|
12
|
+
import "./key-BSJX6n9o.js";
|
13
|
+
import "./http-DbyMqL2X.js";
|
14
|
+
import "./authdocloader-C8LXxsmU.js";
|
15
|
+
import "./ld-CAJ6Q2od.js";
|
16
|
+
import "./owner-CaIfLBwg.js";
|
17
|
+
import "./proof-BQwXHakc.js";
|
18
|
+
import "./inbox-DQlf_-Dz.js";
|
19
|
+
import "./builder-JjsppXTK.js";
|
20
|
+
import "./collection-CcnIw1qY.js";
|
21
|
+
import "./keycache-CcIfdj0m.js";
|
22
|
+
import "./negotiation-5NPJL6zp.js";
|
23
|
+
import "./retry-D4GJ670a.js";
|
24
|
+
import "./send-DQd3R1Oc.js";
|
25
|
+
|
26
|
+
export { FederationImpl };
|
@@ -3,23 +3,23 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-
|
7
|
-
import { getNodeInfo } from "./client-
|
8
|
-
import { RouterError, lookupObject, traverseCollection } from "./lookup-
|
6
|
+
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-COb6KNlm.js";
|
7
|
+
import { getNodeInfo } from "./client-BS-GE3XI.js";
|
8
|
+
import { RouterError, lookupObject, traverseCollection } from "./lookup-C3pnuyiD.js";
|
9
9
|
import { nodeInfoToJson } from "./types-BSuWJsOm.js";
|
10
|
-
import { exportJwk, importJwk, validateCryptoKey } from "./key-
|
11
|
-
import { verifyRequest } from "./http-
|
12
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
13
|
-
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-
|
14
|
-
import { doesActorOwnKey, getKeyOwner } from "./owner-
|
15
|
-
import { signObject, verifyObject } from "./proof-
|
16
|
-
import { routeActivity } from "./inbox-
|
17
|
-
import { FederationBuilderImpl } from "./builder-
|
10
|
+
import { exportJwk, importJwk, validateCryptoKey } from "./key-BSJX6n9o.js";
|
11
|
+
import { verifyRequest } from "./http-DbyMqL2X.js";
|
12
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-C8LXxsmU.js";
|
13
|
+
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-CAJ6Q2od.js";
|
14
|
+
import { doesActorOwnKey, getKeyOwner } from "./owner-CaIfLBwg.js";
|
15
|
+
import { signObject, verifyObject } from "./proof-BQwXHakc.js";
|
16
|
+
import { routeActivity } from "./inbox-DQlf_-Dz.js";
|
17
|
+
import { FederationBuilderImpl } from "./builder-JjsppXTK.js";
|
18
18
|
import { buildCollectionSynchronizationHeader } from "./collection-CcnIw1qY.js";
|
19
|
-
import { KvKeyCache } from "./keycache-
|
19
|
+
import { KvKeyCache } from "./keycache-CcIfdj0m.js";
|
20
20
|
import { acceptsJsonLd } from "./negotiation-5NPJL6zp.js";
|
21
21
|
import { createExponentialBackoffPolicy } from "./retry-D4GJ670a.js";
|
22
|
-
import { extractInboxes, sendActivity } from "./send-
|
22
|
+
import { extractInboxes, sendActivity } from "./send-DQd3R1Oc.js";
|
23
23
|
import { getLogger, withContext } from "@logtape/logtape";
|
24
24
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
25
25
|
import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
|
@@ -604,7 +604,8 @@ async function handleInbox(request, options) {
|
|
604
604
|
* @param span The OpenTelemetry span for tracing.
|
605
605
|
* @returns A promise that resolves to an HTTP response.
|
606
606
|
*/
|
607
|
-
async function handleInboxInternal(request,
|
607
|
+
async function handleInboxInternal(request, parameters, span) {
|
608
|
+
const { recipient, context: ctx, inboxContextFactory, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, skipSignatureVerification, tracerProvider } = parameters;
|
608
609
|
const logger$2 = getLogger([
|
609
610
|
"fedify",
|
610
611
|
"federation",
|
@@ -806,7 +807,8 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
806
807
|
kvPrefixes,
|
807
808
|
queue,
|
808
809
|
span,
|
809
|
-
tracerProvider
|
810
|
+
tracerProvider,
|
811
|
+
idempotencyStrategy: parameters.idempotencyStrategy
|
810
812
|
});
|
811
813
|
if (routeResult === "alreadyProcessed") return new Response(`Activity <${activity.id}> has already been processed.`, {
|
812
814
|
status: 202,
|
@@ -836,7 +838,7 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
836
838
|
/**
|
837
839
|
* Handles a custom collection request.
|
838
840
|
* @template TItem The type of items in the collection.
|
839
|
-
* @template
|
841
|
+
* @template TParam The parameter names of the requested URL.
|
840
842
|
* @template TContext The type of the context, extending {@link RequestContext}.
|
841
843
|
* @template TContextData The context data to pass to the `TContext`.
|
842
844
|
* @param request The HTTP request.
|
@@ -854,7 +856,7 @@ async function _handleCustomCollection(request, { name, values, context: context
|
|
854
856
|
/**
|
855
857
|
* Handles an ordered collection request.
|
856
858
|
* @template TItem The type of items in the collection.
|
857
|
-
* @template
|
859
|
+
* @template TParam The parameter names of the requested URL.
|
858
860
|
* @template TContext The type of the context, extending {@link RequestContext}.
|
859
861
|
* @template TContextData The context data to pass to the `TContext`.
|
860
862
|
* @param request The HTTP request.
|
@@ -874,7 +876,7 @@ async function _handleOrderedCollection(request, { name, values, context: contex
|
|
874
876
|
* The main flow is on `getCollection`, `dispatch`.
|
875
877
|
*
|
876
878
|
* @template TItem The type of items in the collection.
|
877
|
-
* @template
|
879
|
+
* @template TParam The parameter names of the requested URL.
|
878
880
|
* @template TContext The type of the context. {@link Context} or {@link RequestContext}.
|
879
881
|
* @template TContextData The context data to pass to the `TContext`.
|
880
882
|
* @template TCollection The type of the collection, extending {@link Collection}.
|
@@ -908,14 +910,14 @@ var CustomCollectionHandler = class {
|
|
908
910
|
#collection = null;
|
909
911
|
/**
|
910
912
|
* Creates a new CustomCollection instance.
|
911
|
-
* @param
|
912
|
-
* @param
|
913
|
-
* @param
|
914
|
-
* @param
|
915
|
-
* @param
|
916
|
-
* @param
|
917
|
-
* @param
|
918
|
-
* @param
|
913
|
+
* @param name The name of the collection.
|
914
|
+
* @param values The parameter values for the collection.
|
915
|
+
* @param context The request context.
|
916
|
+
* @param callbacks The collection callbacks.
|
917
|
+
* @param tracerProvider The tracer provider for telemetry.
|
918
|
+
* @param Collection The Collection constructor.
|
919
|
+
* @param CollectionPage The CollectionPage constructor.
|
920
|
+
* @param filterPredicate Optional filter predicate for items.
|
919
921
|
*/
|
920
922
|
constructor(name, values, context$1, callbacks, tracerProvider = trace.getTracerProvider(), Collection$1, CollectionPage$1, filterPredicate) {
|
921
923
|
this.name = name;
|
@@ -1040,7 +1042,7 @@ var CustomCollectionHandler = class {
|
|
1040
1042
|
/**
|
1041
1043
|
* Creates a function to wrap the dispatcher so tracing can be applied.
|
1042
1044
|
* @param params Parameters including cursor and total items.
|
1043
|
-
* @returns
|
1045
|
+
* @returns A function that handles the span operation.
|
1044
1046
|
*/
|
1045
1047
|
spanPages = ({ totalItems = null, cursor = null }) => async (span) => {
|
1046
1048
|
try {
|
@@ -1061,23 +1063,23 @@ var CustomCollectionHandler = class {
|
|
1061
1063
|
};
|
1062
1064
|
/**
|
1063
1065
|
* Dispatches the collection request to get items.
|
1064
|
-
* @param
|
1065
|
-
* @returns
|
1066
|
+
* @param cursor The cursor for pagination, or null for the first page.
|
1067
|
+
* @returns A promise that resolves to the page items.
|
1066
1068
|
*/
|
1067
1069
|
async dispatch(cursor = null) {
|
1068
1070
|
return await this.#dispatcher(this.context, this.values, cursor) ?? new ItemsNotFoundError().throw();
|
1069
1071
|
}
|
1070
1072
|
/**
|
1071
1073
|
* Filters the items in the collection.
|
1072
|
-
* @param
|
1073
|
-
* @returns
|
1074
|
+
* @param items The items to filter.
|
1075
|
+
* @returns The filtered items.
|
1074
1076
|
*/
|
1075
1077
|
filterItems(items) {
|
1076
1078
|
return filterCollectionItems(items, this.name, this.filterPredicate);
|
1077
1079
|
}
|
1078
1080
|
/**
|
1079
1081
|
* Appends a cursor to the URL if it exists.
|
1080
|
-
* @param
|
1082
|
+
* @param cursor The cursor to append, or null/undefined.
|
1081
1083
|
* @returns The URL with cursor appended, or null if cursor is null/undefined.
|
1082
1084
|
*/
|
1083
1085
|
appendToUrl(cursor) {
|
@@ -1085,8 +1087,7 @@ var CustomCollectionHandler = class {
|
|
1085
1087
|
}
|
1086
1088
|
/**
|
1087
1089
|
* Gets the stored collection or collection page.
|
1088
|
-
* @returns
|
1089
|
-
the collection or collection page.
|
1090
|
+
* @returns A promise that resolves to the collection or collection page.
|
1090
1091
|
*/
|
1091
1092
|
get collection() {
|
1092
1093
|
if (this.#collection === null) this.#collection = this.getCollection();
|
@@ -1094,8 +1095,8 @@ var CustomCollectionHandler = class {
|
|
1094
1095
|
}
|
1095
1096
|
/**
|
1096
1097
|
* Gets the total number of items in the collection.
|
1097
|
-
* @returns
|
1098
|
-
|
1098
|
+
* @returns A promise that resolves to the total items count,
|
1099
|
+
* or null if not available.
|
1099
1100
|
*/
|
1100
1101
|
get totalItems() {
|
1101
1102
|
if (this.#totalItems === void 0) this.totalItems = this.callbacks.counter?.(this.context, this.values);
|
@@ -1111,8 +1112,8 @@ var CustomCollectionHandler = class {
|
|
1111
1112
|
}
|
1112
1113
|
/**
|
1113
1114
|
* Gets the first cursor for pagination.
|
1114
|
-
* @returns
|
1115
|
-
or null if not available.
|
1115
|
+
* @returns A promise that resolves to the first cursor,
|
1116
|
+
* or null if not available.
|
1116
1117
|
*/
|
1117
1118
|
get firstCursor() {
|
1118
1119
|
const cursor = this.callbacks.firstCursor?.(this.context, this.values);
|
@@ -1317,7 +1318,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1317
1318
|
firstKnock;
|
1318
1319
|
constructor(options) {
|
1319
1320
|
super();
|
1320
|
-
const logger$2 = getLogger(["fedify", "federation"]);
|
1321
1321
|
this.kv = options.kv;
|
1322
1322
|
this.kvPrefixes = {
|
1323
1323
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
@@ -1365,8 +1365,9 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1365
1365
|
this.router.trailingSlashInsensitive = options.trailingSlashInsensitive ?? false;
|
1366
1366
|
this._initializeRouter();
|
1367
1367
|
if (options.allowPrivateAddress || options.userAgent != null) {
|
1368
|
-
if (options.
|
1369
|
-
|
1368
|
+
if (options.documentLoaderFactory != null) throw new TypeError("Cannot set documentLoaderFactory with allowPrivateAddress or userAgent options.");
|
1369
|
+
if (options.contextLoaderFactory != null) throw new TypeError("Cannot set contextLoaderFactory with allowPrivateAddress or userAgent options.");
|
1370
|
+
if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
|
1370
1371
|
}
|
1371
1372
|
const { allowPrivateAddress, userAgent } = options;
|
1372
1373
|
this.allowPrivateAddress = allowPrivateAddress ?? false;
|
@@ -1380,11 +1381,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1380
1381
|
prefix: this.kvPrefixes.remoteDocument
|
1381
1382
|
});
|
1382
1383
|
});
|
1383
|
-
|
1384
|
-
if (options.contextLoaderFactory != null) throw new TypeError("Cannot set both contextLoader and contextLoaderFactory options at a time; use contextLoaderFactory only.");
|
1385
|
-
this.contextLoaderFactory = () => options.contextLoader;
|
1386
|
-
logger$2.warn("The contextLoader option is deprecated; use contextLoaderFactory option instead.");
|
1387
|
-
} else this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
1384
|
+
this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
1388
1385
|
this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => getAuthenticatedDocumentLoader(identity, {
|
1389
1386
|
allowPrivateAddress,
|
1390
1387
|
userAgent,
|
@@ -1988,7 +1985,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1988
1985
|
nodeInfoDispatcher: this.nodeInfoDispatcher
|
1989
1986
|
});
|
1990
1987
|
}
|
1991
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1988
|
+
if (request.method !== "POST" && !acceptsJsonLd(request)) return await onNotAcceptable(request);
|
1992
1989
|
switch (routeName) {
|
1993
1990
|
case "actor":
|
1994
1991
|
context$1 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
|
@@ -2058,7 +2055,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2058
2055
|
onNotFound,
|
2059
2056
|
signatureTimeWindow: this.signatureTimeWindow,
|
2060
2057
|
skipSignatureVerification: this.skipSignatureVerification,
|
2061
|
-
tracerProvider: this.tracerProvider
|
2058
|
+
tracerProvider: this.tracerProvider,
|
2059
|
+
idempotencyStrategy: this.idempotencyStrategy
|
2062
2060
|
});
|
2063
2061
|
case "following": return await handleCollection(request, {
|
2064
2062
|
name: "following",
|
@@ -2801,7 +2799,8 @@ var ContextImpl = class ContextImpl {
|
|
2801
2799
|
kvPrefixes: this.federation.kvPrefixes,
|
2802
2800
|
queue: this.federation.inboxQueue,
|
2803
2801
|
span,
|
2804
|
-
tracerProvider: options.tracerProvider ?? this.tracerProvider
|
2802
|
+
tracerProvider: options.tracerProvider ?? this.tracerProvider,
|
2803
|
+
idempotencyStrategy: this.federation.idempotencyStrategy
|
2805
2804
|
});
|
2806
2805
|
return routeResult === "alreadyProcessed" || routeResult === "enqueued" || routeResult === "unsupportedActivity" || routeResult === "success";
|
2807
2806
|
}
|
@@ -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-BdF5STdg.cjs');
|
8
|
+
const require_actor = require('./actor-CsRJa7wV.cjs');
|
9
|
+
const require_lookup = require('./lookup-B2Bsau2g.cjs');
|
10
|
+
const require_key = require('./key-D-RgWfcf.cjs');
|
11
|
+
const require_http = require('./http-D_BI5KHC.cjs');
|
12
|
+
const require_proof = require('./proof-AhyVJcNZ.cjs');
|
13
|
+
const require_types = require('./types-DI0yutHB.cjs');
|
14
|
+
const require_authdocloader = require('./authdocloader-BkuVo8LL.cjs');
|
15
|
+
const require_vocab = require('./vocab-NZXL5Pr-.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"));
|
@@ -56,17 +56,34 @@ var InboxListenerSet = class InboxListenerSet {
|
|
56
56
|
return this.dispatchWithClass(activity)?.listener ?? null;
|
57
57
|
}
|
58
58
|
};
|
59
|
-
async function routeActivity({ context: ctx, json, activity, recipient, inboxListeners, inboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider }) {
|
59
|
+
async function routeActivity({ context: ctx, json, activity, recipient, inboxListeners, inboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider, idempotencyStrategy }) {
|
60
60
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
61
61
|
"fedify",
|
62
62
|
"federation",
|
63
63
|
"inbox"
|
64
64
|
]);
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
65
|
+
let cacheKey = null;
|
66
|
+
if (activity.id != null) {
|
67
|
+
const inboxContext = inboxContextFactory(recipient, json, activity.id?.href, require_actor.getTypeId(activity).href);
|
68
|
+
const strategy = idempotencyStrategy ?? "per-inbox";
|
69
|
+
let keyString;
|
70
|
+
if (typeof strategy === "function") {
|
71
|
+
const result = await strategy(inboxContext, activity);
|
72
|
+
keyString = result;
|
73
|
+
} else switch (strategy) {
|
74
|
+
case "global":
|
75
|
+
keyString = activity.id.href;
|
76
|
+
break;
|
77
|
+
case "per-origin":
|
78
|
+
keyString = `${ctx.origin}\n${activity.id.href}`;
|
79
|
+
break;
|
80
|
+
case "per-inbox":
|
81
|
+
keyString = `${ctx.origin}\n${activity.id.href}\n${recipient == null ? "sharedInbox" : `inbox\n${recipient}`}`;
|
82
|
+
break;
|
83
|
+
default: keyString = `${ctx.origin}\n${activity.id.href}`;
|
84
|
+
}
|
85
|
+
if (keyString != null) cacheKey = [...kvPrefixes.activityIdempotence, keyString];
|
86
|
+
}
|
70
87
|
if (cacheKey != null) {
|
71
88
|
const cached = await kv.get(cacheKey);
|
72
89
|
if (cached === true) {
|
@@ -308,6 +325,7 @@ var FederationBuilderImpl = class {
|
|
308
325
|
inboxListeners;
|
309
326
|
inboxErrorHandler;
|
310
327
|
sharedInboxKeyDispatcher;
|
328
|
+
idempotencyStrategy;
|
311
329
|
collectionTypeIds;
|
312
330
|
collectionCallbacks;
|
313
331
|
/**
|
@@ -322,7 +340,7 @@ var FederationBuilderImpl = class {
|
|
322
340
|
this.collectionTypeIds = {};
|
323
341
|
}
|
324
342
|
async build(options) {
|
325
|
-
const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-
|
343
|
+
const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-mLaQeD_Z.cjs"));
|
326
344
|
const f = new FederationImpl$1(options);
|
327
345
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
328
346
|
f.router = this.router.clone();
|
@@ -344,6 +362,7 @@ var FederationBuilderImpl = class {
|
|
344
362
|
f.inboxListeners = this.inboxListeners?.clone();
|
345
363
|
f.inboxErrorHandler = this.inboxErrorHandler;
|
346
364
|
f.sharedInboxKeyDispatcher = this.sharedInboxKeyDispatcher;
|
365
|
+
f.idempotencyStrategy = this.idempotencyStrategy;
|
347
366
|
return f;
|
348
367
|
}
|
349
368
|
_getTracer() {
|
@@ -766,15 +785,19 @@ var FederationBuilderImpl = class {
|
|
766
785
|
setSharedKeyDispatcher: (dispatcher) => {
|
767
786
|
this.sharedInboxKeyDispatcher = dispatcher;
|
768
787
|
return setters;
|
788
|
+
},
|
789
|
+
withIdempotency: (strategy) => {
|
790
|
+
this.idempotencyStrategy = strategy;
|
791
|
+
return setters;
|
769
792
|
}
|
770
793
|
};
|
771
794
|
return setters;
|
772
795
|
}
|
773
|
-
setCollectionDispatcher(name,
|
774
|
-
return this.#setCustomCollectionDispatcher(name, "collection",
|
796
|
+
setCollectionDispatcher(name, itemType, path, dispatcher) {
|
797
|
+
return this.#setCustomCollectionDispatcher(name, "collection", itemType, path, dispatcher);
|
775
798
|
}
|
776
|
-
setOrderedCollectionDispatcher(name,
|
777
|
-
return this.#setCustomCollectionDispatcher(name, "orderedCollection",
|
799
|
+
setOrderedCollectionDispatcher(name, itemType, path, dispatcher) {
|
800
|
+
return this.#setCustomCollectionDispatcher(name, "orderedCollection", itemType, path, dispatcher);
|
778
801
|
}
|
779
802
|
#setCustomCollectionDispatcher(name, collectionType, itemType, path, dispatcher) {
|
780
803
|
const strName = String(name);
|
@@ -1294,7 +1317,8 @@ async function handleInbox(request, options) {
|
|
1294
1317
|
* @param span The OpenTelemetry span for tracing.
|
1295
1318
|
* @returns A promise that resolves to an HTTP response.
|
1296
1319
|
*/
|
1297
|
-
async function handleInboxInternal(request,
|
1320
|
+
async function handleInboxInternal(request, parameters, span) {
|
1321
|
+
const { recipient, context: ctx, inboxContextFactory, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, skipSignatureVerification, tracerProvider } = parameters;
|
1298
1322
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
1299
1323
|
"fedify",
|
1300
1324
|
"federation",
|
@@ -1496,7 +1520,8 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
1496
1520
|
kvPrefixes,
|
1497
1521
|
queue,
|
1498
1522
|
span,
|
1499
|
-
tracerProvider
|
1523
|
+
tracerProvider,
|
1524
|
+
idempotencyStrategy: parameters.idempotencyStrategy
|
1500
1525
|
});
|
1501
1526
|
if (routeResult === "alreadyProcessed") return new Response(`Activity <${activity.id}> has already been processed.`, {
|
1502
1527
|
status: 202,
|
@@ -1526,7 +1551,7 @@ async function handleInboxInternal(request, { recipient, context: ctx, inboxCont
|
|
1526
1551
|
/**
|
1527
1552
|
* Handles a custom collection request.
|
1528
1553
|
* @template TItem The type of items in the collection.
|
1529
|
-
* @template
|
1554
|
+
* @template TParam The parameter names of the requested URL.
|
1530
1555
|
* @template TContext The type of the context, extending {@link RequestContext}.
|
1531
1556
|
* @template TContextData The context data to pass to the `TContext`.
|
1532
1557
|
* @param request The HTTP request.
|
@@ -1544,7 +1569,7 @@ async function _handleCustomCollection(request, { name, values, context: context
|
|
1544
1569
|
/**
|
1545
1570
|
* Handles an ordered collection request.
|
1546
1571
|
* @template TItem The type of items in the collection.
|
1547
|
-
* @template
|
1572
|
+
* @template TParam The parameter names of the requested URL.
|
1548
1573
|
* @template TContext The type of the context, extending {@link RequestContext}.
|
1549
1574
|
* @template TContextData The context data to pass to the `TContext`.
|
1550
1575
|
* @param request The HTTP request.
|
@@ -1564,7 +1589,7 @@ async function _handleOrderedCollection(request, { name, values, context: contex
|
|
1564
1589
|
* The main flow is on `getCollection`, `dispatch`.
|
1565
1590
|
*
|
1566
1591
|
* @template TItem The type of items in the collection.
|
1567
|
-
* @template
|
1592
|
+
* @template TParam The parameter names of the requested URL.
|
1568
1593
|
* @template TContext The type of the context. {@link Context} or {@link RequestContext}.
|
1569
1594
|
* @template TContextData The context data to pass to the `TContext`.
|
1570
1595
|
* @template TCollection The type of the collection, extending {@link Collection}.
|
@@ -1598,14 +1623,14 @@ var CustomCollectionHandler = class {
|
|
1598
1623
|
#collection = null;
|
1599
1624
|
/**
|
1600
1625
|
* Creates a new CustomCollection instance.
|
1601
|
-
* @param
|
1602
|
-
* @param
|
1603
|
-
* @param
|
1604
|
-
* @param
|
1605
|
-
* @param
|
1606
|
-
* @param
|
1607
|
-
* @param
|
1608
|
-
* @param
|
1626
|
+
* @param name The name of the collection.
|
1627
|
+
* @param values The parameter values for the collection.
|
1628
|
+
* @param context The request context.
|
1629
|
+
* @param callbacks The collection callbacks.
|
1630
|
+
* @param tracerProvider The tracer provider for telemetry.
|
1631
|
+
* @param Collection The Collection constructor.
|
1632
|
+
* @param CollectionPage The CollectionPage constructor.
|
1633
|
+
* @param filterPredicate Optional filter predicate for items.
|
1609
1634
|
*/
|
1610
1635
|
constructor(name, values, context$2, callbacks, tracerProvider = __opentelemetry_api.trace.getTracerProvider(), Collection$1, CollectionPage$1, filterPredicate) {
|
1611
1636
|
this.name = name;
|
@@ -1730,7 +1755,7 @@ var CustomCollectionHandler = class {
|
|
1730
1755
|
/**
|
1731
1756
|
* Creates a function to wrap the dispatcher so tracing can be applied.
|
1732
1757
|
* @param params Parameters including cursor and total items.
|
1733
|
-
* @returns
|
1758
|
+
* @returns A function that handles the span operation.
|
1734
1759
|
*/
|
1735
1760
|
spanPages = ({ totalItems = null, cursor = null }) => async (span) => {
|
1736
1761
|
try {
|
@@ -1751,23 +1776,23 @@ var CustomCollectionHandler = class {
|
|
1751
1776
|
};
|
1752
1777
|
/**
|
1753
1778
|
* Dispatches the collection request to get items.
|
1754
|
-
* @param
|
1755
|
-
* @returns
|
1779
|
+
* @param cursor The cursor for pagination, or null for the first page.
|
1780
|
+
* @returns A promise that resolves to the page items.
|
1756
1781
|
*/
|
1757
1782
|
async dispatch(cursor = null) {
|
1758
1783
|
return await this.#dispatcher(this.context, this.values, cursor) ?? new ItemsNotFoundError().throw();
|
1759
1784
|
}
|
1760
1785
|
/**
|
1761
1786
|
* Filters the items in the collection.
|
1762
|
-
* @param
|
1763
|
-
* @returns
|
1787
|
+
* @param items The items to filter.
|
1788
|
+
* @returns The filtered items.
|
1764
1789
|
*/
|
1765
1790
|
filterItems(items) {
|
1766
1791
|
return filterCollectionItems(items, this.name, this.filterPredicate);
|
1767
1792
|
}
|
1768
1793
|
/**
|
1769
1794
|
* Appends a cursor to the URL if it exists.
|
1770
|
-
* @param
|
1795
|
+
* @param cursor The cursor to append, or null/undefined.
|
1771
1796
|
* @returns The URL with cursor appended, or null if cursor is null/undefined.
|
1772
1797
|
*/
|
1773
1798
|
appendToUrl(cursor) {
|
@@ -1775,8 +1800,7 @@ var CustomCollectionHandler = class {
|
|
1775
1800
|
}
|
1776
1801
|
/**
|
1777
1802
|
* Gets the stored collection or collection page.
|
1778
|
-
* @returns
|
1779
|
-
the collection or collection page.
|
1803
|
+
* @returns A promise that resolves to the collection or collection page.
|
1780
1804
|
*/
|
1781
1805
|
get collection() {
|
1782
1806
|
if (this.#collection === null) this.#collection = this.getCollection();
|
@@ -1784,8 +1808,8 @@ var CustomCollectionHandler = class {
|
|
1784
1808
|
}
|
1785
1809
|
/**
|
1786
1810
|
* Gets the total number of items in the collection.
|
1787
|
-
* @returns
|
1788
|
-
|
1811
|
+
* @returns A promise that resolves to the total items count,
|
1812
|
+
* or null if not available.
|
1789
1813
|
*/
|
1790
1814
|
get totalItems() {
|
1791
1815
|
if (this.#totalItems === void 0) this.totalItems = this.callbacks.counter?.(this.context, this.values);
|
@@ -1801,8 +1825,8 @@ var CustomCollectionHandler = class {
|
|
1801
1825
|
}
|
1802
1826
|
/**
|
1803
1827
|
* Gets the first cursor for pagination.
|
1804
|
-
* @returns
|
1805
|
-
or null if not available.
|
1828
|
+
* @returns A promise that resolves to the first cursor,
|
1829
|
+
* or null if not available.
|
1806
1830
|
*/
|
1807
1831
|
get firstCursor() {
|
1808
1832
|
const cursor = this.callbacks.firstCursor?.(this.context, this.values);
|
@@ -2326,7 +2350,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2326
2350
|
firstKnock;
|
2327
2351
|
constructor(options) {
|
2328
2352
|
super();
|
2329
|
-
const logger$1 = (0, __logtape_logtape.getLogger)(["fedify", "federation"]);
|
2330
2353
|
this.kv = options.kv;
|
2331
2354
|
this.kvPrefixes = {
|
2332
2355
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
@@ -2374,8 +2397,9 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2374
2397
|
this.router.trailingSlashInsensitive = options.trailingSlashInsensitive ?? false;
|
2375
2398
|
this._initializeRouter();
|
2376
2399
|
if (options.allowPrivateAddress || options.userAgent != null) {
|
2377
|
-
if (options.
|
2378
|
-
|
2400
|
+
if (options.documentLoaderFactory != null) throw new TypeError("Cannot set documentLoaderFactory with allowPrivateAddress or userAgent options.");
|
2401
|
+
if (options.contextLoaderFactory != null) throw new TypeError("Cannot set contextLoaderFactory with allowPrivateAddress or userAgent options.");
|
2402
|
+
if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
|
2379
2403
|
}
|
2380
2404
|
const { allowPrivateAddress, userAgent } = options;
|
2381
2405
|
this.allowPrivateAddress = allowPrivateAddress ?? false;
|
@@ -2389,11 +2413,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2389
2413
|
prefix: this.kvPrefixes.remoteDocument
|
2390
2414
|
});
|
2391
2415
|
});
|
2392
|
-
|
2393
|
-
if (options.contextLoaderFactory != null) throw new TypeError("Cannot set both contextLoader and contextLoaderFactory options at a time; use contextLoaderFactory only.");
|
2394
|
-
this.contextLoaderFactory = () => options.contextLoader;
|
2395
|
-
logger$1.warn("The contextLoader option is deprecated; use contextLoaderFactory option instead.");
|
2396
|
-
} else this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
2416
|
+
this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
2397
2417
|
this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_authdocloader.getAuthenticatedDocumentLoader(identity, {
|
2398
2418
|
allowPrivateAddress,
|
2399
2419
|
userAgent,
|
@@ -2997,7 +3017,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2997
3017
|
nodeInfoDispatcher: this.nodeInfoDispatcher
|
2998
3018
|
});
|
2999
3019
|
}
|
3000
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
3020
|
+
if (request.method !== "POST" && !acceptsJsonLd(request)) return await onNotAcceptable(request);
|
3001
3021
|
switch (routeName) {
|
3002
3022
|
case "actor":
|
3003
3023
|
context$2 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
|
@@ -3067,7 +3087,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
3067
3087
|
onNotFound,
|
3068
3088
|
signatureTimeWindow: this.signatureTimeWindow,
|
3069
3089
|
skipSignatureVerification: this.skipSignatureVerification,
|
3070
|
-
tracerProvider: this.tracerProvider
|
3090
|
+
tracerProvider: this.tracerProvider,
|
3091
|
+
idempotencyStrategy: this.idempotencyStrategy
|
3071
3092
|
});
|
3072
3093
|
case "following": return await handleCollection(request, {
|
3073
3094
|
name: "following",
|
@@ -3810,7 +3831,8 @@ var ContextImpl = class ContextImpl {
|
|
3810
3831
|
kvPrefixes: this.federation.kvPrefixes,
|
3811
3832
|
queue: this.federation.inboxQueue,
|
3812
3833
|
span,
|
3813
|
-
tracerProvider: options.tracerProvider ?? this.tracerProvider
|
3834
|
+
tracerProvider: options.tracerProvider ?? this.tracerProvider,
|
3835
|
+
idempotencyStrategy: this.federation.idempotencyStrategy
|
3814
3836
|
});
|
3815
3837
|
return routeResult === "alreadyProcessed" || routeResult === "enqueued" || routeResult === "unsupportedActivity" || routeResult === "success";
|
3816
3838
|
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
4
|
+
|
5
|
+
import "./transformers-BFT6d7J5.js";
|
6
|
+
import "./docloader-AMdJU291.js";
|
7
|
+
import "./actor-C0gLJq8I.js";
|
8
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-1oxZY_0z.js";
|
9
|
+
import "./lookup-BGCuyJRy.js";
|
10
|
+
import "./key-DFefr8X2.js";
|
11
|
+
import "./http-DVQEn98K.js";
|
12
|
+
import "./proof-CKXppjee.js";
|
13
|
+
import "./types-CEn4wB51.js";
|
14
|
+
import "./authdocloader-6F9IP-VO.js";
|
15
|
+
import "./vocab-CkWH9P5l.js";
|
16
|
+
|
17
|
+
export { FederationImpl };
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
const { Temporal } = require("@js-temporal/polyfill");
|
3
|
+
const { URLPattern } = require("urlpattern-polyfill");
|
4
|
+
|
5
|
+
require('./transformers-CoBS-oFG.cjs');
|
6
|
+
require('./docloader-BdF5STdg.cjs');
|
7
|
+
require('./actor-CsRJa7wV.cjs');
|
8
|
+
const require_middleware = require('./middleware-D0XMPoN8.cjs');
|
9
|
+
require('./lookup-B2Bsau2g.cjs');
|
10
|
+
require('./key-D-RgWfcf.cjs');
|
11
|
+
require('./http-D_BI5KHC.cjs');
|
12
|
+
require('./proof-AhyVJcNZ.cjs');
|
13
|
+
require('./types-DI0yutHB.cjs');
|
14
|
+
require('./authdocloader-BkuVo8LL.cjs');
|
15
|
+
require('./vocab-NZXL5Pr-.cjs');
|
16
|
+
|
17
|
+
exports.FederationImpl = require_middleware.FederationImpl;
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
3
3
|
import { DocumentLoader } from "./docloader-CxWcuWqQ.js";
|
4
|
-
import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "./vocab-
|
5
|
-
import { KeyCache } from "./http-
|
4
|
+
import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "./vocab-BI0Ak5lL.js";
|
5
|
+
import { KeyCache } from "./http-D6Uj2x2y.js";
|
6
6
|
import { TracerProvider } from "@opentelemetry/api";
|
7
7
|
|
8
8
|
//#region src/sig/ld.d.ts
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
3
3
|
import { DocumentLoader, DocumentLoaderFactoryOptions } from "./docloader-CxWcuWqQ.js";
|
4
|
-
import { HttpMessageSignaturesSpecDeterminer } from "./http-
|
4
|
+
import { HttpMessageSignaturesSpecDeterminer } from "./http-D6Uj2x2y.js";
|
5
5
|
import { TracerProvider } from "@opentelemetry/api";
|
6
6
|
|
7
7
|
//#region src/runtime/authdocloader.d.ts
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { DocumentLoader, DocumentLoaderFactoryOptions } from "./docloader-D-MrRyHl.cjs";
|
2
|
-
import { HttpMessageSignaturesSpecDeterminer } from "./http-
|
2
|
+
import { HttpMessageSignaturesSpecDeterminer } from "./http-D-e6AFwR.cjs";
|
3
3
|
import { TracerProvider } from "@opentelemetry/api";
|
4
4
|
|
5
5
|
//#region src/runtime/authdocloader.d.ts
|