@fedify/fedify 1.9.0-dev.1689 → 1.9.0-dev.1704

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 (116) hide show
  1. package/dist/{actor-Dpkqj5Dv.js → actor-B0LpLKRw.js} +187 -187
  2. package/dist/{actor-DzdLVqkJ.js → actor-CQzdjHs3.js} +1 -1
  3. package/dist/{actor-CK94m0Yv.cjs → actor-DU96UQUE.cjs} +187 -187
  4. package/dist/{authdocloader-4iBGWlQw.cjs → authdocloader-BkOerKL-.cjs} +3 -3
  5. package/dist/{authdocloader-DdSBpn11.js → authdocloader-CzmsYrAn.js} +3 -3
  6. package/dist/{authdocloader-BVvTFQbi.js → authdocloader-DI67R2Ku.js} +3 -3
  7. package/dist/{builder-BR--hcb8.js → builder-D2Oyy8AY.js} +8 -8
  8. package/dist/{client-BoUqciR8.js → client-BWusKCWF.js} +1 -1
  9. package/dist/compat/mod.d.cts +2 -2
  10. package/dist/compat/mod.d.ts +2 -2
  11. package/dist/compat/transformers.test.js +16 -16
  12. package/dist/{context-CZorAkt8.d.ts → context-C51zGhGC.d.ts} +120 -87
  13. package/dist/{context-DCh96LcF.d.cts → context-Qnv814-p.d.cts} +120 -87
  14. package/dist/{docloader-Bui9z8Lb.cjs → docloader-NcFUThCx.cjs} +1 -1
  15. package/dist/{docloader-DyvW1gbN.js → docloader-isD0ntZv.js} +1 -1
  16. package/dist/{esm-DMb2eQXG.js → esm-BBVcrjH8.js} +1 -1
  17. package/dist/federation/builder.test.js +5 -5
  18. package/dist/federation/collection.test.js +3 -3
  19. package/dist/federation/handler.test.js +17 -17
  20. package/dist/federation/idempotency.test.js +17 -17
  21. package/dist/federation/inbox.test.js +4 -4
  22. package/dist/federation/keycache.test.js +4 -4
  23. package/dist/federation/kv.test.js +3 -3
  24. package/dist/federation/middleware.test.js +18 -18
  25. package/dist/federation/mod.cjs +10 -10
  26. package/dist/federation/mod.d.cts +2 -2
  27. package/dist/federation/mod.d.ts +2 -2
  28. package/dist/federation/mod.js +10 -10
  29. package/dist/federation/mq.test.js +3 -3
  30. package/dist/federation/retry.test.js +3 -3
  31. package/dist/federation/router.test.js +3 -3
  32. package/dist/federation/send.test.js +10 -10
  33. package/dist/{http-C7nvEG1N.js → http-BiKoa3o_.js} +2 -2
  34. package/dist/{http-BAaVL480.cjs → http-LVXxICJn.cjs} +3 -3
  35. package/dist/{http-xsj5Fzwl.js → http-MyYS6o7t.js} +3 -3
  36. package/dist/{inbox-DZNE3Jtq.js → inbox-CzGsgKH-.js} +1 -1
  37. package/dist/key-BEz2ThE9.cjs +10 -0
  38. package/dist/{key-DgZIZVqA.js → key-C0SCHEcf.js} +3 -3
  39. package/dist/{key-C25gGlmV.js → key-C5cRHj8g.js} +2 -2
  40. package/dist/{key-CbnQpdZy.js → key-CRhmBE03.js} +2 -2
  41. package/dist/{key-DqqCoLbc.cjs → key-Ci8OyUTB.cjs} +2 -2
  42. package/dist/{key-DOPWTj2e.js → key-DWPlWnFQ.js} +4 -4
  43. package/dist/{keycache-CoMI1L_W.js → keycache-rO8ea311.js} +1 -1
  44. package/dist/{keys-CMahfArj.js → keys-CWdCy_3n.js} +1 -1
  45. package/dist/{ld-WZpO-MzE.js → ld-BWADNtQr.js} +2 -2
  46. package/dist/{lookup-WoJkw8wY.js → lookup-BBTRFcU5.js} +1 -1
  47. package/dist/{lookup-D_w567L8.cjs → lookup-CILOZed9.cjs} +1 -1
  48. package/dist/{lookup-y6-PEpxS.js → lookup-RINL4MOa.js} +1 -1
  49. package/dist/{middleware-CjgR6ayA.js → middleware-Bcv0xCjs.js} +35 -36
  50. package/dist/middleware-Be9qUuwL.cjs +17 -0
  51. package/dist/{middleware-Cj9WC_iX.js → middleware-BfhSHVoJ.js} +36 -37
  52. package/dist/middleware-CWlljVpG.js +26 -0
  53. package/dist/{middleware-CWlrInU2.cjs → middleware-DDyUhxsm.cjs} +36 -37
  54. package/dist/middleware-Dm7sDAVJ.js +17 -0
  55. package/dist/{mod-BojaEE1l.d.cts → mod-COTXAYRl.d.cts} +1 -1
  56. package/dist/{mod-tWXEItkO.d.ts → mod-o-hx_hU8.d.ts} +1 -1
  57. package/dist/mod.cjs +10 -10
  58. package/dist/mod.d.cts +3 -3
  59. package/dist/mod.d.ts +3 -3
  60. package/dist/mod.js +10 -10
  61. package/dist/nodeinfo/client.test.js +5 -5
  62. package/dist/nodeinfo/handler.test.js +16 -16
  63. package/dist/nodeinfo/mod.cjs +2 -2
  64. package/dist/nodeinfo/mod.js +2 -2
  65. package/dist/nodeinfo/semver.test.js +3 -3
  66. package/dist/nodeinfo/types.test.js +3 -3
  67. package/dist/{owner-CPBOVM7l.js → owner-QEQV9vx-.js} +2 -2
  68. package/dist/{proof-CpmDDzvf.js → proof-B_9fbF3f.js} +3 -3
  69. package/dist/{proof-h0JvKPRP.js → proof-g2_9VhUQ.js} +2 -2
  70. package/dist/{proof-BLoRsaYR.cjs → proof-v3B5cJ3c.cjs} +3 -3
  71. package/dist/runtime/authdocloader.test.js +9 -9
  72. package/dist/runtime/docloader.test.js +4 -4
  73. package/dist/runtime/key.test.js +5 -5
  74. package/dist/runtime/langstr.test.js +3 -3
  75. package/dist/runtime/link.test.js +3 -3
  76. package/dist/runtime/mod.cjs +6 -6
  77. package/dist/runtime/mod.js +6 -6
  78. package/dist/runtime/multibase/multibase.test.js +3 -3
  79. package/dist/runtime/url.test.js +3 -3
  80. package/dist/{send-CD-m2vwX.js → send-cTLNXtTp.js} +2 -2
  81. package/dist/sig/http.test.js +8 -8
  82. package/dist/sig/key.test.js +6 -6
  83. package/dist/sig/ld.test.js +7 -7
  84. package/dist/sig/mod.cjs +6 -6
  85. package/dist/sig/mod.js +6 -6
  86. package/dist/sig/owner.test.js +7 -7
  87. package/dist/sig/proof.test.js +7 -7
  88. package/dist/testing/docloader.test.js +3 -3
  89. package/dist/testing/mod.d.ts +119 -86
  90. package/dist/testing/mod.js +3 -3
  91. package/dist/{testing-DvTABhvG.js → testing-CNtyBr2m.js} +2 -2
  92. package/dist/{type-BCazg_Pu.js → type-C5udJemk.js} +186 -186
  93. package/dist/{types-F8JMlP-f.cjs → types-C9w81XqW.cjs} +1 -1
  94. package/dist/{types-BsM0mf3R.js → types-DHq9gRM4.js} +1 -1
  95. package/dist/vocab/actor.test.js +5 -5
  96. package/dist/vocab/lookup.test.js +4 -4
  97. package/dist/vocab/mod.cjs +4 -4
  98. package/dist/vocab/mod.js +4 -4
  99. package/dist/vocab/type.test.js +3 -3
  100. package/dist/vocab/vocab.test.js +4 -4
  101. package/dist/{vocab-C-qxDq1m.cjs → vocab-BoyCE2Rn.cjs} +3 -3
  102. package/dist/{vocab-DdTdRfBW.js → vocab-DxoBe7PI.js} +3 -3
  103. package/dist/webfinger/handler.test.js +16 -16
  104. package/dist/webfinger/lookup.test.js +4 -4
  105. package/dist/webfinger/mod.cjs +2 -2
  106. package/dist/webfinger/mod.js +2 -2
  107. package/dist/x/cfworkers.test.js +3 -3
  108. package/dist/x/hono.d.cts +1 -1
  109. package/dist/x/hono.d.ts +1 -1
  110. package/dist/x/sveltekit.d.cts +1 -1
  111. package/dist/x/sveltekit.d.ts +1 -1
  112. package/package.json +1 -1
  113. package/dist/key-CHU24Npw.cjs +0 -10
  114. package/dist/middleware-BYEKw_OJ.js +0 -17
  115. package/dist/middleware-DbxA0Z6o.js +0 -26
  116. package/dist/middleware-hTlyJu9R.cjs +0 -17
@@ -3,9 +3,9 @@
3
3
  const { URLPattern } = require("urlpattern-polyfill");
4
4
 
5
5
  const require_chunk = require('./chunk-DqRYRqnO.cjs');
6
- const require_docloader = require('./docloader-Bui9z8Lb.cjs');
7
- const require_key = require('./key-DqqCoLbc.cjs');
8
- const require_http = require('./http-BAaVL480.cjs');
6
+ const require_docloader = require('./docloader-NcFUThCx.cjs');
7
+ const require_key = require('./key-Ci8OyUTB.cjs');
8
+ const require_http = require('./http-LVXxICJn.cjs');
9
9
  const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
10
10
 
11
11
  //#region src/runtime/authdocloader.ts
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-BCazg_Pu.js";
7
- import { validateCryptoKey } from "./key-C25gGlmV.js";
8
- import { doubleKnock } from "./http-C7nvEG1N.js";
6
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-C5udJemk.js";
7
+ import { validateCryptoKey } from "./key-C5cRHj8g.js";
8
+ import { doubleKnock } from "./http-BiKoa3o_.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
 
11
11
  //#region src/runtime/authdocloader.ts
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-DyvW1gbN.js";
6
- import { validateCryptoKey } from "./key-CbnQpdZy.js";
7
- import { doubleKnock } from "./http-xsj5Fzwl.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-isD0ntZv.js";
6
+ import { validateCryptoKey } from "./key-CRhmBE03.js";
7
+ import { doubleKnock } from "./http-MyYS6o7t.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region src/runtime/authdocloader.ts
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getTypeId } from "./type-BCazg_Pu.js";
7
- import { Router, RouterError } from "./lookup-y6-PEpxS.js";
8
- import { InboxListenerSet } from "./inbox-DZNE3Jtq.js";
6
+ import { deno_default, getTypeId } from "./type-C5udJemk.js";
7
+ import { Router, RouterError } from "./lookup-RINL4MOa.js";
8
+ import { InboxListenerSet } from "./inbox-CzGsgKH-.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
11
11
 
@@ -43,7 +43,7 @@ var FederationBuilderImpl = class {
43
43
  this.collectionTypeIds = {};
44
44
  }
45
45
  async build(options) {
46
- const { FederationImpl } = await import("./middleware-DbxA0Z6o.js");
46
+ const { FederationImpl } = await import("./middleware-CWlljVpG.js");
47
47
  const f = new FederationImpl(options);
48
48
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
49
49
  f.router = this.router.clone();
@@ -496,11 +496,11 @@ var FederationBuilderImpl = class {
496
496
  };
497
497
  return setters;
498
498
  }
499
- setCollectionDispatcher(name, ...args) {
500
- return this.#setCustomCollectionDispatcher(name, "collection", ...args);
499
+ setCollectionDispatcher(name, itemType, path, dispatcher) {
500
+ return this.#setCustomCollectionDispatcher(name, "collection", itemType, path, dispatcher);
501
501
  }
502
- setOrderedCollectionDispatcher(name, ...args) {
503
- return this.#setCustomCollectionDispatcher(name, "orderedCollection", ...args);
502
+ setOrderedCollectionDispatcher(name, itemType, path, dispatcher) {
503
+ return this.#setCustomCollectionDispatcher(name, "orderedCollection", itemType, path, dispatcher);
504
504
  }
505
505
  #setCustomCollectionDispatcher(name, collectionType, itemType, path, dispatcher) {
506
506
  const strName = String(name);
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./type-BCazg_Pu.js";
6
+ import { getUserAgent } from "./type-C5udJemk.js";
7
7
  import { parseSemVer } from "./semver-dArNLkR9.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
@@ -7,7 +7,7 @@ import "../http-B1_DzfAU.cjs";
7
7
  import "../owner-6KSEp9eV.cjs";
8
8
  import "../mod-BUbqxBev.cjs";
9
9
  import "../mod-jQ4OODsl.cjs";
10
- import { ActivityTransformer } from "../context-DCh96LcF.cjs";
10
+ import { ActivityTransformer } from "../context-Qnv814-p.cjs";
11
11
  import "../mq-B7R1Q-M5.cjs";
12
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-BojaEE1l.cjs";
12
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-COTXAYRl.cjs";
13
13
  export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -9,7 +9,7 @@ import "../http-wsGR6KkT.js";
9
9
  import "../owner-BbeUDvOu.js";
10
10
  import "../mod-CDObsV1d.js";
11
11
  import "../mod-DBzN0aCM.js";
12
- import { ActivityTransformer } from "../context-CZorAkt8.js";
12
+ import { ActivityTransformer } from "../context-C51zGhGC.js";
13
13
  import "../mq-CRGm1e_F.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-tWXEItkO.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-o-hx_hU8.js";
15
15
  export { ActivityTransformer, actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -3,30 +3,30 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Follow, Person } from "../type-BCazg_Pu.js";
6
+ import { Follow, Person } from "../type-C5udJemk.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import { assert } from "../assert-MZs1qjMx.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-CjgR6ayA.js";
11
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-Bcv0xCjs.js";
12
12
  import "../semver-dArNLkR9.js";
13
- import "../client-BoUqciR8.js";
14
- import "../lookup-y6-PEpxS.js";
13
+ import "../client-BWusKCWF.js";
14
+ import "../lookup-RINL4MOa.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-DzdLVqkJ.js";
17
- import "../key-C25gGlmV.js";
18
- import "../http-C7nvEG1N.js";
19
- import "../authdocloader-DdSBpn11.js";
20
- import "../ld-WZpO-MzE.js";
21
- import "../owner-CPBOVM7l.js";
22
- import "../proof-h0JvKPRP.js";
23
- import "../inbox-DZNE3Jtq.js";
24
- import "../builder-BR--hcb8.js";
16
+ import "../actor-CQzdjHs3.js";
17
+ import "../key-C5cRHj8g.js";
18
+ import "../http-BiKoa3o_.js";
19
+ import "../authdocloader-CzmsYrAn.js";
20
+ import "../ld-BWADNtQr.js";
21
+ import "../owner-QEQV9vx-.js";
22
+ import "../proof-g2_9VhUQ.js";
23
+ import "../inbox-CzGsgKH-.js";
24
+ import "../builder-D2Oyy8AY.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-CoMI1L_W.js";
26
+ import "../keycache-rO8ea311.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-CD-m2vwX.js";
29
- import { test } from "../testing-DvTABhvG.js";
28
+ import "../send-cTLNXtTp.js";
29
+ import { test } from "../testing-CNtyBr2m.js";
30
30
 
31
31
  //#region src/compat/transformers.test.ts
32
32
  const federation = new FederationImpl({ kv: new MemoryKvStore() });
@@ -283,7 +283,7 @@ type ObjectAuthorizePredicate<TContextData, TParam extends string> = (context: R
283
283
  * the entire collection without pagination.
284
284
  * @since 1.8.0
285
285
  */
286
- type CustomCollectionDispatcher<TItem, TParams extends Record<string, string>, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: TParams, cursor: string | null) => PageItems<TItem> | null | Promise<PageItems<TItem> | null>;
286
+ type CustomCollectionDispatcher<TItem, TParam extends string, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: Record<TParam, string>, cursor: string | null) => PageItems<TItem> | null | Promise<PageItems<TItem> | null>;
287
287
  /**
288
288
  * A callback that counts the number of items in a custom collection.
289
289
  *
@@ -293,7 +293,7 @@ type CustomCollectionDispatcher<TItem, TParams extends Record<string, string>, T
293
293
  * @param values The parameters of the requested URL.
294
294
  * @since 1.8.0
295
295
  */
296
- type CustomCollectionCounter<TParams extends Record<string, string>, TContextData> = (context: RequestContext<TContextData>, values: TParams) => number | bigint | null | Promise<number | bigint | null>;
296
+ type CustomCollectionCounter<TParam extends string, TContextData> = (context: RequestContext<TContextData>, values: Record<TParam, string>) => number | bigint | null | Promise<number | bigint | null>;
297
297
  /**
298
298
  * A callback that returns a cursor for a custom collection.
299
299
  *
@@ -306,7 +306,7 @@ type CustomCollectionCounter<TParams extends Record<string, string>, TContextDat
306
306
  * @param values The parameters of the requested URL.
307
307
  * @since 1.8.0
308
308
  */
309
- type CustomCollectionCursor<TParams extends Record<string, string>, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: TParams) => string | null | Promise<string | null>;
309
+ type CustomCollectionCursor<TParam extends string, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: Record<TParam, string>) => string | null | Promise<string | null>;
310
310
  //#endregion
311
311
  //#region src/federation/handler.d.ts
312
312
 
@@ -704,7 +704,7 @@ interface Federatable<TContextData> {
704
704
  * @returns An object with methods to set other actor dispatcher callbacks.
705
705
  * @throws {RouterError} Thrown if the path pattern is invalid.
706
706
  */
707
- setActorDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: ActorDispatcher<TContextData>): ActorCallbackSetters<TContextData>;
707
+ setActorDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: ActorDispatcher<TContextData>): ActorCallbackSetters<TContextData>;
708
708
  /**
709
709
  * Registers an object dispatcher.
710
710
  *
@@ -768,7 +768,7 @@ interface Federatable<TContextData> {
768
768
  */
769
769
  setObjectDispatcher<TObject extends Object$1, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
770
770
  typeId: URL;
771
- }, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
771
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
772
772
  /**
773
773
  * Registers an object dispatcher.
774
774
  *
@@ -784,7 +784,7 @@ interface Federatable<TContextData> {
784
784
  */
785
785
  setObjectDispatcher<TObject extends Object$1, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
786
786
  typeId: URL;
787
- }, path: `${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
787
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
788
788
  /**
789
789
  * Registers an object dispatcher.
790
790
  *
@@ -800,7 +800,7 @@ interface Federatable<TContextData> {
800
800
  */
801
801
  setObjectDispatcher<TObject extends Object$1, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
802
802
  typeId: URL;
803
- }, path: `${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
803
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
804
804
  /**
805
805
  * Registers an inbox dispatcher.
806
806
  *
@@ -812,7 +812,7 @@ interface Federatable<TContextData> {
812
812
  * @param dispatcher An inbox dispatcher callback to register.
813
813
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
814
814
  */
815
- setInboxDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
815
+ setInboxDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
816
816
  /**
817
817
  * Registers an outbox dispatcher.
818
818
  *
@@ -836,7 +836,7 @@ interface Federatable<TContextData> {
836
836
  * @param dispatcher An outbox dispatcher callback to register.
837
837
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
838
838
  */
839
- setOutboxDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
839
+ setOutboxDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
840
840
  /**
841
841
  * Registers a following collection dispatcher.
842
842
  * @param path The URI path pattern for the following collection. The syntax
@@ -848,7 +848,7 @@ interface Federatable<TContextData> {
848
848
  * callbacks.
849
849
  * @throws {RouterError} Thrown if the path pattern is invalid.
850
850
  */
851
- setFollowingDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Actor | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
851
+ setFollowingDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Actor | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
852
852
  /**
853
853
  * Registers a followers collection dispatcher.
854
854
  * @param path The URI path pattern for the followers collection. The syntax
@@ -860,7 +860,7 @@ interface Federatable<TContextData> {
860
860
  * callbacks.
861
861
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
862
862
  */
863
- setFollowersDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Recipient, Context<TContextData>, TContextData, URL>): CollectionCallbackSetters<Context<TContextData>, TContextData, URL>;
863
+ setFollowersDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Recipient, Context<TContextData>, TContextData, URL>): CollectionCallbackSetters<Context<TContextData>, TContextData, URL>;
864
864
  /**
865
865
  * Registers a liked collection dispatcher.
866
866
  * @param path The URI path pattern for the liked collection. The syntax
@@ -872,7 +872,7 @@ interface Federatable<TContextData> {
872
872
  * callbacks.
873
873
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
874
874
  */
875
- setLikedDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Object$1 | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
875
+ setLikedDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Object$1 | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
876
876
  /**
877
877
  * Registers a featured collection dispatcher.
878
878
  * @param path The URI path pattern for the featured collection. The syntax
@@ -884,7 +884,7 @@ interface Federatable<TContextData> {
884
884
  * callbacks.
885
885
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
886
886
  */
887
- setFeaturedDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Object$1, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
887
+ setFeaturedDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Object$1, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
888
888
  /**
889
889
  * Registers a featured tags collection dispatcher.
890
890
  * @param path The URI path pattern for the featured tags collection.
@@ -896,7 +896,7 @@ interface Federatable<TContextData> {
896
896
  * callbacks.
897
897
  * @throws {@link RouterError} Thrown if the path pattern is invalid.
898
898
  */
899
- setFeaturedTagsDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Hashtag, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
899
+ setFeaturedTagsDispatcher(path: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, dispatcher: CollectionDispatcher<Hashtag, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
900
900
  /**
901
901
  * Assigns the URL path for the inbox and starts setting inbox listeners.
902
902
  *
@@ -926,7 +926,7 @@ interface Federatable<TContextData> {
926
926
  * @returns An object to register inbox listeners.
927
927
  * @throws {RouteError} Thrown if the path pattern is invalid.
928
928
  */
929
- setInboxListeners(inboxPath: `${string}{identifier}${string}` | `${string}{handle}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
929
+ setInboxListeners(inboxPath: `${string}${Rfc6570Expression<"identifier">}${string}` | `${string}${Rfc6570Expression<"handle">}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
930
930
  /**
931
931
  * Registers a collection of objects dispatcher.
932
932
  *
@@ -941,7 +941,43 @@ interface Federatable<TContextData> {
941
941
  * The path must have one or more variables.
942
942
  * @param dispatcher A collection dispatcher callback to register.
943
943
  */
944
- setCollectionDispatcher<TObject extends Object$1, TParams extends Record<string, string>>(name: string | symbol, itemType: ConstructorWithTypeId<TObject>, path: ParamsKeyPath<TParams>, dispatcher: CustomCollectionDispatcher<TObject, TParams, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParams, RequestContext<TContextData>, TContextData>;
944
+ setCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
945
+ typeId: URL;
946
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
947
+ /**
948
+ * Registers a collection of objects dispatcher.
949
+ *
950
+ * @template TContextData The context data to pass to the {@link Context}.
951
+ * @template TObject The type of objects to dispatch.
952
+ * @template TParam The parameter names of the requested URL.
953
+ * @param name A unique name for the collection dispatcher.
954
+ * @param itemType The Activity Vocabulary class of the object to dispatch.
955
+ * @param path The URI path pattern for the collection dispatcher.
956
+ * The syntax is based on URI Template
957
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
958
+ * The path must have one or more variables.
959
+ * @param dispatcher A collection dispatcher callback to register.
960
+ */
961
+ setCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
962
+ typeId: URL;
963
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
964
+ /**
965
+ * Registers a collection of objects dispatcher.
966
+ *
967
+ * @template TContextData The context data to pass to the {@link Context}.
968
+ * @template TObject The type of objects to dispatch.
969
+ * @template TParam The parameter names of the requested URL.
970
+ * @param name A unique name for the collection dispatcher.
971
+ * @param itemType The Activity Vocabulary class of the object to dispatch.
972
+ * @param path The URI path pattern for the collection dispatcher.
973
+ * The syntax is based on URI Template
974
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
975
+ * The path must have one or more variables.
976
+ * @param dispatcher A collection dispatcher callback to register.
977
+ */
978
+ setCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
979
+ typeId: URL;
980
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
945
981
  /**
946
982
  * Registers an ordered collection of objects dispatcher.
947
983
  *
@@ -956,7 +992,43 @@ interface Federatable<TContextData> {
956
992
  * The path must have one or more variables.
957
993
  * @param dispatcher A collection dispatcher callback to register.
958
994
  */
959
- setOrderedCollectionDispatcher<TObject extends Object$1, TParams extends Record<string, string>>(name: string | symbol, itemType: ConstructorWithTypeId<TObject>, path: ParamsKeyPath<TParams>, dispatcher: CustomCollectionDispatcher<TObject, TParams, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParams, RequestContext<TContextData>, TContextData>;
995
+ setOrderedCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
996
+ typeId: URL;
997
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
998
+ /**
999
+ * Registers an ordered collection of objects dispatcher.
1000
+ *
1001
+ * @template TContextData The context data to pass to the {@link Context}.
1002
+ * @template TObject The type of objects to dispatch.
1003
+ * @template TParam The parameter names of the requested URL.
1004
+ * @param name A unique name for the collection dispatcher.
1005
+ * @param itemType The Activity Vocabulary class of the object to dispatch.
1006
+ * @param path The URI path pattern for the collection dispatcher.
1007
+ * The syntax is based on URI Template
1008
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
1009
+ * The path must have one or more variables.
1010
+ * @param dispatcher A collection dispatcher callback to register.
1011
+ */
1012
+ setOrderedCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
1013
+ typeId: URL;
1014
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
1015
+ /**
1016
+ * Registers an ordered collection of objects dispatcher.
1017
+ *
1018
+ * @template TContextData The context data to pass to the {@link Context}.
1019
+ * @template TObject The type of objects to dispatch.
1020
+ * @template TParam The parameter names of the requested URL.
1021
+ * @param name A unique name for the collection dispatcher.
1022
+ * @param itemType The Activity Vocabulary class of the object to dispatch.
1023
+ * @param path The URI path pattern for the collection dispatcher.
1024
+ * The syntax is based on URI Template
1025
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
1026
+ * The path must have one or more variables.
1027
+ * @param dispatcher A collection dispatcher callback to register.
1028
+ */
1029
+ setOrderedCollectionDispatcher<TObject extends Object$1, TParam extends string>(name: string | symbol, itemType: (new (...args: any[]) => TObject) & {
1030
+ typeId: URL;
1031
+ }, path: `${string}${Rfc6570Expression<TParam>}${string}`, dispatcher: CustomCollectionDispatcher<TObject, TParam, RequestContext<TContextData>, TContextData>): CustomCollectionCallbackSetters<TParam, RequestContext<TContextData>, TContextData>;
960
1032
  }
961
1033
  /**
962
1034
  * An object that registers federation-related business logic and dispatches
@@ -1440,38 +1512,38 @@ interface FederationFetchOptions<TContextData> {
1440
1512
  /**
1441
1513
  * Additional settings for a custom collection dispatcher.
1442
1514
  *
1443
- * @template TParams The type of the parameters in the URL path.
1515
+ * @template TParam The type of the parameters in the URL path.
1444
1516
  * @template TContext The type of the context. {@link Context} or
1445
1517
  * {@link RequestContext}.
1446
1518
  * @template TContextData The context data to pass to the {@link Context}.
1447
1519
  * @template TFilter The type of filter for the collection.
1448
1520
  */
1449
- interface CustomCollectionCallbackSetters<TParams extends Record<string, string>, TContext extends Context<TContextData>, TContextData> {
1521
+ interface CustomCollectionCallbackSetters<TParam extends string, TContext extends Context<TContextData>, TContextData> {
1450
1522
  /**
1451
1523
  * Sets the counter for the custom collection.
1452
1524
  * @param counter A callback that returns the number of items in the custom collection.
1453
1525
  * @returns The setters object so that settings can be chained.
1454
1526
  */
1455
- setCounter(counter: CustomCollectionCounter<TParams, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1527
+ setCounter(counter: CustomCollectionCounter<TParam, TContextData>): CustomCollectionCallbackSetters<TParam, TContext, TContextData>;
1456
1528
  /**
1457
1529
  * Sets the first cursor for the custom collection.
1458
1530
  * @param cursor The cursor for the first item in the custom collection.
1459
1531
  * @returns The setters object so that settings can be chained.
1460
1532
  */
1461
- setFirstCursor(cursor: CustomCollectionCursor<TParams, TContext, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1533
+ setFirstCursor(cursor: CustomCollectionCursor<TParam, TContext, TContextData>): CustomCollectionCallbackSetters<TParam, TContext, TContextData>;
1462
1534
  /**
1463
1535
  * Sets the last cursor for the custom collection.
1464
1536
  * @param cursor The cursor for the last item in the custom collection.
1465
1537
  * @returns The setters object so that settings can be chained.
1466
1538
  */
1467
- setLastCursor(cursor: CustomCollectionCursor<TParams, TContext, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1539
+ setLastCursor(cursor: CustomCollectionCursor<TParam, TContext, TContextData>): CustomCollectionCallbackSetters<TParam, TContext, TContextData>;
1468
1540
  /**
1469
1541
  * Specifies the conditions under which requests are authorized.
1470
1542
  * @param predicate A callback that returns whether a request is authorized.
1471
1543
  * @returns The setters object so that settings can be chained.
1472
1544
  * @since 0.7.0
1473
1545
  */
1474
- authorize(predicate: ObjectAuthorizePredicate<TContextData, string>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1546
+ authorize(predicate: ObjectAuthorizePredicate<TContextData, string>): CustomCollectionCallbackSetters<TParam, TContext, TContextData>;
1475
1547
  }
1476
1548
  /**
1477
1549
  * Represents an object with a type ID, which is either a constructor or an
@@ -1483,73 +1555,34 @@ type ConstructorWithTypeId<TObject extends Object$1> = (new (...args: any[]) =>
1483
1555
  typeId: URL;
1484
1556
  };
1485
1557
  /**
1486
- * Represents a path from the key of parameter objects.
1487
- * @param Params - A record of parameters where keys are parameter names and
1488
- * values are their string representations.
1489
- * @returns A string representing the path with all parameters.
1490
- * @example
1491
- * ```ts
1492
- * type UserPostPath = ParamsKeyPath<{ userId: string; postId: string }>;
1493
- * let userPostPath: UserPostPath;
1494
- * // userPostPath = "/posts/{postId}"; // invalid - does not contain `{userId}`
1495
- * // userPostPath = "/users/{userId}"; // invalid - does not contain `{postId}`
1496
- * userPostPath = "/users/{userId}/posts/{postId}"; // valid
1497
- * userPostPath = "/posts/{postId}/users/{userId}"; // valid
1498
- * ```
1499
- */
1500
- type ParamsKeyPath<Params extends Record<string, string>> = ParamsPath<Extract<keyof Params, string>> & string;
1501
- /**
1502
- * Represents a path with multiple parameters.
1503
- * All permutations of the parameters are included in the union type.
1504
- * The path must have all parameters in the form of `{paramName}`.
1505
- * @param Params - A union of parameter names.
1506
- * @returns A string representing the path with all parameters.
1507
- * @example
1508
- * ```ts
1509
- * type UserPostPath = ParamsPath<"userId" | "postId">;
1510
- * // = `${string}{userId}${string}` & `${string}{postId}${string}`
1511
- * // =
1512
- * // | `${string}{userId}${string}{postId}${string}`
1513
- * // | `${string}{postId}${string}{userId}${string}`
1514
- * let userPostPath: UserPostPath;
1515
- * userPostPath = "/users/posts"; // ❌ invalid
1516
- * userPostPath = "/users/{userId}"; // ❌ invalid
1517
- * userPostPath = "/posts/{postId}"; // ❌ invalid
1518
- * userPostPath = "/users/{userId}/posts/{postId}"; // ✅ valid
1519
- * userPostPath = "/posts/{postId}/users/{userId}"; // ✅ valid
1520
- */
1521
- type ParamsPath<Params extends string> = UnionToIntersection<ParamPath<Params>>;
1522
- /**
1523
- * Represents a path with a single parameter.
1524
- * The path must have at least one of the parameters in the form of `{paramName}`.
1525
- * @param Param - The name of the parameter.
1526
- * @returns A string representing the path with the parameter.
1527
- * @example
1528
- * ```ts
1529
- * type UserPostPath = ParamPath<"userId" | "postId">;
1530
- * // = `${string}{userId}${string}` | `${string}{postId}${string}`
1531
- * let userPostPath: UserPostPath;
1532
- * userPostPath = "/users/posts"; // ❌ invalid
1533
- * userPostPath = "/users/{userId}"; // ✅ valid
1534
- * userPostPath = "/posts/{postId}"; // ✅ valid
1535
- * userPostPath = "/users/{userId}/posts/{postId}"; // ✅ valid
1536
- * userPostPath = "/posts/{postId}/users/{userId}"; // ✅ valid
1537
- */
1538
- type ParamPath<Param extends string> = `${string}{${Param}}${string}`;
1539
- /**
1540
- * Converts union types to intersection types.
1558
+ * Defines a union of all valid RFC 6570 URI Template expressions for a given
1559
+ * parameter name.
1541
1560
  *
1542
- * @template U - The union type to convert.
1543
- * @returns The intersection type of the union.
1561
+ * RFC 6570 specifies a syntax for URI templates, allowing for variable
1562
+ * expansion. This type captures all Level 1-4 operator expressions for a
1563
+ * single, named variable.
1564
+ *
1565
+ * The supported expression types are:
1566
+ * - `{Param}`: Simple string expansion
1567
+ * - `+{Param}`: Reserved string expansion
1568
+ * - `#{Param}`: Fragment expansion
1569
+ * - `{.Param}`: Label expansion with a dot-prefix
1570
+ * - `{/Param}`: Path segment expansion
1571
+ * - `{;Param}`: Path-style parameter expansion
1572
+ * - `{?Param}`: Query component expansion
1573
+ * - `{&Param}`: Query continuation expansion
1574
+ *
1575
+ * @template Param The name of the parameter to be used in the expressions.
1544
1576
  * @example
1545
1577
  * ```ts
1546
- * type A = { a: string };
1547
- * type B = { b: number };
1548
- * type AorB = A | B;
1549
- * type AandB = UnionToIntersection<AorB>;
1550
- * // AandB = { a: string; b: number }
1578
+ * type UserIdExpression = Rfc6570Expression<"userId">;
1579
+ *
1580
+ * // The variable `userPath` can be assigned any of the valid expressions.
1581
+ * const userPath: UserIdExpression = "{/userId}";
1582
+ * ```
1583
+ * @see {@link https://tools.ietf.org/html/rfc6570} for the full specification.
1551
1584
  */
1552
- type UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends ((x: infer I) => void) ? I : never;
1585
+ type Rfc6570Expression<Param extends string> = `{${Param}}` | `{+${Param}}` | `{#${Param}}` | `{.${Param}}` | `{/${Param}}` | `{;${Param}}` | `{?${Param}}` | `{&${Param}}`;
1553
1586
  //#endregion
1554
1587
  //#region src/federation/context.d.ts
1555
1588
  /**
@@ -2320,4 +2353,4 @@ interface ActorKeyPair extends CryptoKeyPair {
2320
2353
  multikey: Multikey;
2321
2354
  }
2322
2355
  //#endregion
2323
- export { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
2356
+ export { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };