@fedify/fedify 2.4.0-dev.2103 → 2.4.0-dev.2108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/{builder-CHht75pX.mjs → builder-BRlYEsrV.mjs} +28 -4
  2. package/dist/compat/mod.d.cts +1 -1
  3. package/dist/compat/mod.d.ts +1 -1
  4. package/dist/compat/transformers.test.mjs +1 -1
  5. package/dist/{compound-proof-DKKH_Nr1.mjs → compound-proof-CHGINiJg.mjs} +2 -2
  6. package/dist/{context-CfJE_oQu.d.ts → context-B4F4kGJq.d.ts} +92 -10
  7. package/dist/{context-mDTxTw-S.d.cts → context-Cqx9M_zO.d.cts} +92 -10
  8. package/dist/{deno-CkjiYK_Z.mjs → deno-CC4RKEEp.mjs} +1 -1
  9. package/dist/{docloader-C1hAJnWc.mjs → docloader-D3_m98fe.mjs} +2 -2
  10. package/dist/federation/builder.test.mjs +1 -1
  11. package/dist/federation/compound-fanout.test.mjs +3 -3
  12. package/dist/federation/handler-compound-proof.test.mjs +3 -3
  13. package/dist/federation/handler.test.mjs +118 -5
  14. package/dist/federation/hashlink-media.test.mjs +2 -2
  15. package/dist/federation/idempotency.test.mjs +2 -2
  16. package/dist/federation/metrics.test.mjs +1 -1
  17. package/dist/federation/middleware.test.mjs +184 -7
  18. package/dist/federation/mod.cjs +1 -1
  19. package/dist/federation/mod.d.cts +3 -3
  20. package/dist/federation/mod.d.ts +3 -3
  21. package/dist/federation/mod.js +1 -1
  22. package/dist/federation/outgoing-proof.test.mjs +5 -5
  23. package/dist/federation/portable-actor.test.mjs +3 -3
  24. package/dist/federation/portable-gateway-keys.test.mjs +3 -3
  25. package/dist/federation/portable-inbox.test.mjs +4 -4
  26. package/dist/federation/portable.test.mjs +31 -4
  27. package/dist/federation/send.test.mjs +3 -3
  28. package/dist/federation/tasks/enqueue.test.mjs +1 -1
  29. package/dist/federation/tasks/tasks.test.mjs +2 -2
  30. package/dist/federation/temporal.test.mjs +1 -1
  31. package/dist/federation/webfinger.test.mjs +1 -1
  32. package/dist/{federation-C1dL6SiT.cjs → federation-dqo6ZzgT.cjs} +48 -15
  33. package/dist/{http-Cala2Grs.cjs → http-B7wEqv49.cjs} +1 -1
  34. package/dist/{http-BU-8fUrz.mjs → http-CHEYA5fH.mjs} +4 -4
  35. package/dist/{http-tTlTeFa0.js → http-CaUBCHYJ.js} +1 -1
  36. package/dist/{key-I8gLBkcf.mjs → key-B8u1vdvF.mjs} +2 -2
  37. package/dist/{kv-cache-Bl5EBFrU.cjs → kv-cache-0pYMPrkL.cjs} +1 -1
  38. package/dist/{kv-cache-DJFoGRWQ.mjs → kv-cache-CTdvf_Iq.mjs} +1 -1
  39. package/dist/{kv-cache-CxQu_cd4.js → kv-cache-ibncHN1D.js} +1 -1
  40. package/dist/{ld-wiJbqJHa.mjs → ld-BTMJHEGV.mjs} +3 -3
  41. package/dist/{metrics-BCAa5-kE.mjs → metrics-CF1TEvdS.mjs} +1 -1
  42. package/dist/{middleware-FnITXhtz.mjs → middleware-B-rZ7oE-.mjs} +24 -15
  43. package/dist/{middleware-6p2dYEVA.mjs → middleware-DCMTJT3_.mjs} +1 -1
  44. package/dist/{middleware-B6IVTVL0.js → middleware-Dl-Y_ZlC.js} +40 -7
  45. package/dist/{mod-BYvPz_T0.d.ts → mod-4s_XgF17.d.ts} +1 -1
  46. package/dist/{mod-B3OzOobN.d.cts → mod-BuFmStNT.d.cts} +1 -1
  47. package/dist/mod.cjs +5 -5
  48. package/dist/mod.d.cts +4 -4
  49. package/dist/mod.d.ts +4 -4
  50. package/dist/mod.js +5 -5
  51. package/dist/nodeinfo/handler.test.mjs +1 -1
  52. package/dist/{owner-DCt8W_Cv.cjs → owner-CGnHPl4k.cjs} +1 -1
  53. package/dist/{owner-BJp47LxN.mjs → owner-CY--JSqO.mjs} +3 -3
  54. package/dist/{owner-j5yrbXS1.js → owner-M8dOKEl6.js} +1 -1
  55. package/dist/{portable-key-B5oKE_wZ.mjs → portable-key-C0-ghkgM.mjs} +1 -1
  56. package/dist/{proof-BE4T5zF6.mjs → proof-DDw0i9b1.mjs} +4 -4
  57. package/dist/{send-BFITuKHw.mjs → send-CU3sHGPt.mjs} +3 -3
  58. package/dist/sig/compound-proof-discovery.test.mjs +1 -1
  59. package/dist/sig/compound-proof-producer.test.mjs +1 -1
  60. package/dist/sig/compound-proof-verification.test.mjs +2 -2
  61. package/dist/sig/compound-proof.test.mjs +2 -2
  62. package/dist/sig/http.test.mjs +2 -2
  63. package/dist/sig/key.test.mjs +1 -1
  64. package/dist/sig/ld.test.mjs +2 -2
  65. package/dist/sig/mod.cjs +3 -3
  66. package/dist/sig/mod.js +3 -3
  67. package/dist/sig/owner.test.mjs +1 -1
  68. package/dist/sig/portable-collection.test.mjs +2 -2
  69. package/dist/sig/portable-key.test.mjs +3 -3
  70. package/dist/sig/proof.test.mjs +3 -3
  71. package/dist/{sig-CRTRoouH.cjs → sig-C2CORtvg.cjs} +2 -2
  72. package/dist/{sig-CJHdGk9w.js → sig-fycq7sOr.js} +2 -2
  73. package/dist/{temporal-CyDDbE4i.mjs → temporal-NHiSpGcW.mjs} +1 -1
  74. package/dist/testing/kv.test.mjs +1 -1
  75. package/dist/testing/mod.d.mts +91 -9
  76. package/dist/utils/docloader.test.mjs +2 -2
  77. package/dist/utils/kv-cache.test.mjs +1 -1
  78. package/dist/utils/mod.cjs +1 -1
  79. package/dist/utils/mod.js +1 -1
  80. package/package.json +7 -7
@@ -4,8 +4,8 @@ globalThis.addEventListener = () => {};
4
4
  import { t as MemoryKvStore } from "../../kv-DCHkaJ9-.mjs";
5
5
  import { a as numberSchema, i as makeSchema, n as baseOptions, o as stringSchema, t as MockQueue } from "../../tasks-dbCShlCb.mjs";
6
6
  import "../../testing-BWq1dCzx.mjs";
7
- import { o as createFederation } from "../../middleware-FnITXhtz.mjs";
8
- import { r as createFederationBuilder } from "../../builder-CHht75pX.mjs";
7
+ import { o as createFederation } from "../../middleware-B-rZ7oE-.mjs";
8
+ import { r as createFederationBuilder } from "../../builder-BRlYEsrV.mjs";
9
9
  import { t as TaskCodec } from "../../codec-C6rTrpIp.mjs";
10
10
  import { t as InProcessMessageQueue } from "../../mq-Dm1Wmtm-.mjs";
11
11
  import { W3CTraceContextPropagator } from "@opentelemetry/core";
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
5
5
  import "../std__assert-DvMDRPes.mjs";
6
6
  import { t as assert } from "../assert-D1Eafmd_.mjs";
7
- import { t as hasMalformedKnownTemporalLiteral } from "../temporal-CyDDbE4i.mjs";
7
+ import { t as hasMalformedKnownTemporalLiteral } from "../temporal-NHiSpGcW.mjs";
8
8
  import { test } from "@fedify/fixture";
9
9
  //#region src/federation/temporal.test.ts
10
10
  test("hasMalformedKnownTemporalLiteral() detects expanded proof timestamps", async () => {
@@ -6,7 +6,7 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import { t as assertNotEquals } from "../assert_not_equals-CpPK2t89.mjs";
8
8
  import "../std__assert-DvMDRPes.mjs";
9
- import { o as createFederation, s as handleWebFinger } from "../middleware-FnITXhtz.mjs";
9
+ import { o as createFederation, s as handleWebFinger } from "../middleware-B-rZ7oE-.mjs";
10
10
  import { Image, Link, Person, Tombstone } from "@fedify/vocab";
11
11
  import { createTestMeterProvider, test } from "@fedify/fixture";
12
12
  import { parseIri } from "@fedify/vocab-runtime";
@@ -1,10 +1,10 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-Dmm3t92W.cjs");
3
3
  const require_transformers = require("./transformers-BalCrSsr.cjs");
4
- const require_http = require("./http-Cala2Grs.cjs");
4
+ const require_http = require("./http-B7wEqv49.cjs");
5
5
  const require_types = require("./types-Be2zbyeG.cjs");
6
- const require_owner = require("./owner-DCt8W_Cv.cjs");
7
- const require_kv_cache = require("./kv-cache-Bl5EBFrU.cjs");
6
+ const require_owner = require("./owner-CGnHPl4k.cjs");
7
+ const require_kv_cache = require("./kv-cache-0pYMPrkL.cjs");
8
8
  let _logtape_logtape = require("@logtape/logtape");
9
9
  let _fedify_uri_template = require("@fedify/uri-template");
10
10
  let _fedify_vocab = require("@fedify/vocab");
@@ -342,8 +342,8 @@ var FederationBuilderImpl = class {
342
342
  const variables = _fedify_uri_template.Router.variables(path);
343
343
  this.router.add(path, routeName);
344
344
  const callbacks = {
345
- dispatcher: (ctx, values) => {
346
- return this._getTracer().startActiveSpan("activitypub.dispatch_object", {
345
+ dispatcher: async (ctx, values) => {
346
+ const object = await this._getTracer().startActiveSpan("activitypub.dispatch_object", {
347
347
  kind: _opentelemetry_api.SpanKind.SERVER,
348
348
  attributes: {
349
349
  "fedify.object.type": cls.typeId.href,
@@ -366,6 +366,8 @@ var FederationBuilderImpl = class {
366
366
  span.end();
367
367
  }
368
368
  });
369
+ if (object instanceof _fedify_vocab.Tombstone) warnMismatchedTombstoneId(ctx, cls, values, object);
370
+ return object;
369
371
  },
370
372
  parameters: variables
371
373
  };
@@ -735,6 +737,28 @@ var FederationBuilderImpl = class {
735
737
  function createFederationBuilder() {
736
738
  return new FederationBuilderImpl();
737
739
  }
740
+ function warnMismatchedTombstoneId(context, cls, values, tombstone) {
741
+ const logger = (0, _logtape_logtape.getLogger)([
742
+ "fedify",
743
+ "federation",
744
+ "object"
745
+ ]);
746
+ if (tombstone.id == null) {
747
+ logger.warn("Object dispatcher for {class} returned a tombstone without an id property. Set the property with Context.getObjectUri().", {
748
+ class: cls.name,
749
+ values
750
+ });
751
+ return;
752
+ }
753
+ if (tombstone.id.protocol === "ap:" || tombstone.id.protocol === "ap+ef61:") return;
754
+ const expected = context.getObjectUri(cls, values);
755
+ if (tombstone.id.href !== expected.href) logger.warn("Object dispatcher for {class} returned a tombstone with an id property {tombstoneId} that does not match the object URI {objectUri}. Set the property with Context.getObjectUri().", {
756
+ class: cls.name,
757
+ values,
758
+ tombstoneId: tombstone.id.href,
759
+ objectUri: expected.href
760
+ });
761
+ }
738
762
  /**
739
763
  * Warns about an FEP-ef61 portable actor identified by a compatible identifier
740
764
  * that is malformed, or is not on the actor's first gateway, where FEP-ef61
@@ -3427,6 +3451,13 @@ async function handleObject(request, { values, context, objectDispatcher, author
3427
3451
  if (!await authorizePredicate(context, values)) return await onUnauthorized(request);
3428
3452
  }
3429
3453
  const jsonLd = await object.toJsonLd(context);
3454
+ if (object instanceof _fedify_vocab.Tombstone) return new Response(request.method === "HEAD" ? null : JSON.stringify(jsonLd), {
3455
+ status: 410,
3456
+ headers: {
3457
+ "Content-Type": "application/activity+json",
3458
+ Vary: "Accept"
3459
+ }
3460
+ });
3430
3461
  return new Response(JSON.stringify(jsonLd), { headers: {
3431
3462
  "Content-Type": "application/activity+json",
3432
3463
  Vary: "Accept"
@@ -3560,13 +3591,13 @@ function recordCollectionMetrics(meterProvider, base, result, options = {}) {
3560
3591
  * @param parameters The parameters for handling the collection.
3561
3592
  * @returns A promise that resolves to an HTTP response.
3562
3593
  */
3563
- async function handleCollection(request, { name: name$1, identifier, uriGetter, filter, filterPredicate, context, collectionCallbacks, tracerProvider, meterProvider, onUnauthorized, onNotFound }) {
3564
- const spanName = name$1.trim().replace(/\s+/g, "_");
3594
+ async function handleCollection(request, { name: name$2, identifier, uriGetter, filter, filterPredicate, context, collectionCallbacks, tracerProvider, meterProvider, onUnauthorized, onNotFound }) {
3595
+ const spanName = name$2.trim().replace(/\s+/g, "_");
3565
3596
  tracerProvider = tracerProvider ?? _opentelemetry_api.trace.getTracerProvider();
3566
3597
  const tracer = tracerProvider.getTracer(require_http.name, require_http.version);
3567
3598
  const cursor = new URL(request.url).searchParams.get("cursor");
3568
3599
  const metricBase = {
3569
- kind: getCollectionMetricKind(name$1),
3600
+ kind: getCollectionMetricKind(name$2),
3570
3601
  page: cursor != null,
3571
3602
  dispatcher: "built_in"
3572
3603
  };
@@ -3607,7 +3638,7 @@ async function handleCollection(request, { name: name$1, identifier, uriGetter,
3607
3638
  span.setStatus({ code: _opentelemetry_api.SpanStatusCode.ERROR });
3608
3639
  return await onNotFound(request);
3609
3640
  }
3610
- const items = filterCollectionItems(page.items, name$1, filterPredicate);
3641
+ const items = filterCollectionItems(page.items, name$2, filterPredicate);
3611
3642
  itemCount = items.length;
3612
3643
  span.setAttribute("fedify.collection.items", itemCount);
3613
3644
  return items;
@@ -3647,7 +3678,7 @@ async function handleCollection(request, { name: name$1, identifier, uriGetter,
3647
3678
  } else {
3648
3679
  const uri = new URL(baseUri);
3649
3680
  uri.searchParams.set("cursor", cursor);
3650
- const pageOrResponse = await tracer.startActiveSpan(`activitypub.dispatch_collection_page ${name$1}`, {
3681
+ const pageOrResponse = await tracer.startActiveSpan(`activitypub.dispatch_collection_page ${name$2}`, {
3651
3682
  kind: _opentelemetry_api.SpanKind.SERVER,
3652
3683
  attributes: {
3653
3684
  "activitypub.collection.id": uri.href,
@@ -3663,7 +3694,7 @@ async function handleCollection(request, { name: name$1, identifier, uriGetter,
3663
3694
  span.setStatus({ code: _opentelemetry_api.SpanStatusCode.ERROR });
3664
3695
  return await onNotFound(request);
3665
3696
  }
3666
- const items = filterCollectionItems(page.items, name$1, filterPredicate);
3697
+ const items = filterCollectionItems(page.items, name$2, filterPredicate);
3667
3698
  itemCount = items.length;
3668
3699
  span.setAttribute("fedify.collection.items", itemCount);
3669
3700
  return {
@@ -4851,8 +4882,8 @@ var CustomCollectionHandler = class {
4851
4882
  * @param CollectionPage The CollectionPage constructor.
4852
4883
  * @param filterPredicate Optional filter predicate for items.
4853
4884
  */
4854
- constructor(name$2, values, context, callbacks, tracerProvider = _opentelemetry_api.trace.getTracerProvider(), meterProvider, Collection, CollectionPage, filterPredicate) {
4855
- this.name = name$2;
4885
+ constructor(name$1, values, context, callbacks, tracerProvider = _opentelemetry_api.trace.getTracerProvider(), meterProvider, Collection, CollectionPage, filterPredicate) {
4886
+ this.name = name$1;
4856
4887
  this.values = values;
4857
4888
  this.context = context;
4858
4889
  this.callbacks = callbacks;
@@ -9341,7 +9372,7 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
9341
9372
  if (actor instanceof _fedify_vocab.Tombstone && options?.tombstone !== "passthrough") return null;
9342
9373
  return actor;
9343
9374
  }
9344
- async getObject(cls, values) {
9375
+ async getObject(cls, values, options) {
9345
9376
  const callbacks = this.federation.objectCallbacks[cls.typeId.href];
9346
9377
  if (callbacks == null) throw new Error("No object dispatcher registered.");
9347
9378
  for (const param of callbacks.parameters) if (!(param in values)) throw new TypeError(`Missing parameter: ${param}`);
@@ -9351,13 +9382,15 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
9351
9382
  actorDispatcherClass: this.#invokedFromObjectDispatcher.cls.name,
9352
9383
  actorDispatcherValues: this.#invokedFromObjectDispatcher.values
9353
9384
  });
9354
- return await callbacks.dispatcher(new RequestContextImpl({
9385
+ const object = await callbacks.dispatcher(new RequestContextImpl({
9355
9386
  ...this,
9356
9387
  invokedFromObjectDispatcher: {
9357
9388
  cls,
9358
9389
  values
9359
9390
  }
9360
9391
  }), values);
9392
+ if (object instanceof _fedify_vocab.Tombstone && !(object instanceof cls) && options?.tombstone !== "passthrough") return null;
9393
+ return object;
9361
9394
  }
9362
9395
  #signedKey = void 0;
9363
9396
  async getSignedKey(options = {}) {
@@ -16,7 +16,7 @@ json_canon = require_rolldown_runtime.__toESM(json_canon, 1);
16
16
  let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
17
17
  //#region deno.json
18
18
  var name = "@fedify/fedify";
19
- var version = "2.4.0-dev.2103+3be829c0";
19
+ var version = "2.4.0-dev.2108+159ea471";
20
20
  //#endregion
21
21
  //#region src/sig/portable-key-id.ts
22
22
  const COMPATIBLE_KEY_ID_PATH_PATTERN = /^\/\.well-known\/apgateway\/did(?::|%3A)/i;
@@ -1,11 +1,11 @@
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-CkjiYK_Z.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-BCAa5-kE.mjs";
4
+ import { n as version, t as name } from "./deno-CC4RKEEp.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-CF1TEvdS.mjs";
6
6
  import { i as validateAcceptSignature, n as fulfillAcceptSignature, r as parseAcceptSignature } from "./accept-CPVqki78.mjs";
7
- import { i as fetchKeyDetailed, s as validateCryptoKey } from "./key-I8gLBkcf.mjs";
8
- import { n as verifyPortableGatewayKeyDocument } from "./portable-key-B5oKE_wZ.mjs";
7
+ import { i as fetchKeyDetailed, s as validateCryptoKey } from "./key-B8u1vdvF.mjs";
8
+ import { n as verifyPortableGatewayKeyDocument } from "./portable-key-C0-ghkgM.mjs";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { CryptographicKey } from "@fedify/vocab";
11
11
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -14,7 +14,7 @@ import serialize from "json-canon";
14
14
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
15
15
  //#region deno.json
16
16
  var name = "@fedify/fedify";
17
- var version = "2.4.0-dev.2103+3be829c0";
17
+ var version = "2.4.0-dev.2108+159ea471";
18
18
  //#endregion
19
19
  //#region src/sig/portable-key-id.ts
20
20
  const COMPATIBLE_KEY_ID_PATH_PATTERN = /^\/\.well-known\/apgateway\/did(?::|%3A)/i;
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-CkjiYK_Z.mjs";
5
- import { _ as recordKeyLookup, n as getDurationMs, t as classifyFetchError } from "./metrics-BCAa5-kE.mjs";
4
+ import { n as version, t as name } from "./deno-CC4RKEEp.mjs";
5
+ import { _ as recordKeyLookup, n as getDurationMs, t as classifyFetchError } from "./metrics-CF1TEvdS.mjs";
6
6
  import { a as isCompatibleKeyId, o as isPortableActorDocument, s as isPortableId } from "./portable-key-id-Bva5iT3W.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { CryptographicKey, Multikey, Object as Object$1, isActor } from "@fedify/vocab";
@@ -1,5 +1,5 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
- const require_http = require("./http-Cala2Grs.cjs");
2
+ const require_http = require("./http-B7wEqv49.cjs");
3
3
  let _logtape_logtape = require("@logtape/logtape");
4
4
  let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
5
5
  let es_toolkit = require("es-toolkit");
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { p as recordDocumentCache } from "./metrics-BCAa5-kE.mjs";
4
+ import { p as recordDocumentCache } from "./metrics-CF1TEvdS.mjs";
5
5
  import { getLogger } from "@logtape/logtape";
6
6
  import { preloadedContexts } from "@fedify/vocab-runtime";
7
7
  //#region src/utils/kv-cache.ts
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { H as validateCryptoKey, et as recordDocumentCache, t as doubleKnock } from "./http-tTlTeFa0.js";
3
+ import { H as validateCryptoKey, et as recordDocumentCache, t as doubleKnock } from "./http-CaUBCHYJ.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { UrlError, createActivityPubRequest, getRemoteDocument, logRequest, preloadedContexts, validatePublicUrl } from "@fedify/vocab-runtime";
6
6
  import { curry } from "es-toolkit";
@@ -1,9 +1,9 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-CkjiYK_Z.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-BCAa5-kE.mjs";
6
- import { r as fetchKey, s as validateCryptoKey } from "./key-I8gLBkcf.mjs";
4
+ import { n as version, t as name } from "./deno-CC4RKEEp.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-CF1TEvdS.mjs";
6
+ import { r as fetchKey, s as validateCryptoKey } from "./key-B8u1vdvF.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { Activity, CryptographicKey, Object as Object$1, getTypeId } from "@fedify/vocab";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,7 +1,7 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-CkjiYK_Z.mjs";
4
+ import { n as version, t as name } from "./deno-CC4RKEEp.mjs";
5
5
  import { metrics } from "@opentelemetry/api";
6
6
  import { FetchError } from "@fedify/vocab-runtime";
7
7
  //#region src/federation/metrics.ts
@@ -1,28 +1,28 @@
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-CkjiYK_Z.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-BCAa5-kE.mjs";
4
+ import { n as version, t as name } from "./deno-CC4RKEEp.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-CF1TEvdS.mjs";
6
6
  import { t as formatAcceptSignature } from "./accept-CPVqki78.mjs";
7
7
  import { a as isCompatibleKeyId, c as isPortableUri, i as hasPortableActor, n as getGatewayKeyBase, r as getPortableDid, s as isPortableId, t as getCanonicalPortableId } from "./portable-key-id-Bva5iT3W.mjs";
8
- import { o as importJwk, s as validateCryptoKey, t as exportJwk } from "./key-I8gLBkcf.mjs";
8
+ import { o as importJwk, s as validateCryptoKey, t as exportJwk } from "./key-B8u1vdvF.mjs";
9
9
  import { r as normalizeOutgoingActivityJsonLd } from "./outgoing-jsonld-4IJqPYos.mjs";
10
- 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-wiJbqJHa.mjs";
11
- import { i as signObject, l as verifyPortableObjectProofWithRoot, o as verifyObject, r as hasProofLike, s as verifyPortableObjectProof, t as InvalidPortableObjectIdError } from "./proof-BE4T5zF6.mjs";
12
- import { a as listRequestSignatures, c as selectRequestSignature, d as verifyRequest, f as verifyRequestDetailed, s as parseRfc9421SignatureInput } from "./http-BU-8fUrz.mjs";
13
- import { t as getAuthenticatedDocumentLoader } from "./docloader-C1hAJnWc.mjs";
14
- import { n as kvCache } from "./kv-cache-DJFoGRWQ.mjs";
10
+ 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-BTMJHEGV.mjs";
11
+ import { i as signObject, l as verifyPortableObjectProofWithRoot, o as verifyObject, r as hasProofLike, s as verifyPortableObjectProof, t as InvalidPortableObjectIdError } from "./proof-DDw0i9b1.mjs";
12
+ import { a as listRequestSignatures, c as selectRequestSignature, d as verifyRequest, f as verifyRequestDetailed, s as parseRfc9421SignatureInput } from "./http-CHEYA5fH.mjs";
13
+ import { t as getAuthenticatedDocumentLoader } from "./docloader-D3_m98fe.mjs";
14
+ import { n as kvCache } from "./kv-cache-CTdvf_Iq.mjs";
15
15
  import { d as readBoundedText, l as BodyTooLargeError, t as getNodeInfo, u as MAX_BODY_SIZE } from "./client-DpnpgjyX.mjs";
16
16
  import { t as nodeInfoToJson } from "./types-DE_LV1JB.mjs";
17
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-BJp47LxN.mjs";
18
- import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-BFITuKHw.mjs";
19
- import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-CHht75pX.mjs";
17
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-CY--JSqO.mjs";
18
+ import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-CU3sHGPt.mjs";
19
+ import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-BRlYEsrV.mjs";
20
20
  import { t as CircuitBreaker } from "./circuit-breaker-C5NqoLBJ.mjs";
21
21
  import { t as buildCollectionSynchronizationHeader } from "./collection-CnnP1UAv.mjs";
22
- import { a as verifyCompoundPortableObjectProofs, i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "./compound-proof-DKKH_Nr1.mjs";
22
+ import { a as verifyCompoundPortableObjectProofs, i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "./compound-proof-CHGINiJg.mjs";
23
23
  import { t as KvKeyCache } from "./keycache-BUDHB5rY.mjs";
24
24
  import { t as acceptsJsonLd } from "./negotiation-CCocWT_N.mjs";
25
- import { t as hasMalformedKnownTemporalLiteral } from "./temporal-CyDDbE4i.mjs";
25
+ import { t as hasMalformedKnownTemporalLiteral } from "./temporal-NHiSpGcW.mjs";
26
26
  import { t as createExponentialBackoffPolicy } from "./retry-zX5xw5e0.mjs";
27
27
  import { t as TaskCodec } from "./codec-C6rTrpIp.mjs";
28
28
  import { getLogger, withContext } from "@logtape/logtape";
@@ -1156,6 +1156,13 @@ async function handleObject(request, { values, context, objectDispatcher, author
1156
1156
  if (!await authorizePredicate(context, values)) return await onUnauthorized(request);
1157
1157
  }
1158
1158
  const jsonLd = await object.toJsonLd(context);
1159
+ if (object instanceof Tombstone) return new Response(request.method === "HEAD" ? null : JSON.stringify(jsonLd), {
1160
+ status: 410,
1161
+ headers: {
1162
+ "Content-Type": "application/activity+json",
1163
+ Vary: "Accept"
1164
+ }
1165
+ });
1159
1166
  return new Response(JSON.stringify(jsonLd), { headers: {
1160
1167
  "Content-Type": "application/activity+json",
1161
1168
  Vary: "Accept"
@@ -6570,7 +6577,7 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
6570
6577
  if (actor instanceof Tombstone && options?.tombstone !== "passthrough") return null;
6571
6578
  return actor;
6572
6579
  }
6573
- async getObject(cls, values) {
6580
+ async getObject(cls, values, options) {
6574
6581
  const callbacks = this.federation.objectCallbacks[cls.typeId.href];
6575
6582
  if (callbacks == null) throw new Error("No object dispatcher registered.");
6576
6583
  for (const param of callbacks.parameters) if (!(param in values)) throw new TypeError(`Missing parameter: ${param}`);
@@ -6580,13 +6587,15 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
6580
6587
  actorDispatcherClass: this.#invokedFromObjectDispatcher.cls.name,
6581
6588
  actorDispatcherValues: this.#invokedFromObjectDispatcher.values
6582
6589
  });
6583
- return await callbacks.dispatcher(new RequestContextImpl({
6590
+ const object = await callbacks.dispatcher(new RequestContextImpl({
6584
6591
  ...this,
6585
6592
  invokedFromObjectDispatcher: {
6586
6593
  cls,
6587
6594
  values
6588
6595
  }
6589
6596
  }), values);
6597
+ if (object instanceof Tombstone && !(object instanceof cls) && options?.tombstone !== "passthrough") return null;
6598
+ return object;
6590
6599
  }
6591
6600
  #signedKey = void 0;
6592
6601
  async getSignedKey(options = {}) {
@@ -1,5 +1,5 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as FederationImpl } from "./middleware-FnITXhtz.mjs";
4
+ import { n as FederationImpl } from "./middleware-B-rZ7oE-.mjs";
5
5
  export { FederationImpl };
@@ -2,10 +2,10 @@ import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { t as __exportAll } from "./rolldown-runtime-BC-Eo5Mj.js";
4
4
  import { r as getDefaultActivityTransformers } from "./transformers-DAtXl_Kc.js";
5
- import { $ as recordCollectionTotalItems, A as isInvalidUrlTypeError, C as compactJsonLd, D as hasSignature, E as getNormalizationContextLoader, F as wrapContextLoaderForJsonLd, G as getFederationMetrics, H as validateCryptoKey, I as exportJwk, J as isAbortError, K as getRemoteHost, M as verifyCompactJsonLd, O as hasSignatureLike, Q as recordCollectionRequest, T as detachSignature, V as importJwk, W as getDurationMs, X as recordCollectionDispatchDuration, Y as recordCircuitBreakerStateChange, Z as recordCollectionPageItems, _ as verifyPortableObjectProofWithRoot, _t as isPortableId, at as recordWebFingerHandle, b as InvalidContextReferenceError, bt as name, ct as formatAcceptSignature, d as hasProofLike, f as signObject, ft as getCanonicalPortableId, g as verifyPortableObjectProofPolicy, gt as isCompatibleKeyId, h as verifyPortableObjectProof, ht as hasPortableActor, i as selectRequestSignature, it as recordOutboxEnqueue, j as signJsonLd, k as isClearlyMalformedContextReference, l as InvalidPortableObjectIdError, m as verifyObject, mt as getPortableDid, n as listRequestSignatures, nt as recordInboxActivity, o as verifyRequest, ot as registerQueueDepthGauge, p as verifyMapLocalProof, pt as getGatewayKeyBase, q as instrumentDocumentLoader, r as parseRfc9421SignatureInput, rt as recordOutboxActivity, s as verifyRequestDetailed, st as preloadedOnlyDocumentLoader, t as doubleKnock, tt as recordFanoutRecipients, vt as isPortableUri, x as assertSafeJsonLd, xt as version, y as normalizeOutgoingActivityJsonLd } from "./http-tTlTeFa0.js";
5
+ import { $ as recordCollectionTotalItems, A as isInvalidUrlTypeError, C as compactJsonLd, D as hasSignature, E as getNormalizationContextLoader, F as wrapContextLoaderForJsonLd, G as getFederationMetrics, H as validateCryptoKey, I as exportJwk, J as isAbortError, K as getRemoteHost, M as verifyCompactJsonLd, O as hasSignatureLike, Q as recordCollectionRequest, T as detachSignature, V as importJwk, W as getDurationMs, X as recordCollectionDispatchDuration, Y as recordCircuitBreakerStateChange, Z as recordCollectionPageItems, _ as verifyPortableObjectProofWithRoot, _t as isPortableId, at as recordWebFingerHandle, b as InvalidContextReferenceError, bt as name, ct as formatAcceptSignature, d as hasProofLike, f as signObject, ft as getCanonicalPortableId, g as verifyPortableObjectProofPolicy, gt as isCompatibleKeyId, h as verifyPortableObjectProof, ht as hasPortableActor, i as selectRequestSignature, it as recordOutboxEnqueue, j as signJsonLd, k as isClearlyMalformedContextReference, l as InvalidPortableObjectIdError, m as verifyObject, mt as getPortableDid, n as listRequestSignatures, nt as recordInboxActivity, o as verifyRequest, ot as registerQueueDepthGauge, p as verifyMapLocalProof, pt as getGatewayKeyBase, q as instrumentDocumentLoader, r as parseRfc9421SignatureInput, rt as recordOutboxActivity, s as verifyRequestDetailed, st as preloadedOnlyDocumentLoader, t as doubleKnock, tt as recordFanoutRecipients, vt as isPortableUri, x as assertSafeJsonLd, xt as version, y as normalizeOutgoingActivityJsonLd } from "./http-CaUBCHYJ.js";
6
6
  import { a as MAX_BODY_SIZE, i as BodyTooLargeError, n as getNodeInfo, o as readBoundedText, t as nodeInfoToJson } from "./types-C_cNlNVK.js";
7
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-j5yrbXS1.js";
8
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-CxQu_cd4.js";
7
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-M8dOKEl6.js";
8
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-ibncHN1D.js";
9
9
  import { getLogger, withContext } from "@logtape/logtape";
10
10
  import { Router, RouterError, assertPath } from "@fedify/uri-template";
11
11
  import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, Tombstone, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
@@ -342,8 +342,8 @@ var FederationBuilderImpl = class {
342
342
  const variables = Router.variables(path);
343
343
  this.router.add(path, routeName);
344
344
  const callbacks = {
345
- dispatcher: (ctx, values) => {
346
- return this._getTracer().startActiveSpan("activitypub.dispatch_object", {
345
+ dispatcher: async (ctx, values) => {
346
+ const object = await this._getTracer().startActiveSpan("activitypub.dispatch_object", {
347
347
  kind: SpanKind.SERVER,
348
348
  attributes: {
349
349
  "fedify.object.type": cls.typeId.href,
@@ -366,6 +366,8 @@ var FederationBuilderImpl = class {
366
366
  span.end();
367
367
  }
368
368
  });
369
+ if (object instanceof Tombstone) warnMismatchedTombstoneId(ctx, cls, values, object);
370
+ return object;
369
371
  },
370
372
  parameters: variables
371
373
  };
@@ -735,6 +737,28 @@ var FederationBuilderImpl = class {
735
737
  function createFederationBuilder() {
736
738
  return new FederationBuilderImpl();
737
739
  }
740
+ function warnMismatchedTombstoneId(context, cls, values, tombstone) {
741
+ const logger = getLogger([
742
+ "fedify",
743
+ "federation",
744
+ "object"
745
+ ]);
746
+ if (tombstone.id == null) {
747
+ logger.warn("Object dispatcher for {class} returned a tombstone without an id property. Set the property with Context.getObjectUri().", {
748
+ class: cls.name,
749
+ values
750
+ });
751
+ return;
752
+ }
753
+ if (tombstone.id.protocol === "ap:" || tombstone.id.protocol === "ap+ef61:") return;
754
+ const expected = context.getObjectUri(cls, values);
755
+ if (tombstone.id.href !== expected.href) logger.warn("Object dispatcher for {class} returned a tombstone with an id property {tombstoneId} that does not match the object URI {objectUri}. Set the property with Context.getObjectUri().", {
756
+ class: cls.name,
757
+ values,
758
+ tombstoneId: tombstone.id.href,
759
+ objectUri: expected.href
760
+ });
761
+ }
738
762
  /**
739
763
  * Warns about an FEP-ef61 portable actor identified by a compatible identifier
740
764
  * that is malformed, or is not on the actor's first gateway, where FEP-ef61
@@ -3421,6 +3445,13 @@ async function handleObject(request, { values, context, objectDispatcher, author
3421
3445
  if (!await authorizePredicate(context, values)) return await onUnauthorized(request);
3422
3446
  }
3423
3447
  const jsonLd = await object.toJsonLd(context);
3448
+ if (object instanceof Tombstone) return new Response(request.method === "HEAD" ? null : JSON.stringify(jsonLd), {
3449
+ status: 410,
3450
+ headers: {
3451
+ "Content-Type": "application/activity+json",
3452
+ Vary: "Accept"
3453
+ }
3454
+ });
3424
3455
  return new Response(JSON.stringify(jsonLd), { headers: {
3425
3456
  "Content-Type": "application/activity+json",
3426
3457
  Vary: "Accept"
@@ -9244,7 +9275,7 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
9244
9275
  if (actor instanceof Tombstone && options?.tombstone !== "passthrough") return null;
9245
9276
  return actor;
9246
9277
  }
9247
- async getObject(cls, values) {
9278
+ async getObject(cls, values, options) {
9248
9279
  const callbacks = this.federation.objectCallbacks[cls.typeId.href];
9249
9280
  if (callbacks == null) throw new Error("No object dispatcher registered.");
9250
9281
  for (const param of callbacks.parameters) if (!(param in values)) throw new TypeError(`Missing parameter: ${param}`);
@@ -9254,13 +9285,15 @@ var RequestContextImpl = class RequestContextImpl extends ContextImpl {
9254
9285
  actorDispatcherClass: this.#invokedFromObjectDispatcher.cls.name,
9255
9286
  actorDispatcherValues: this.#invokedFromObjectDispatcher.values
9256
9287
  });
9257
- return await callbacks.dispatcher(new RequestContextImpl({
9288
+ const object = await callbacks.dispatcher(new RequestContextImpl({
9258
9289
  ...this,
9259
9290
  invokedFromObjectDispatcher: {
9260
9291
  cls,
9261
9292
  values
9262
9293
  }
9263
9294
  }), values);
9295
+ if (object instanceof Tombstone && !(object instanceof cls) && options?.tombstone !== "passthrough") return null;
9296
+ return object;
9264
9297
  }
9265
9298
  #signedKey = void 0;
9266
9299
  async getSignedKey(options = {}) {
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { Wt as WebFingerLinksDispatcher, _t as ActorAliasMapper, u as RequestContext, vt as ActorDispatcher, yt as ActorHandleMapper } from "./context-CfJE_oQu.js";
2
+ import { Gt as WebFingerLinksDispatcher, bt as ActorHandleMapper, d as RequestContext, vt as ActorAliasMapper, yt as ActorDispatcher } from "./context-B4F4kGJq.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 { Wt as WebFingerLinksDispatcher, _t as ActorAliasMapper, u as RequestContext, vt as ActorDispatcher, yt as ActorHandleMapper } from "./context-mDTxTw-S.cjs";
2
+ import { Gt as WebFingerLinksDispatcher, bt as ActorHandleMapper, d as RequestContext, vt as ActorAliasMapper, yt as ActorDispatcher } from "./context-Cqx9M_zO.cjs";
3
3
  import { MeterProvider, Span, Tracer } from "@opentelemetry/api";
4
4
  import { RouterError, RouterOptions, RouterRouteResult } from "@fedify/uri-template";
5
5
 
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-Cala2Grs.cjs");
7
- const require_federation = require("./federation-C1dL6SiT.cjs");
6
+ const require_http = require("./http-B7wEqv49.cjs");
7
+ const require_federation = require("./federation-dqo6ZzgT.cjs");
8
8
  const require_types = require("./types-Be2zbyeG.cjs");
9
- const require_owner = require("./owner-DCt8W_Cv.cjs");
10
- const require_kv_cache = require("./kv-cache-Bl5EBFrU.cjs");
9
+ const require_owner = require("./owner-CGnHPl4k.cjs");
10
+ const require_kv_cache = require("./kv-cache-0pYMPrkL.cjs");
11
11
  require("./nodeinfo/mod.cjs");
12
12
  require("./runtime/mod.cjs");
13
- const require_sig = require("./sig-CRTRoouH.cjs");
13
+ const require_sig = require("./sig-C2CORtvg.cjs");
14
14
  require("./utils/mod.cjs");
15
15
  //#endregion
16
16
  exports.CircuitBreaker = require_federation.CircuitBreaker;
package/dist/mod.d.cts CHANGED
@@ -2,17 +2,17 @@
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
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 InProcessMessageQueueOptions, A as ObjectCallbackSetters, At as InboxErrorHandler, B as TaskDefinition, Bt as PortableActorIdMapper, C as FederationOptions, Ct as CollectionCursor, D as InboxChallengePolicy, Dt as CustomCollectionDispatcher, E as IdempotencyStrategy, Et as CustomCollectionCursor, F as FederationOrigin, Ft as ObjectDispatcher, G as CreateExponentialBackoffPolicyOptions, Gt as SendActivityError, H as TaskEnqueueOptions, Ht as UnverifiedActivityHandler, I as FederationQueueOptions, It as OutboxErrorHandler, J as createExponentialBackoffPolicy, Jt as buildCollectionSynchronizationHeader, K as RetryContext, Kt as SenderKeyPair, L as createFederation, Lt as OutboxListener, M as PortableInboxForwardingOptions, Mt as MediaUploaderCallback, N as Rfc6570Expression, Nt as NodeInfoDispatcher, O as InboxListenerSetters, Ot as HashlinkMediaDispatcher, P as FederationKvPrefixes, Pt as ObjectAuthorizePredicate, Q as InProcessMessageQueue, R as Message, Rt as OutboxListenerErrorHandler, S as FederationFetchOptions, St as CollectionCounter, T as IdempotencyKeyCallback, Tt as CustomCollectionCounter, U as TaskHandler, Ut as UnverifiedActivityReason, V as TaskDefinitionOptions, Vt as SharedInboxKeyDispatcher, W as TaskRegistry, Wt as WebFingerLinksDispatcher, X as respondWithObject, Xt as ActivityTransformer, Y as RespondWithObjectOptions, Yt as digest, Z as respondWithObjectIfAcceptable, _ as CustomCollectionCallbackSetters, _t as ActorAliasMapper, a as GetSignedKeyOptions, at as CircuitBreaker, b as FederationBenchmarkOptions, bt as ActorKeyPairsDispatcher, c as ParseUriResult, ct as CircuitBreakerCreateOptions, d as RouteActivityOptions, dt as CircuitBreakerOptions, et as MessageQueue, f as SendActivityOptions, ft as CircuitBreakerState, g as ConstructorWithTypeId, gt as parseCircuitBreakerKvState, h as CollectionCallbackSetters, ht as normalizeCircuitBreakerOptions, i as GetActorOptions, it as ParallelMessageQueue, j as OutboxListenerSetters, jt as InboxListener, k as MediaUploaderSetters, kt as HashlinkMediaRequest, l as PortableRequest, lt as CircuitBreakerFailurePolicy, m as ActorCallbackSetters, mt as NormalizedCircuitBreakerOptions, n as Context, nt as MessageQueueEnqueueOptions, o as InboxContext, ot as CircuitBreakerActivityDrop, p as SendActivityOptionsForCollection, pt as CircuitBreakerStateChange, q as RetryPolicy, qt as PageItems, r as ForwardActivityOptions, rt as MessageQueueListenOptions, s as OutboxContext, st as CircuitBreakerBeforeSendDecision, t as ActorKeyPair, tt as MessageQueueDepth, u as RequestContext, ut as CircuitBreakerKvState, v as Federatable, vt as ActorDispatcher, w as FederationStartQueueOptions, wt as CollectionDispatcher, x as FederationBuilder, xt as AuthorizePredicate, y as Federation, yt as ActorHandleMapper, z as createFederationBuilder, zt as OutboxPermanentFailureHandler } from "./context-mDTxTw-S.cjs";
5
+ import { $ as InProcessMessageQueue, A as MediaUploaderSetters, At as HashlinkMediaRequest, B as createFederationBuilder, Bt as OutboxPermanentFailureHandler, C as FederationFetchOptions, Ct as CollectionCounter, D as IdempotencyStrategy, Dt as CustomCollectionCursor, E as IdempotencyKeyCallback, Et as CustomCollectionCounter, F as FederationKvPrefixes, Ft as ObjectAuthorizePredicate, G as TaskRegistry, Gt as WebFingerLinksDispatcher, H as TaskDefinitionOptions, Ht as SharedInboxKeyDispatcher, I as FederationOrigin, It as ObjectDispatcher, J as RetryPolicy, Jt as PageItems, K as CreateExponentialBackoffPolicyOptions, Kt as SendActivityError, L as FederationQueueOptions, Lt as OutboxErrorHandler, M as OutboxListenerSetters, Mt as InboxListener, N as PortableInboxForwardingOptions, Nt as MediaUploaderCallback, O as InboxChallengePolicy, Ot as CustomCollectionDispatcher, P as Rfc6570Expression, Pt as NodeInfoDispatcher, Q as respondWithObjectIfAcceptable, R as createFederation, Rt as OutboxListener, S as FederationBuilder, St as AuthorizePredicate, T as FederationStartQueueOptions, Tt as CollectionDispatcher, U as TaskEnqueueOptions, Ut as UnverifiedActivityHandler, V as TaskDefinition, Vt as PortableActorIdMapper, W as TaskHandler, Wt as UnverifiedActivityReason, X as RespondWithObjectOptions, Xt as digest, Y as createExponentialBackoffPolicy, Yt as buildCollectionSynchronizationHeader, Z as respondWithObject, Zt as ActivityTransformer, _ as ConstructorWithTypeId, _t as parseCircuitBreakerKvState, a as GetObjectOptions, at as ParallelMessageQueue, b as Federation, bt as ActorHandleMapper, c as OutboxContext, ct as CircuitBreakerBeforeSendDecision, d as RequestContext, dt as CircuitBreakerKvState, et as InProcessMessageQueueOptions, f as RouteActivityOptions, ft as CircuitBreakerOptions, g as CollectionCallbackSetters, gt as normalizeCircuitBreakerOptions, h as ActorCallbackSetters, ht as NormalizedCircuitBreakerOptions, i as GetActorOptions, it as MessageQueueListenOptions, j as ObjectCallbackSetters, jt as InboxErrorHandler, k as InboxListenerSetters, kt as HashlinkMediaDispatcher, l as ParseUriResult, lt as CircuitBreakerCreateOptions, m as SendActivityOptionsForCollection, mt as CircuitBreakerStateChange, n as Context, nt as MessageQueueDepth, o as GetSignedKeyOptions, ot as CircuitBreaker, p as SendActivityOptions, pt as CircuitBreakerState, q as RetryContext, qt as SenderKeyPair, r as ForwardActivityOptions, rt as MessageQueueEnqueueOptions, s as InboxContext, st as CircuitBreakerActivityDrop, t as ActorKeyPair, tt as MessageQueue, u as PortableRequest, ut as CircuitBreakerFailurePolicy, v as CustomCollectionCallbackSetters, vt as ActorAliasMapper, w as FederationOptions, wt as CollectionCursor, x as FederationBenchmarkOptions, xt as ActorKeyPairsDispatcher, y as Federatable, yt as ActorDispatcher, z as Message, zt as OutboxListenerErrorHandler } from "./context-Cqx9M_zO.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-B3OzOobN.cjs";
8
+ import { a as RouterOptions, i as RouterError, n as handleWebFinger, o as RouterRouteResult, r as Router, t as WebFingerHandlerParameters } from "./mod-BuFmStNT.cjs";
9
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-C8LieBzF.cjs";
10
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, PortableActorIdMapper, PortableInboxForwardingOptions, 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, GetObjectOptions, 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, PortableInboxForwardingOptions, 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, PortableActorIdMapper, PortableInboxForwardingOptions, 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, GetObjectOptions, 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, PortableInboxForwardingOptions, 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 };