@fedify/fedify 2.4.0-dev.2065 → 2.4.0-dev.2071
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-CMkrnYbY.mjs → builder-DVQ0yhKJ.mjs} +6 -2
- package/dist/compat/mod.d.cts +1 -1
- package/dist/compat/mod.d.ts +1 -1
- package/dist/compat/transformers.test.mjs +1 -1
- package/dist/{compound-proof-Dj3DCsoj.mjs → compound-proof-KmXDfWFp.mjs} +1 -1
- package/dist/{context-b36TpPoG.d.cts → context-DijrgHDe.d.cts} +45 -2
- package/dist/{context-D_gg4M0n.d.ts → context-DsB9kF6q.d.ts} +45 -2
- package/dist/{deno-BuRFI7wk.mjs → deno-B-NtYZVW.mjs} +1 -1
- package/dist/{docloader-_aSNLA90.mjs → docloader-C6yOVoaF.mjs} +2 -2
- package/dist/federation/builder.test.mjs +1 -1
- package/dist/federation/compound-fanout.test.mjs +4 -4
- package/dist/federation/handler-compound-proof.test.mjs +3 -3
- package/dist/federation/handler.test.mjs +5 -5
- package/dist/federation/hashlink-media.test.mjs +2 -2
- package/dist/federation/idempotency.test.mjs +2 -2
- package/dist/federation/metrics.test.mjs +1 -1
- package/dist/federation/middleware.test.mjs +8 -8
- package/dist/federation/mod.cjs +1 -1
- package/dist/federation/mod.d.cts +3 -3
- package/dist/federation/mod.d.ts +3 -3
- package/dist/federation/mod.js +1 -1
- package/dist/federation/outgoing-proof.test.mjs +6 -6
- package/dist/federation/portable-gateway-keys.test.d.mts +2 -0
- package/dist/federation/portable-gateway-keys.test.mjs +363 -0
- package/dist/federation/portable.test.mjs +3 -3
- package/dist/federation/send.test.mjs +3 -3
- package/dist/federation/tasks/enqueue.test.mjs +1 -1
- package/dist/federation/tasks/tasks.test.mjs +2 -2
- package/dist/federation/temporal.test.mjs +1 -1
- package/dist/federation/webfinger.test.mjs +1 -1
- package/dist/{federation-Coi_bg12.cjs → federation-CUiHc7dP.cjs} +182 -76
- package/dist/http-BoWBwC0g.js +5087 -0
- package/dist/{http-BGShIsd6.cjs → http-CuLWIJdf.cjs} +2684 -48
- package/dist/{http-f1qaBtOh.mjs → http-DKWi8RjI.mjs} +20 -5
- package/dist/{http-65PYi9jY.d.ts → http-n2v6DPxu.d.ts} +52 -2
- package/dist/{http-CP-7OdSq.d.cts → http-xlG-jRdB.d.cts} +52 -2
- package/dist/{key-BxHsA1s9.mjs → key-lfcx_NaE.mjs} +147 -7
- package/dist/{kv-cache-Cgj-kpQS.js → kv-cache-BdnmnAVc.js} +1 -1
- package/dist/{kv-cache-CY6pDNoS.cjs → kv-cache-DE8kSNQU.cjs} +1 -1
- package/dist/{kv-cache-C9IY-FMN.mjs → kv-cache-d8EjO29d.mjs} +1 -1
- package/dist/{ld-CqJq5erX.mjs → ld-jyjdrWjG.mjs} +3 -3
- package/dist/{metrics-DOqknlZd.mjs → metrics-B5Rei-HC.mjs} +1 -1
- package/dist/{middleware-1h_LgwXC.js → middleware-CAObohey.js} +149 -43
- package/dist/{middleware-s-AZzx4r.mjs → middleware-CPx4ZWwt.mjs} +155 -53
- package/dist/{middleware-VOCZN3SO.mjs → middleware-CdVnCDXD.mjs} +1 -1
- package/dist/{mod-Dhm7SqyE.d.ts → mod-C9WSpZWm.d.ts} +1 -1
- package/dist/{mod-C0BYc0OU.d.ts → mod-CVZrXSdm.d.ts} +1 -1
- package/dist/{mod-BhMvsgdF.d.ts → mod-DMkflQdF.d.ts} +1 -1
- package/dist/{mod-Bfenkg_c.d.cts → mod-DTAaBwiY.d.cts} +1 -1
- package/dist/{mod-pLbeNwcC.d.cts → mod-HDSvS-ww.d.cts} +1 -1
- package/dist/{mod-CyiSjRkk.d.cts → mod-xGFCHqq_.d.cts} +1 -1
- package/dist/mod.cjs +18 -18
- package/dist/mod.d.cts +7 -7
- package/dist/mod.d.ts +7 -7
- package/dist/mod.js +5 -5
- package/dist/nodeinfo/handler.test.mjs +1 -1
- package/dist/owner-1TFakcTF.js +215 -0
- package/dist/owner-BXufwAzm.cjs +225 -0
- package/dist/{owner-D_F22lfM.mjs → owner-ByqNQVaa.mjs} +45 -2
- package/dist/portable-key-Cw_ow5vn.mjs +194 -0
- package/dist/{proof-B03JXhrk.mjs → proof-B6gwdhN5.mjs} +5 -5
- package/dist/{send-NNkfKtVN.mjs → send-DsK7xevO.mjs} +3 -3
- package/dist/sig/compound-proof-discovery.test.mjs +1 -1
- package/dist/sig/compound-proof-producer.test.mjs +1 -1
- package/dist/sig/compound-proof-verification.test.mjs +2 -2
- package/dist/sig/compound-proof.test.mjs +3 -3
- package/dist/sig/http.test.mjs +2 -2
- package/dist/sig/key.test.mjs +1 -1
- package/dist/sig/ld.test.mjs +2 -2
- package/dist/sig/mod.cjs +16 -16
- package/dist/sig/mod.d.cts +2 -2
- package/dist/sig/mod.d.ts +2 -2
- package/dist/sig/mod.js +3 -3
- package/dist/sig/owner.test.mjs +1 -1
- package/dist/sig/portable-collection.test.mjs +3 -3
- package/dist/sig/portable-key.test.d.mts +2 -0
- package/dist/sig/portable-key.test.mjs +275 -0
- package/dist/sig/proof.test.mjs +4 -4
- package/dist/{sig-Bb20Pyrd.js → sig-BR_Z6mpY.js} +2 -2
- package/dist/{sig-B1E2uyhQ.cjs → sig-TTn9wYrE.cjs} +4 -4
- package/dist/{temporal-VVVSuruq.mjs → temporal-Bw5jtrBY.mjs} +1 -1
- package/dist/testing/kv.test.mjs +1 -1
- package/dist/testing/mod.d.mts +43 -0
- package/dist/utils/docloader.test.mjs +2 -2
- package/dist/utils/kv-cache.test.mjs +1 -1
- package/dist/utils/mod.cjs +1 -1
- package/dist/utils/mod.d.cts +1 -1
- package/dist/utils/mod.d.ts +1 -1
- package/dist/utils/mod.js +1 -1
- package/package.json +6 -6
- package/dist/http-z5n7chWw.js +0 -2647
- package/dist/owner-BLBWXCNt.js +0 -2276
- package/dist/owner-D8ZpRusc.cjs +0 -2446
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { Temporal } from "temporal-polyfill";
|
|
2
2
|
import "urlpattern-polyfill";
|
|
3
3
|
globalThis.addEventListener = () => {};
|
|
4
|
-
import { n as version, t as name } from "./deno-
|
|
5
|
-
import { a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, n as getDurationMs, o as isAbortError, r as getFederationMetrics, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "./metrics-
|
|
4
|
+
import { n as version, t as name } from "./deno-B-NtYZVW.mjs";
|
|
5
|
+
import { a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, n as getDurationMs, o as isAbortError, r as getFederationMetrics, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "./metrics-B5Rei-HC.mjs";
|
|
6
6
|
import { t as formatAcceptSignature } from "./accept-CPVqki78.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-f1qaBtOh.mjs";
|
|
9
|
-
import { t as getAuthenticatedDocumentLoader } from "./docloader-_aSNLA90.mjs";
|
|
10
|
-
import { n as kvCache } from "./kv-cache-C9IY-FMN.mjs";
|
|
7
|
+
import { d as hasPortableActor, f as isCompatibleKeyId, m as isPortableUri, o as importJwk, s as validateCryptoKey, t as exportJwk, u as getGatewayKeyBase } from "./key-lfcx_NaE.mjs";
|
|
11
8
|
import { r as normalizeOutgoingActivityJsonLd } from "./outgoing-jsonld-4IJqPYos.mjs";
|
|
9
|
+
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-jyjdrWjG.mjs";
|
|
10
|
+
import { a as verifyObject, n as hasProofLike, o as verifyPortableObjectProof, r as signObject } from "./proof-B6gwdhN5.mjs";
|
|
11
|
+
import { l as verifyRequest, o as parseRfc9421SignatureInput, u as verifyRequestDetailed } from "./http-DKWi8RjI.mjs";
|
|
12
|
+
import { t as getAuthenticatedDocumentLoader } from "./docloader-C6yOVoaF.mjs";
|
|
13
|
+
import { n as kvCache } from "./kv-cache-d8EjO29d.mjs";
|
|
12
14
|
import { d as readBoundedText, l as BodyTooLargeError, t as getNodeInfo, u as MAX_BODY_SIZE } from "./client-DpnpgjyX.mjs";
|
|
13
15
|
import { t as nodeInfoToJson } from "./types-DE_LV1JB.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import { n as
|
|
16
|
-
import {
|
|
17
|
-
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-NNkfKtVN.mjs";
|
|
18
|
-
import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-CMkrnYbY.mjs";
|
|
16
|
+
import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-ByqNQVaa.mjs";
|
|
17
|
+
import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-DsK7xevO.mjs";
|
|
18
|
+
import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-DVQ0yhKJ.mjs";
|
|
19
19
|
import { t as CircuitBreaker } from "./circuit-breaker-C5NqoLBJ.mjs";
|
|
20
20
|
import { t as buildCollectionSynchronizationHeader } from "./collection-CnnP1UAv.mjs";
|
|
21
|
-
import { a as verifyCompoundPortableObjectProofs, i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "./compound-proof-
|
|
21
|
+
import { a as verifyCompoundPortableObjectProofs, i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "./compound-proof-KmXDfWFp.mjs";
|
|
22
22
|
import { t as KvKeyCache } from "./keycache-BUDHB5rY.mjs";
|
|
23
23
|
import { t as acceptsJsonLd } from "./negotiation-CCocWT_N.mjs";
|
|
24
|
-
import { t as hasMalformedKnownTemporalLiteral } from "./temporal-
|
|
24
|
+
import { t as hasMalformedKnownTemporalLiteral } from "./temporal-Bw5jtrBY.mjs";
|
|
25
25
|
import { t as createExponentialBackoffPolicy } from "./retry-zX5xw5e0.mjs";
|
|
26
26
|
import { t as TaskCodec } from "./codec-C6rTrpIp.mjs";
|
|
27
27
|
import { getLogger, withContext } from "@logtape/logtape";
|
|
@@ -858,13 +858,13 @@ function recordCollectionMetrics(meterProvider, base, result, options = {}) {
|
|
|
858
858
|
* @param parameters The parameters for handling the collection.
|
|
859
859
|
* @returns A promise that resolves to an HTTP response.
|
|
860
860
|
*/
|
|
861
|
-
async function handleCollection(request, { name: name$
|
|
862
|
-
const spanName = name$
|
|
861
|
+
async function handleCollection(request, { name: name$1, identifier, uriGetter, filter, filterPredicate, context, collectionCallbacks, tracerProvider, meterProvider, onUnauthorized, onNotFound }) {
|
|
862
|
+
const spanName = name$1.trim().replace(/\s+/g, "_");
|
|
863
863
|
tracerProvider = tracerProvider ?? trace.getTracerProvider();
|
|
864
864
|
const tracer = tracerProvider.getTracer(name, version);
|
|
865
865
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
|
866
866
|
const metricBase = {
|
|
867
|
-
kind: getCollectionMetricKind(name$
|
|
867
|
+
kind: getCollectionMetricKind(name$1),
|
|
868
868
|
page: cursor != null,
|
|
869
869
|
dispatcher: "built_in"
|
|
870
870
|
};
|
|
@@ -905,7 +905,7 @@ async function handleCollection(request, { name: name$2, identifier, uriGetter,
|
|
|
905
905
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
906
906
|
return await onNotFound(request);
|
|
907
907
|
}
|
|
908
|
-
const items = filterCollectionItems(page.items, name$
|
|
908
|
+
const items = filterCollectionItems(page.items, name$1, filterPredicate);
|
|
909
909
|
itemCount = items.length;
|
|
910
910
|
span.setAttribute("fedify.collection.items", itemCount);
|
|
911
911
|
return items;
|
|
@@ -945,7 +945,7 @@ async function handleCollection(request, { name: name$2, identifier, uriGetter,
|
|
|
945
945
|
} else {
|
|
946
946
|
const uri = new URL(baseUri);
|
|
947
947
|
uri.searchParams.set("cursor", cursor);
|
|
948
|
-
const pageOrResponse = await tracer.startActiveSpan(`activitypub.dispatch_collection_page ${name$
|
|
948
|
+
const pageOrResponse = await tracer.startActiveSpan(`activitypub.dispatch_collection_page ${name$1}`, {
|
|
949
949
|
kind: SpanKind.SERVER,
|
|
950
950
|
attributes: {
|
|
951
951
|
"activitypub.collection.id": uri.href,
|
|
@@ -961,7 +961,7 @@ async function handleCollection(request, { name: name$2, identifier, uriGetter,
|
|
|
961
961
|
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
962
962
|
return await onNotFound(request);
|
|
963
963
|
}
|
|
964
|
-
const items = filterCollectionItems(page.items, name$
|
|
964
|
+
const items = filterCollectionItems(page.items, name$1, filterPredicate);
|
|
965
965
|
itemCount = items.length;
|
|
966
966
|
span.setAttribute("fedify.collection.items", itemCount);
|
|
967
967
|
return {
|
|
@@ -1653,6 +1653,7 @@ async function handleInboxInternal(request, parameters, span) {
|
|
|
1653
1653
|
}
|
|
1654
1654
|
let activity = null;
|
|
1655
1655
|
let activityVerified = false;
|
|
1656
|
+
let proofVerified = false;
|
|
1656
1657
|
if (ldSigVerified) {
|
|
1657
1658
|
logger.debug("Linked Data Signatures are verified.", {
|
|
1658
1659
|
recipient,
|
|
@@ -1669,6 +1670,21 @@ async function handleInboxInternal(request, parameters, span) {
|
|
|
1669
1670
|
return await respondInvalidActivity(error);
|
|
1670
1671
|
}
|
|
1671
1672
|
activityVerified = true;
|
|
1673
|
+
if (!skipSignatureVerification && hasPortableActor(activity)) try {
|
|
1674
|
+
proofVerified = await verifyObject(Activity, jsonWithoutSig, {
|
|
1675
|
+
contextLoader: wrapContextLoaderForJsonLd(ctx.contextLoader),
|
|
1676
|
+
documentLoader: ctx.documentLoader,
|
|
1677
|
+
keyCache,
|
|
1678
|
+
meterProvider,
|
|
1679
|
+
tracerProvider
|
|
1680
|
+
}) != null;
|
|
1681
|
+
} catch (error) {
|
|
1682
|
+
if (!isPermanentActivityParseError(error)) throw error;
|
|
1683
|
+
logger.debug("Failed to verify the Object Integrity Proofs of the portable actor's activity:\n{error}", {
|
|
1684
|
+
recipient,
|
|
1685
|
+
error
|
|
1686
|
+
});
|
|
1687
|
+
}
|
|
1672
1688
|
} else {
|
|
1673
1689
|
logger.debug("Linked Data Signatures are not verified.", {
|
|
1674
1690
|
recipient,
|
|
@@ -1725,6 +1741,7 @@ async function handleInboxInternal(request, parameters, span) {
|
|
|
1725
1741
|
activity: json
|
|
1726
1742
|
});
|
|
1727
1743
|
activityVerified = true;
|
|
1744
|
+
proofVerified = true;
|
|
1728
1745
|
}
|
|
1729
1746
|
}
|
|
1730
1747
|
let httpSigKey = null;
|
|
@@ -1837,6 +1854,24 @@ async function handleInboxInternal(request, parameters, span) {
|
|
|
1837
1854
|
"http_signatures.verified": httpSigKey != null,
|
|
1838
1855
|
"http_signatures.key_id": httpSigKey?.id?.href ?? ""
|
|
1839
1856
|
});
|
|
1857
|
+
if (!skipSignatureVerification && !proofVerified && (hasPortableActor(activity) || isPortableGatewayKey(httpSigKey))) {
|
|
1858
|
+
if (deferredLdSignatureError != null) throw deferredLdSignatureError;
|
|
1859
|
+
logger.error("The activity {activityId} of the portable actor {actorId} is not authenticated by a valid Object Integrity Proof.", {
|
|
1860
|
+
activity: json,
|
|
1861
|
+
recipient,
|
|
1862
|
+
activityId: activity.id?.href,
|
|
1863
|
+
actorId: activity.actorId?.href,
|
|
1864
|
+
keyId: httpSigKey?.id?.href
|
|
1865
|
+
});
|
|
1866
|
+
span.setStatus({
|
|
1867
|
+
code: SpanStatusCode.ERROR,
|
|
1868
|
+
message: `The activity of the portable actor (${activity.actorId?.href}) is not authenticated by a valid Object Integrity Proof.`
|
|
1869
|
+
});
|
|
1870
|
+
return new Response("Activities of portable actors must have valid Object Integrity Proofs.", {
|
|
1871
|
+
status: 401,
|
|
1872
|
+
headers: { "Content-Type": "text/plain; charset=utf-8" }
|
|
1873
|
+
});
|
|
1874
|
+
}
|
|
1840
1875
|
if (httpSigKey != null && !await doesActorOwnKey(activity, httpSigKey, ctx)) {
|
|
1841
1876
|
if (deferredLdSignatureError != null) throw deferredLdSignatureError;
|
|
1842
1877
|
getFederationMetrics(parameters.meterProvider).recordSignatureVerificationFailure("actorKeyMismatch", httpSigKey.id == null ? void 0 : getRemoteHost(httpSigKey.id));
|
|
@@ -2054,8 +2089,8 @@ var CustomCollectionHandler = class {
|
|
|
2054
2089
|
* @param CollectionPage The CollectionPage constructor.
|
|
2055
2090
|
* @param filterPredicate Optional filter predicate for items.
|
|
2056
2091
|
*/
|
|
2057
|
-
constructor(name$
|
|
2058
|
-
this.name = name$
|
|
2092
|
+
constructor(name$2, values, context, callbacks, tracerProvider = trace.getTracerProvider(), meterProvider, Collection, CollectionPage, filterPredicate) {
|
|
2093
|
+
this.name = name$2;
|
|
2059
2094
|
this.values = values;
|
|
2060
2095
|
this.context = context;
|
|
2061
2096
|
this.callbacks = callbacks;
|
|
@@ -2539,6 +2574,15 @@ const MIN_COMPONENTS = [
|
|
|
2539
2574
|
"@target-uri",
|
|
2540
2575
|
"@authority"
|
|
2541
2576
|
];
|
|
2577
|
+
/**
|
|
2578
|
+
* Checks whether an HTTP Signature key is a gateway key of an FEP-ef61
|
|
2579
|
+
* portable actor, i.e., its ID is a compatible identifier and it is owned by
|
|
2580
|
+
* a portable actor, which only the portable actor's signed document can
|
|
2581
|
+
* establish.
|
|
2582
|
+
*/
|
|
2583
|
+
function isPortableGatewayKey(key) {
|
|
2584
|
+
return key?.id != null && isCompatibleKeyId(key.id) && key.ownerId != null && isPortableUri(key.ownerId);
|
|
2585
|
+
}
|
|
2542
2586
|
//#endregion
|
|
2543
2587
|
//#region src/federation/outgoing-proof.ts
|
|
2544
2588
|
function isPortableUrl(url) {
|
|
@@ -2548,37 +2592,48 @@ function formatKeyIds(candidates) {
|
|
|
2548
2592
|
return candidates.map((c) => c.verificationMethod.href).join(", ");
|
|
2549
2593
|
}
|
|
2550
2594
|
/**
|
|
2595
|
+
* Rejects an activity of a portable actor whose ID cannot be authenticated by
|
|
2596
|
+
* the actor's DID: FEP-ef61 requires the activity to be a portable object
|
|
2597
|
+
* signed by that DID, so its ID has to be a portable ID with the same DID.
|
|
2598
|
+
* @throws {TypeError} If the activity is performed by a portable actor, but
|
|
2599
|
+
* its ID is not a portable ID of the actor's DID, or its
|
|
2600
|
+
* portable actors do not share a DID.
|
|
2601
|
+
* @internal
|
|
2602
|
+
*/
|
|
2603
|
+
function assertPortableActorActivity(activity) {
|
|
2604
|
+
const portableActors = activity.actorIds.filter(isPortableUrl);
|
|
2605
|
+
if (portableActors.length < 1) return;
|
|
2606
|
+
const did = getFe34Origin(portableActors[0]);
|
|
2607
|
+
if (portableActors.some((actorId) => getFe34Origin(actorId) !== did)) throw new TypeError(`The activity ${activity.id?.href} has portable actors with different DIDs (${portableActors.map((a) => a.href).join(", ")}); a portable activity is signed by a single DID.`);
|
|
2608
|
+
if (activity.id == null || !isPortableUrl(activity.id) || getFe34Origin(activity.id) !== did) throw new TypeError(`The activity ${activity.id?.href} is performed by the portable actor ${portableActors[0].href}, so its ID has to be an ap: or ap+ef61: URI with the same DID (${did}), as FEP-ef61 requires it to carry an Object Integrity Proof made by that DID.`);
|
|
2609
|
+
}
|
|
2610
|
+
/**
|
|
2551
2611
|
* Creates the Object Integrity Proofs Fedify attaches to an outgoing activity.
|
|
2552
2612
|
*
|
|
2613
|
+
* Keys whose IDs are FEP-ef61 compatible identifiers are gateway keys, which
|
|
2614
|
+
* never sign proofs. A portable activity, i.e., one with an `ap:` or
|
|
2615
|
+
* `ap+ef61:` ID, that carries no proof is signed only by the one Ed25519 key
|
|
2616
|
+
* whose verification method is a DID URL for its DID, even if it is the only
|
|
2617
|
+
* key; if no key or more than one key qualifies, this function throws.
|
|
2618
|
+
*
|
|
2553
2619
|
* Outside the map-local compound-proof profile, i.e., when the activity
|
|
2554
2620
|
* embeds no portable object, every Ed25519 key signs the activity, as it
|
|
2555
2621
|
* always has. Inside the profile, which accepts exactly one direct proof per
|
|
2556
2622
|
* map, Fedify creates at most one proof:
|
|
2557
2623
|
*
|
|
2558
2624
|
* - An activity that already carries a proof is kept as is.
|
|
2559
|
-
* - A single Ed25519 key signs
|
|
2560
|
-
* - With several Ed25519 keys, a portable activity is
|
|
2561
|
-
*
|
|
2562
|
-
* proof the FEP-ef61 policy can accept. If no key or more than one key
|
|
2563
|
-
* qualifies, or the activity is not portable itself, the choice is
|
|
2564
|
-
* ambiguous and this function throws.
|
|
2625
|
+
* - A single Ed25519 key signs a non-portable activity.
|
|
2626
|
+
* - With several Ed25519 keys, a non-portable activity is ambiguous, and
|
|
2627
|
+
* this function throws.
|
|
2565
2628
|
*
|
|
2566
|
-
* @throws {TypeError} If a single proof key cannot be chosen
|
|
2629
|
+
* @throws {TypeError} If a single proof key cannot be chosen, or the activity
|
|
2630
|
+
* is performed by a portable actor but is not a portable
|
|
2631
|
+
* activity of the same DID.
|
|
2567
2632
|
* @internal
|
|
2568
2633
|
*/
|
|
2569
2634
|
async function signOutgoingActivity(activity, candidates, options) {
|
|
2570
2635
|
const { contextLoader, tracerProvider } = options;
|
|
2571
|
-
|
|
2572
|
-
for await (const _ of activity.getProofs({ contextLoader })) {
|
|
2573
|
-
hasProof = true;
|
|
2574
|
-
break;
|
|
2575
|
-
}
|
|
2576
|
-
const keys = candidates.filter((c) => c.privateKey.algorithm.name === "Ed25519");
|
|
2577
|
-
if (keys.length < 1 || hasProof && !options.appendToExistingProofs) return {
|
|
2578
|
-
activity,
|
|
2579
|
-
hasProof,
|
|
2580
|
-
proofCreated: false
|
|
2581
|
-
};
|
|
2636
|
+
assertPortableActorActivity(activity);
|
|
2582
2637
|
const sign = async (selected) => {
|
|
2583
2638
|
for (const { verificationMethod, privateKey } of selected) activity = await signObject(activity, privateKey, verificationMethod, {
|
|
2584
2639
|
contextLoader,
|
|
@@ -2590,6 +2645,18 @@ async function signOutgoingActivity(activity, candidates, options) {
|
|
|
2590
2645
|
proofCreated: true
|
|
2591
2646
|
};
|
|
2592
2647
|
};
|
|
2648
|
+
let hasProof = false;
|
|
2649
|
+
for await (const _ of activity.getProofs({ contextLoader })) {
|
|
2650
|
+
hasProof = true;
|
|
2651
|
+
break;
|
|
2652
|
+
}
|
|
2653
|
+
const keys = candidates.filter((c) => c.privateKey.algorithm.name === "Ed25519" && !isCompatibleKeyId(c.verificationMethod));
|
|
2654
|
+
if (!hasProof && activity.id != null && isPortableUrl(activity.id)) return await sign(selectPortableActivityKey(activity, activity.id, keys));
|
|
2655
|
+
if (keys.length < 1 || hasProof && !options.appendToExistingProofs) return {
|
|
2656
|
+
activity,
|
|
2657
|
+
hasProof,
|
|
2658
|
+
proofCreated: false
|
|
2659
|
+
};
|
|
2593
2660
|
if (keys.length < 2 && !hasProof) return await sign(keys);
|
|
2594
2661
|
if (!containsCompoundPortableObject(await activity.toJsonLd({
|
|
2595
2662
|
format: "compact",
|
|
@@ -2609,15 +2676,26 @@ async function signOutgoingActivity(activity, candidates, options) {
|
|
|
2609
2676
|
proofCreated: false
|
|
2610
2677
|
};
|
|
2611
2678
|
}
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2679
|
+
throw new TypeError(`Cannot choose an Object Integrity Proof key for the activity ${activityId}: it embeds portable objects, so it falls under the map-local compound-proof profile, which accepts exactly one direct proof per map, but ${keys.length} Ed25519 keys were supplied (${formatKeyIds(keys)}). Send it with explicit sender keys that contain exactly one Ed25519 key (RSA keys for HTTP Signatures may stay), or sign it with signObject() before sending it.`);
|
|
2680
|
+
}
|
|
2681
|
+
/**
|
|
2682
|
+
* Chooses the one Ed25519 key that can sign a portable activity: the key
|
|
2683
|
+
* whose verification method is a DID URL for the activity's DID.
|
|
2684
|
+
* @throws {TypeError} If no key or more than one key qualifies.
|
|
2685
|
+
*/
|
|
2686
|
+
function selectPortableActivityKey(activity, activityId, keys) {
|
|
2687
|
+
const activityDid = getFe34Origin(activityId);
|
|
2688
|
+
const eligible = keys.filter((c) => c.verificationMethod.protocol === "did:" && haveSameFe34Origin(activityId, c.verificationMethod));
|
|
2689
|
+
if (eligible.length !== 1) throw new TypeError(`Cannot choose an Object Integrity Proof key for the portable activity ${activityId.href}: ` + (eligible.length < 1 ? `none of its ${keys.length} Ed25519 keys (${formatKeyIds(keys)}) ` : `${eligible.length} of its Ed25519 keys (${formatKeyIds(eligible)}) `) + `${eligible.length < 1 ? "is" : "are"} a DID URL verification method for ${activityDid}. FEP-ef61 requires a portable activity's proof to be made by its DID, and the map-local compound-proof profile accepts exactly one direct proof per map. Gateway keys, whose IDs are compatible identifiers, never sign proofs. Supply exactly one Ed25519 key whose key ID is a DID URL for ${activityDid}, or sign the activity with signObject() before sending it.`);
|
|
2690
|
+
getLogger([
|
|
2691
|
+
"fedify",
|
|
2692
|
+
"federation",
|
|
2693
|
+
"outbox"
|
|
2694
|
+
]).debug("The portable activity {activityId} is signed only by {keyId}, the one Ed25519 key whose verification method matches its DID.", {
|
|
2695
|
+
activityId: activity.id?.href,
|
|
2618
2696
|
keyId: eligible[0].verificationMethod.href
|
|
2619
2697
|
});
|
|
2620
|
-
return
|
|
2698
|
+
return eligible;
|
|
2621
2699
|
}
|
|
2622
2700
|
/**
|
|
2623
2701
|
* Rejects an outgoing activity whose proofs Fedify's own inbox would reject
|
|
@@ -4322,9 +4400,10 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
4322
4400
|
const contextLoader = this.contextLoaderFactory(this.#getLoaderOptions(ctx.origin));
|
|
4323
4401
|
const activityId = activity.id.href;
|
|
4324
4402
|
let rsaKey = null;
|
|
4403
|
+
const ldSignable = !hasPortableActor(activity);
|
|
4325
4404
|
for (const { keyId, privateKey } of keys) {
|
|
4326
4405
|
validateCryptoKey(privateKey, "private");
|
|
4327
|
-
if (rsaKey == null && privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") rsaKey = {
|
|
4406
|
+
if (ldSignable && rsaKey == null && privateKey.algorithm.name === "RSASSA-PKCS1-v1_5" && !isCompatibleKeyId(keyId)) rsaKey = {
|
|
4328
4407
|
keyId,
|
|
4329
4408
|
privateKey
|
|
4330
4409
|
};
|
|
@@ -4345,7 +4424,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
4345
4424
|
});
|
|
4346
4425
|
if (proofCreated || !hasProof || options.normalizeExistingProofs) jsonLd = await normalizeOutgoingActivityJsonLd(jsonLd, contextLoader, { preserveNestedSecuredDocuments: true });
|
|
4347
4426
|
assertSupportedCompoundProofShape(jsonLd, activityId);
|
|
4348
|
-
if (rsaKey == null) logger.
|
|
4427
|
+
if (rsaKey == null && !ldSignable) logger.debug("The activity {activityId} is performed by a portable actor, so it is sent without a Linked Data signature.", { activityId });
|
|
4428
|
+
else if (rsaKey == null) logger.warn("No supported key found to create a Linked Data signature for the activity {activityId}. The activity will be sent without a Linked Data signature. In order to create a Linked Data signature, at least one RSASSA-PKCS1-v1_5 key must be provided.", {
|
|
4349
4429
|
activityId,
|
|
4350
4430
|
keys: keys.map((pair) => ({
|
|
4351
4431
|
keyId: pair.keyId.href,
|
|
@@ -5221,14 +5301,15 @@ var ContextImpl = class ContextImpl {
|
|
|
5221
5301
|
getActorKeyPairsIdentifier: identifier,
|
|
5222
5302
|
actorKeyPairsDispatcherIdentifier: this.invokedFromActorKeyPairsDispatcher.identifier
|
|
5223
5303
|
});
|
|
5304
|
+
const portableActor = await this.getPortableActorKeyOwner(identifier);
|
|
5224
5305
|
let keyPairs;
|
|
5225
5306
|
try {
|
|
5226
|
-
keyPairs = await this.getKeyPairsFromIdentifier(identifier);
|
|
5307
|
+
keyPairs = await this.getKeyPairsFromIdentifier(identifier, portableActor);
|
|
5227
5308
|
} catch (_) {
|
|
5228
5309
|
logger.warn("No actor key pairs dispatcher registered.");
|
|
5229
5310
|
return [];
|
|
5230
5311
|
}
|
|
5231
|
-
const owner = this.getActorUri(identifier);
|
|
5312
|
+
const owner = portableActor?.id ?? this.getActorUri(identifier);
|
|
5232
5313
|
const result = [];
|
|
5233
5314
|
let i = 1;
|
|
5234
5315
|
for (const keyPair of keyPairs) {
|
|
@@ -5240,7 +5321,7 @@ var ContextImpl = class ContextImpl {
|
|
|
5240
5321
|
publicKey: keyPair.publicKey
|
|
5241
5322
|
}),
|
|
5242
5323
|
multikey: new Multikey({
|
|
5243
|
-
id: new URL(`#multikey-${i}`, owner),
|
|
5324
|
+
id: portableActor == null ? new URL(`#multikey-${i}`, owner) : keyPair.keyId,
|
|
5244
5325
|
controller: owner,
|
|
5245
5326
|
publicKey: keyPair.publicKey
|
|
5246
5327
|
})
|
|
@@ -5250,7 +5331,26 @@ var ContextImpl = class ContextImpl {
|
|
|
5250
5331
|
}
|
|
5251
5332
|
return result;
|
|
5252
5333
|
}
|
|
5253
|
-
|
|
5334
|
+
/**
|
|
5335
|
+
* Resolves the portable actor that the actor with the given identifier is,
|
|
5336
|
+
* through the portable actor ID mapper, along with the base of its gateway
|
|
5337
|
+
* key IDs on this server.
|
|
5338
|
+
* @param identifier The actor's identifier.
|
|
5339
|
+
* @returns The portable actor's ID and key ID base, or `null` if the actor
|
|
5340
|
+
* is not portable.
|
|
5341
|
+
* @throws {TypeError} If the mapper returns an invalid portable actor ID.
|
|
5342
|
+
*/
|
|
5343
|
+
async getPortableActorKeyOwner(identifier) {
|
|
5344
|
+
const mapper = this.federation.actorCallbacks?.portableActorIdMapper;
|
|
5345
|
+
if (mapper == null) return null;
|
|
5346
|
+
const id = await mapper(this, identifier);
|
|
5347
|
+
if (id == null) return null;
|
|
5348
|
+
return {
|
|
5349
|
+
id,
|
|
5350
|
+
keyBase: getGatewayKeyBase(id, this.canonicalOrigin)
|
|
5351
|
+
};
|
|
5352
|
+
}
|
|
5353
|
+
async getKeyPairsFromIdentifier(identifier, portableActor) {
|
|
5254
5354
|
const logger = getLogger([
|
|
5255
5355
|
"fedify",
|
|
5256
5356
|
"federation",
|
|
@@ -5267,6 +5367,8 @@ var ContextImpl = class ContextImpl {
|
|
|
5267
5367
|
}
|
|
5268
5368
|
throw error;
|
|
5269
5369
|
}
|
|
5370
|
+
if (portableActor === void 0) portableActor = await this.getPortableActorKeyOwner(identifier);
|
|
5371
|
+
const keyBase = portableActor?.keyBase ?? actorUri;
|
|
5270
5372
|
const keyPairs = await this.federation.actorCallbacks?.keyPairsDispatcher(new ContextImpl({
|
|
5271
5373
|
...this,
|
|
5272
5374
|
invokedFromActorKeyPairsDispatcher: { identifier }
|
|
@@ -5277,7 +5379,7 @@ var ContextImpl = class ContextImpl {
|
|
|
5277
5379
|
for (const keyPair of keyPairs) {
|
|
5278
5380
|
result.push({
|
|
5279
5381
|
...keyPair,
|
|
5280
|
-
keyId: new URL(i == 0 ? `#main-key` : `#key-${i + 1}`,
|
|
5382
|
+
keyId: new URL(i == 0 ? `#main-key` : `#key-${i + 1}`, keyBase)
|
|
5281
5383
|
});
|
|
5282
5384
|
i++;
|
|
5283
5385
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { S as KeyCache } from "./http-
|
|
2
|
+
import { S as KeyCache } from "./http-n2v6DPxu.js";
|
|
3
3
|
import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "@fedify/vocab";
|
|
4
4
|
import { MeterProvider, TracerProvider } from "@opentelemetry/api";
|
|
5
5
|
import { DocumentLoader, PortableObjectVerifierOptions } from "@fedify/vocab-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { n as HttpMessageSignaturesSpecDeterminer } from "./http-
|
|
2
|
+
import { n as HttpMessageSignaturesSpecDeterminer } from "./http-n2v6DPxu.js";
|
|
3
3
|
import { n as KvStore, t as KvKey } from "./kv-BhNbN8Ed.js";
|
|
4
4
|
import { t as DocumentFetchKind } from "./metrics-DoRtI0qU.js";
|
|
5
5
|
import { MeterProvider, TracerProvider } from "@opentelemetry/api";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import {
|
|
2
|
+
import { Ut as WebFingerLinksDispatcher, _t as ActorDispatcher, gt as ActorAliasMapper, u as RequestContext, vt as ActorHandleMapper } from "./context-DsB9kF6q.js";
|
|
3
3
|
import { RouterError, RouterOptions, RouterRouteResult } from "@fedify/uri-template";
|
|
4
4
|
import { MeterProvider, Span, Tracer } from "@opentelemetry/api";
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import {
|
|
2
|
+
import { Ut as WebFingerLinksDispatcher, _t as ActorDispatcher, gt as ActorAliasMapper, u as RequestContext, vt as ActorHandleMapper } from "./context-DijrgHDe.cjs";
|
|
3
3
|
import { MeterProvider, Span, Tracer } from "@opentelemetry/api";
|
|
4
4
|
import { RouterError, RouterOptions, RouterRouteResult } from "@fedify/uri-template";
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { S as KeyCache } from "./http-
|
|
2
|
+
import { S as KeyCache } from "./http-xlG-jRdB.cjs";
|
|
3
3
|
import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "@fedify/vocab";
|
|
4
4
|
import { DocumentLoader, PortableObjectVerifierOptions } from "@fedify/vocab-runtime";
|
|
5
5
|
import { MeterProvider, TracerProvider } from "@opentelemetry/api";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
|
-
import { n as HttpMessageSignaturesSpecDeterminer } from "./http-
|
|
2
|
+
import { n as HttpMessageSignaturesSpecDeterminer } from "./http-xlG-jRdB.cjs";
|
|
3
3
|
import { n as KvStore, t as KvKey } from "./kv-BhNbN8Ed.cjs";
|
|
4
4
|
import { t as DocumentFetchKind } from "./metrics-DVKYY6K1.cjs";
|
|
5
5
|
import { DocumentLoader, DocumentLoaderFactoryOptions } from "@fedify/vocab-runtime";
|
package/dist/mod.cjs
CHANGED
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
require("./rolldown-runtime-Dmm3t92W.cjs");
|
|
4
4
|
const require_transformers = require("./transformers-BalCrSsr.cjs");
|
|
5
5
|
require("./compat/mod.cjs");
|
|
6
|
-
const require_http = require("./http-
|
|
7
|
-
const require_federation = require("./federation-
|
|
6
|
+
const require_http = require("./http-CuLWIJdf.cjs");
|
|
7
|
+
const require_federation = require("./federation-CUiHc7dP.cjs");
|
|
8
8
|
const require_types = require("./types-Be2zbyeG.cjs");
|
|
9
|
-
const require_owner = require("./owner-
|
|
10
|
-
const require_kv_cache = require("./kv-cache-
|
|
9
|
+
const require_owner = require("./owner-BXufwAzm.cjs");
|
|
10
|
+
const require_kv_cache = require("./kv-cache-DE8kSNQU.cjs");
|
|
11
11
|
require("./nodeinfo/mod.cjs");
|
|
12
12
|
require("./runtime/mod.cjs");
|
|
13
|
-
const require_sig = require("./sig-
|
|
13
|
+
const require_sig = require("./sig-TTn9wYrE.cjs");
|
|
14
14
|
require("./utils/mod.cjs");
|
|
15
15
|
//#endregion
|
|
16
16
|
exports.CircuitBreaker = require_federation.CircuitBreaker;
|
|
@@ -21,15 +21,15 @@ exports.Router = require_federation.Router;
|
|
|
21
21
|
exports.RouterError = require_federation.RouterError;
|
|
22
22
|
exports.SendActivityError = require_federation.SendActivityError;
|
|
23
23
|
exports.actorDehydrator = require_transformers.actorDehydrator;
|
|
24
|
-
exports.attachSignature =
|
|
24
|
+
exports.attachSignature = require_http.attachSignature;
|
|
25
25
|
exports.autoIdAssigner = require_transformers.autoIdAssigner;
|
|
26
26
|
exports.buildCollectionSynchronizationHeader = require_federation.buildCollectionSynchronizationHeader;
|
|
27
27
|
exports.createExponentialBackoffPolicy = require_federation.createExponentialBackoffPolicy;
|
|
28
28
|
exports.createFederation = require_federation.createFederation;
|
|
29
29
|
exports.createFederationBuilder = require_federation.createFederationBuilder;
|
|
30
|
-
exports.createProof =
|
|
31
|
-
exports.createSignature =
|
|
32
|
-
exports.detachSignature =
|
|
30
|
+
exports.createProof = require_http.createProof;
|
|
31
|
+
exports.createSignature = require_http.createSignature;
|
|
32
|
+
exports.detachSignature = require_http.detachSignature;
|
|
33
33
|
exports.digest = require_federation.digest;
|
|
34
34
|
exports.doesActorOwnKey = require_owner.doesActorOwnKey;
|
|
35
35
|
exports.exportJwk = require_http.exportJwk;
|
|
@@ -43,8 +43,8 @@ exports.getDefaultActivityTransformers = require_transformers.getDefaultActivity
|
|
|
43
43
|
exports.getKeyOwner = require_owner.getKeyOwner;
|
|
44
44
|
exports.getNodeInfo = require_types.getNodeInfo;
|
|
45
45
|
exports.handleWebFinger = require_federation.handleWebFinger;
|
|
46
|
-
exports.hasProofLike =
|
|
47
|
-
exports.hasSignatureLike =
|
|
46
|
+
exports.hasProofLike = require_http.hasProofLike;
|
|
47
|
+
exports.hasSignatureLike = require_http.hasSignatureLike;
|
|
48
48
|
exports.importJwk = require_http.importJwk;
|
|
49
49
|
exports.kvCache = require_kv_cache.kvCache;
|
|
50
50
|
exports.nodeInfoToJson = require_types.nodeInfoToJson;
|
|
@@ -54,18 +54,18 @@ exports.parseCircuitBreakerKvState = require_federation.parseCircuitBreakerKvSta
|
|
|
54
54
|
exports.parseNodeInfo = require_types.parseNodeInfo;
|
|
55
55
|
exports.respondWithObject = require_federation.respondWithObject;
|
|
56
56
|
exports.respondWithObjectIfAcceptable = require_federation.respondWithObjectIfAcceptable;
|
|
57
|
-
exports.signJsonLd =
|
|
58
|
-
exports.signObject =
|
|
57
|
+
exports.signJsonLd = require_http.signJsonLd;
|
|
58
|
+
exports.signObject = require_http.signObject;
|
|
59
59
|
exports.signRequest = require_http.signRequest;
|
|
60
60
|
exports.validateAcceptSignature = require_http.validateAcceptSignature;
|
|
61
|
-
exports.verifyJsonLd =
|
|
62
|
-
exports.verifyObject =
|
|
61
|
+
exports.verifyJsonLd = require_http.verifyJsonLd;
|
|
62
|
+
exports.verifyObject = require_http.verifyObject;
|
|
63
63
|
exports.verifyPortableObject = require_sig.verifyPortableObject;
|
|
64
|
-
exports.verifyPortableObjectProof =
|
|
65
|
-
exports.verifyProof =
|
|
64
|
+
exports.verifyPortableObjectProof = require_http.verifyPortableObjectProof;
|
|
65
|
+
exports.verifyProof = require_http.verifyProof;
|
|
66
66
|
exports.verifyRequest = require_http.verifyRequest;
|
|
67
67
|
exports.verifyRequestDetailed = require_http.verifyRequestDetailed;
|
|
68
|
-
exports.verifySignature =
|
|
68
|
+
exports.verifySignature = require_http.verifySignature;
|
|
69
69
|
var _fedify_vocab_runtime = require("@fedify/vocab-runtime");
|
|
70
70
|
Object.keys(_fedify_vocab_runtime).forEach(function(k) {
|
|
71
71
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
package/dist/mod.d.cts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/// <reference lib="esnext.temporal" />
|
|
2
2
|
import { a as InboundService, c as OutboundService, d as Software, f as Usage, i as parseNodeInfo, l as Protocol, n as ParseNodeInfoOptions, o as JsonValue, p as nodeInfoToJson, r as getNodeInfo, s as NodeInfo, t as GetNodeInfoOptions, u as Services } from "./client-D-XP_Ccb.cjs";
|
|
3
|
-
import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "./http-
|
|
3
|
+
import { C as exportJwk, D as importJwk, E as generateCryptoKeyPair, S as KeyCache, T as fetchKeyDetailed, _ as validateAcceptSignature, a as VerifyRequestDetailedResult, b as FetchKeyOptions, c as signRequest, d as AcceptSignatureMember, f as AcceptSignatureParameters, g as parseAcceptSignature, h as fulfillAcceptSignature, i as SignRequestOptions, l as verifyRequest, m as formatAcceptSignature, n as HttpMessageSignaturesSpecDeterminer, o as VerifyRequestFailureReason, p as FulfillAcceptSignatureResult, r as Rfc9421SignRequestOptions, s as VerifyRequestOptions, t as HttpMessageSignaturesSpec, u as verifyRequestDetailed, v as FetchKeyDetailedResult, w as fetchKey, x as FetchKeyResult, y as FetchKeyErrorResult } from "./http-xlG-jRdB.cjs";
|
|
4
4
|
import { i as getKeyOwner, n as GetKeyOwnerOptions, r as doesActorOwnKey, t as DoesActorOwnKeyOptions } from "./owner-BF0L9cMt.cjs";
|
|
5
|
-
import { $ as MessageQueue, A as ObjectCallbackSetters, At as InboxListener, B as TaskDefinitionOptions, Bt as
|
|
5
|
+
import { $ as MessageQueue, A as ObjectCallbackSetters, At as InboxListener, B as TaskDefinitionOptions, Bt as SharedInboxKeyDispatcher, C as FederationOptions, Ct as CollectionDispatcher, D as InboxChallengePolicy, Dt as HashlinkMediaDispatcher, E as IdempotencyStrategy, Et as CustomCollectionDispatcher, F as FederationQueueOptions, Ft as OutboxErrorHandler, G as RetryContext, Gt as SenderKeyPair, H as TaskHandler, Ht as UnverifiedActivityReason, I as createFederation, It as OutboxListener, J as RespondWithObjectOptions, Jt as digest, K as RetryPolicy, Kt as PageItems, L as Message, Lt as OutboxListenerErrorHandler, M as Rfc6570Expression, Mt as NodeInfoDispatcher, N as FederationKvPrefixes, Nt as ObjectAuthorizePredicate, O as InboxListenerSetters, Ot as HashlinkMediaRequest, P as FederationOrigin, Pt as ObjectDispatcher, Q as InProcessMessageQueueOptions, R as createFederationBuilder, Rt as OutboxPermanentFailureHandler, S as FederationFetchOptions, St as CollectionCursor, T as IdempotencyKeyCallback, Tt as CustomCollectionCursor, U as TaskRegistry, Ut as WebFingerLinksDispatcher, V as TaskEnqueueOptions, Vt as UnverifiedActivityHandler, W as CreateExponentialBackoffPolicyOptions, Wt as SendActivityError, X as respondWithObjectIfAcceptable, Y as respondWithObject, Yt as ActivityTransformer, Z as InProcessMessageQueue, _ as CustomCollectionCallbackSetters, _t as ActorDispatcher, a as GetSignedKeyOptions, at as CircuitBreakerActivityDrop, b as FederationBenchmarkOptions, bt as AuthorizePredicate, c as ParseUriResult, ct as CircuitBreakerFailurePolicy, d as RouteActivityOptions, dt as CircuitBreakerState, et as MessageQueueDepth, f as SendActivityOptions, ft as CircuitBreakerStateChange, g as ConstructorWithTypeId, gt as ActorAliasMapper, h as CollectionCallbackSetters, ht as parseCircuitBreakerKvState, i as GetActorOptions, it as CircuitBreaker, j as OutboxListenerSetters, jt as MediaUploaderCallback, k as MediaUploaderSetters, kt as InboxErrorHandler, l as PortableRequest, lt as CircuitBreakerKvState, m as ActorCallbackSetters, mt as normalizeCircuitBreakerOptions, n as Context, nt as MessageQueueListenOptions, o as InboxContext, ot as CircuitBreakerBeforeSendDecision, p as SendActivityOptionsForCollection, pt as NormalizedCircuitBreakerOptions, q as createExponentialBackoffPolicy, qt as buildCollectionSynchronizationHeader, r as ForwardActivityOptions, rt as ParallelMessageQueue, s as OutboxContext, st as CircuitBreakerCreateOptions, t as ActorKeyPair, tt as MessageQueueEnqueueOptions, u as RequestContext, ut as CircuitBreakerOptions, v as Federatable, vt as ActorHandleMapper, w as FederationStartQueueOptions, wt as CustomCollectionCounter, x as FederationBuilder, xt as CollectionCounter, y as Federation, yt as ActorKeyPairsDispatcher, z as TaskDefinition, zt as PortableActorIdMapper } from "./context-DijrgHDe.cjs";
|
|
6
6
|
import { a as MemoryKvStore, i as KvStoreSetOptions, n as KvStore, r as KvStoreListEntry, t as KvKey } from "./kv-BhNbN8Ed.cjs";
|
|
7
7
|
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./compat/mod.cjs";
|
|
8
|
-
import { a as RouterOptions, i as RouterError, n as handleWebFinger, o as RouterRouteResult, r as Router, t as WebFingerHandlerParameters } from "./mod-
|
|
9
|
-
import { C as createSignature, D as verifyJsonLd, E as signJsonLd, O as verifySignature, S as attachSignature, T as hasSignatureLike, _ as verifyProof, a as CreateProofOptions, b as VerifyJsonLdOptions, c as VerifyPortableObjectProofFailureReason, d as VerifyProofOptions, f as createProof, g as verifyPortableObjectProof, h as verifyObject, i as verifyPortableObject, l as VerifyPortableObjectProofOptions, m as signObject, n as VerifyPortableObjectOptions, o as SignObjectOptions, p as hasProofLike, r as VerifyPortableObjectResult, s as VerifyObjectOptions, t as VerifyPortableObjectFailureReason, u as VerifyPortableObjectProofResult, v as CreateSignatureOptions, w as detachSignature, x as VerifySignatureOptions, y as SignJsonLdOptions } from "./mod-
|
|
10
|
-
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./mod-
|
|
8
|
+
import { a as RouterOptions, i as RouterError, n as handleWebFinger, o as RouterRouteResult, r as Router, t as WebFingerHandlerParameters } from "./mod-DTAaBwiY.cjs";
|
|
9
|
+
import { C as createSignature, D as verifyJsonLd, E as signJsonLd, O as verifySignature, S as attachSignature, T as hasSignatureLike, _ as verifyProof, a as CreateProofOptions, b as VerifyJsonLdOptions, c as VerifyPortableObjectProofFailureReason, d as VerifyProofOptions, f as createProof, g as verifyPortableObjectProof, h as verifyObject, i as verifyPortableObject, l as VerifyPortableObjectProofOptions, m as signObject, n as VerifyPortableObjectOptions, o as SignObjectOptions, p as hasProofLike, r as VerifyPortableObjectResult, s as VerifyObjectOptions, t as VerifyPortableObjectFailureReason, u as VerifyPortableObjectProofResult, v as CreateSignatureOptions, w as detachSignature, x as VerifySignatureOptions, y as SignJsonLdOptions } from "./mod-HDSvS-ww.cjs";
|
|
10
|
+
import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./mod-xGFCHqq_.cjs";
|
|
11
11
|
export * from "@fedify/vocab-runtime";
|
|
12
12
|
|
|
13
13
|
//#region src/mod.d.ts
|
|
14
14
|
declare namespace mod_d_exports {
|
|
15
|
-
export { AcceptSignatureMember, AcceptSignatureParameters, ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CircuitBreaker, CircuitBreakerActivityDrop, CircuitBreakerBeforeSendDecision, CircuitBreakerCreateOptions, CircuitBreakerFailurePolicy, CircuitBreakerKvState, CircuitBreakerOptions, CircuitBreakerState, CircuitBreakerStateChange, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateProofOptions, CreateSignatureOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, DoesActorOwnKeyOptions, Federatable, Federation, FederationBenchmarkOptions, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, ForwardActivityOptions, FulfillAcceptSignatureResult, GetActorOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, HashlinkMediaDispatcher, HashlinkMediaRequest, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxChallengePolicy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, JsonValue, KeyCache, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MediaUploaderCallback, MediaUploaderSetters, MemoryKvStore, Message, MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfo, NodeInfoDispatcher, NormalizedCircuitBreakerOptions, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboundService, OutboxContext, OutboxErrorHandler, OutboxListener, OutboxListenerErrorHandler, OutboxListenerSetters, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, PortableRequest, Protocol, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, Rfc9421SignRequestOptions, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, TaskDefinition, TaskDefinitionOptions, TaskEnqueueOptions, TaskHandler, TaskRegistry, UnverifiedActivityHandler, UnverifiedActivityReason, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyPortableObjectFailureReason, VerifyPortableObjectOptions, VerifyPortableObjectProofFailureReason, VerifyPortableObjectProofOptions, VerifyPortableObjectProofResult, VerifyPortableObjectResult, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, WebFingerHandlerParameters, WebFingerLinksDispatcher, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getKeyOwner, getNodeInfo, handleWebFinger, hasProofLike, hasSignatureLike, importJwk, kvCache, nodeInfoToJson, normalizeCircuitBreakerOptions, parseAcceptSignature, parseCircuitBreakerKvState, parseNodeInfo, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyPortableObject, verifyPortableObjectProof, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
|
|
15
|
+
export { AcceptSignatureMember, AcceptSignatureParameters, ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CircuitBreaker, CircuitBreakerActivityDrop, CircuitBreakerBeforeSendDecision, CircuitBreakerCreateOptions, CircuitBreakerFailurePolicy, CircuitBreakerKvState, CircuitBreakerOptions, CircuitBreakerState, CircuitBreakerStateChange, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateProofOptions, CreateSignatureOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, DoesActorOwnKeyOptions, Federatable, Federation, FederationBenchmarkOptions, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, ForwardActivityOptions, FulfillAcceptSignatureResult, GetActorOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, HashlinkMediaDispatcher, HashlinkMediaRequest, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxChallengePolicy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, JsonValue, KeyCache, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MediaUploaderCallback, MediaUploaderSetters, MemoryKvStore, Message, MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfo, NodeInfoDispatcher, NormalizedCircuitBreakerOptions, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboundService, OutboxContext, OutboxErrorHandler, OutboxListener, OutboxListenerErrorHandler, OutboxListenerSetters, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, PortableActorIdMapper, PortableRequest, Protocol, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, Rfc9421SignRequestOptions, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, TaskDefinition, TaskDefinitionOptions, TaskEnqueueOptions, TaskHandler, TaskRegistry, UnverifiedActivityHandler, UnverifiedActivityReason, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyPortableObjectFailureReason, VerifyPortableObjectOptions, VerifyPortableObjectProofFailureReason, VerifyPortableObjectProofOptions, VerifyPortableObjectProofResult, VerifyPortableObjectResult, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, WebFingerHandlerParameters, WebFingerLinksDispatcher, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getKeyOwner, getNodeInfo, handleWebFinger, hasProofLike, hasSignatureLike, importJwk, kvCache, nodeInfoToJson, normalizeCircuitBreakerOptions, parseAcceptSignature, parseCircuitBreakerKvState, parseNodeInfo, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyPortableObject, verifyPortableObjectProof, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
|
|
16
16
|
}
|
|
17
17
|
//#endregion
|
|
18
|
-
export { AcceptSignatureMember, AcceptSignatureParameters, ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CircuitBreaker, CircuitBreakerActivityDrop, CircuitBreakerBeforeSendDecision, CircuitBreakerCreateOptions, CircuitBreakerFailurePolicy, CircuitBreakerKvState, CircuitBreakerOptions, CircuitBreakerState, CircuitBreakerStateChange, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateProofOptions, CreateSignatureOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, DoesActorOwnKeyOptions, Federatable, Federation, FederationBenchmarkOptions, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, ForwardActivityOptions, FulfillAcceptSignatureResult, GetActorOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, HashlinkMediaDispatcher, HashlinkMediaRequest, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxChallengePolicy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, JsonValue, KeyCache, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MediaUploaderCallback, MediaUploaderSetters, MemoryKvStore, Message, MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfo, NodeInfoDispatcher, NormalizedCircuitBreakerOptions, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboundService, OutboxContext, OutboxErrorHandler, OutboxListener, OutboxListenerErrorHandler, OutboxListenerSetters, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, PortableRequest, Protocol, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, Rfc9421SignRequestOptions, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, TaskDefinition, TaskDefinitionOptions, TaskEnqueueOptions, TaskHandler, TaskRegistry, UnverifiedActivityHandler, UnverifiedActivityReason, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyPortableObjectFailureReason, VerifyPortableObjectOptions, VerifyPortableObjectProofFailureReason, VerifyPortableObjectProofOptions, VerifyPortableObjectProofResult, VerifyPortableObjectResult, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, WebFingerHandlerParameters, WebFingerLinksDispatcher, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getKeyOwner, getNodeInfo, handleWebFinger, hasProofLike, hasSignatureLike, importJwk, kvCache, nodeInfoToJson, normalizeCircuitBreakerOptions, parseAcceptSignature, parseCircuitBreakerKvState, parseNodeInfo, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyPortableObject, verifyPortableObjectProof, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
|
|
18
|
+
export { AcceptSignatureMember, AcceptSignatureParameters, ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CircuitBreaker, CircuitBreakerActivityDrop, CircuitBreakerBeforeSendDecision, CircuitBreakerCreateOptions, CircuitBreakerFailurePolicy, CircuitBreakerKvState, CircuitBreakerOptions, CircuitBreakerState, CircuitBreakerStateChange, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateProofOptions, CreateSignatureOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, DoesActorOwnKeyOptions, Federatable, Federation, FederationBenchmarkOptions, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FetchKeyDetailedResult, FetchKeyErrorResult, FetchKeyOptions, FetchKeyResult, ForwardActivityOptions, FulfillAcceptSignatureResult, GetActorOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, HashlinkMediaDispatcher, HashlinkMediaRequest, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxChallengePolicy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, JsonValue, KeyCache, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MediaUploaderCallback, MediaUploaderSetters, MemoryKvStore, Message, MessageQueue, MessageQueueDepth, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfo, NodeInfoDispatcher, NormalizedCircuitBreakerOptions, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboundService, OutboxContext, OutboxErrorHandler, OutboxListener, OutboxListenerErrorHandler, OutboxListenerSetters, OutboxPermanentFailureHandler, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, PortableActorIdMapper, PortableRequest, Protocol, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, Rfc9421SignRequestOptions, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityError, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, TaskDefinition, TaskDefinitionOptions, TaskEnqueueOptions, TaskHandler, TaskRegistry, UnverifiedActivityHandler, UnverifiedActivityReason, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyPortableObjectFailureReason, VerifyPortableObjectOptions, VerifyPortableObjectProofFailureReason, VerifyPortableObjectProofOptions, VerifyPortableObjectProofResult, VerifyPortableObjectResult, VerifyProofOptions, VerifyRequestDetailedResult, VerifyRequestFailureReason, VerifyRequestOptions, VerifySignatureOptions, WebFingerHandlerParameters, WebFingerLinksDispatcher, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getKeyOwner, getNodeInfo, handleWebFinger, hasProofLike, hasSignatureLike, importJwk, kvCache, nodeInfoToJson, normalizeCircuitBreakerOptions, parseAcceptSignature, parseCircuitBreakerKvState, parseNodeInfo, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyPortableObject, verifyPortableObjectProof, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
|