@fedify/fedify 1.8.1-pr.332.1180 → 1.8.1-pr.334.1193

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 (86) hide show
  1. package/dist/{actor-CHLBVvcc.js → actor-BxYrc06V.js} +179 -179
  2. package/dist/{actor-DY2jOBlC.js → actor-CeBMq8qR.js} +1 -1
  3. package/dist/{authdocloader-Mr-8Pvno.js → authdocloader-D64rqKxU.js} +3 -3
  4. package/dist/{authdocloader-CnPexSez.js → authdocloader-mGQvrIQ2.js} +3 -3
  5. package/dist/{builder-AQzzgVb7.js → builder-BMWyrhEH.js} +4 -43
  6. package/dist/{client-DrErxHbD.js → client-CTC5x_Sz.js} +1 -1
  7. package/dist/compat/mod.d.ts +2 -2
  8. package/dist/compat/transformers.test.js +16 -16
  9. package/dist/{context-72aRESIE.d.ts → context-B6mUZhs_.d.ts} +1 -214
  10. package/dist/{docloader-BMNjmXei.js → docloader-BU0Mbf3M.js} +1 -1
  11. package/dist/{esm-CkeX4Z_e.js → esm-LMB9p-G5.js} +1 -1
  12. package/dist/federation/builder.test.js +5 -5
  13. package/dist/federation/collection.test.js +3 -3
  14. package/dist/federation/handler.test.js +17 -327
  15. package/dist/federation/inbox.test.js +4 -4
  16. package/dist/federation/keycache.test.js +4 -4
  17. package/dist/federation/kv.test.js +3 -3
  18. package/dist/federation/middleware.test.js +18 -19
  19. package/dist/federation/mod.d.ts +2 -2
  20. package/dist/federation/mod.js +10 -10
  21. package/dist/federation/mq.test.js +3 -3
  22. package/dist/federation/retry.test.js +3 -3
  23. package/dist/federation/router.test.js +3 -3
  24. package/dist/federation/send.test.js +10 -10
  25. package/dist/{http-B9bZVfoW.js → http-CYR3mIVn.js} +3 -3
  26. package/dist/{http-BEKI5Hou.js → http-D3g0NXG1.js} +2 -2
  27. package/dist/{inbox-DdH5OssY.js → inbox-CKssCQNk.js} +1 -1
  28. package/dist/{key-ClRK_LNW.js → key-BBZcKCrH.js} +2 -2
  29. package/dist/{key-CF4gUN_w.js → key-CmOXs0Mq.js} +3 -3
  30. package/dist/{key-BkDKGtUZ.js → key-CuNvhgVd.js} +4 -4
  31. package/dist/{key-_t2XvsRR.js → key-YOEsvep6.js} +2 -2
  32. package/dist/{keycache-C1F4HMt-.js → keycache-DGObidvq.js} +1 -1
  33. package/dist/{keys-3zMMlZii.js → keys-CPhbsrsX.js} +1 -1
  34. package/dist/{ld-DQJTs3PX.js → ld-D8ugSU-x.js} +2 -2
  35. package/dist/{lookup-DmrIfsZE.js → lookup-B0_qPExk.js} +1 -1
  36. package/dist/{lookup-BbrpqrfQ.js → lookup-rBByGTyy.js} +1 -1
  37. package/dist/{middleware-CTkxtnv3.js → middleware-B_To0NZ3.js} +10 -590
  38. package/dist/middleware-DbDzHrt7.js +17 -0
  39. package/dist/middleware-JUbAKlS5.js +26 -0
  40. package/dist/{middleware-DlG0C99f.js → middleware-u2WBeCjB.js} +14 -555
  41. package/dist/{mod-OU0GgfW6.d.ts → mod-D9qE4iHP.d.ts} +1 -1
  42. package/dist/mod.d.ts +3 -3
  43. package/dist/mod.js +10 -10
  44. package/dist/nodeinfo/client.test.js +5 -5
  45. package/dist/nodeinfo/handler.test.js +16 -16
  46. package/dist/nodeinfo/mod.js +2 -2
  47. package/dist/nodeinfo/semver.test.js +3 -3
  48. package/dist/nodeinfo/types.test.js +3 -3
  49. package/dist/{owner-DKd1nYEb.js → owner-D1TBvEbO.js} +2 -2
  50. package/dist/{proof-NSkkFrOi.js → proof-CUsFh6B-.js} +3 -3
  51. package/dist/{proof-Dk0reBe7.js → proof-CyWfFsKS.js} +2 -2
  52. package/dist/runtime/authdocloader.test.js +9 -9
  53. package/dist/runtime/docloader.test.js +4 -4
  54. package/dist/runtime/key.test.js +5 -5
  55. package/dist/runtime/langstr.test.js +3 -3
  56. package/dist/runtime/mod.js +6 -6
  57. package/dist/runtime/multibase/multibase.test.js +3 -3
  58. package/dist/runtime/url.test.js +3 -3
  59. package/dist/{send-D1L-K83i.js → send-CrjrTnXW.js} +2 -2
  60. package/dist/sig/http.test.js +8 -8
  61. package/dist/sig/key.test.js +6 -6
  62. package/dist/sig/ld.test.js +7 -7
  63. package/dist/sig/mod.js +6 -6
  64. package/dist/sig/owner.test.js +7 -7
  65. package/dist/sig/proof.test.js +7 -7
  66. package/dist/testing/docloader.test.js +3 -3
  67. package/dist/testing/mod.d.ts +0 -212
  68. package/dist/testing/mod.js +3 -3
  69. package/dist/{testing-3xSoXkQB.js → testing-CROcCUCq.js} +3 -4
  70. package/dist/{type-Dx19jzWd.js → type-DGlR8Urb.js} +179 -179
  71. package/dist/{types-Yo_BljxV.js → types-DZdBK266.js} +1 -1
  72. package/dist/vocab/actor.test.js +5 -5
  73. package/dist/vocab/lookup.test.js +4 -4
  74. package/dist/vocab/mod.js +4 -4
  75. package/dist/vocab/type.test.js +3 -3
  76. package/dist/vocab/vocab.test.js +4 -4
  77. package/dist/{vocab-CgUKDr2G.js → vocab-BLQ-_oLb.js} +3 -3
  78. package/dist/webfinger/handler.test.js +16 -16
  79. package/dist/webfinger/lookup.test.js +4 -4
  80. package/dist/webfinger/mod.js +2 -2
  81. package/dist/x/cfworkers.test.js +3 -3
  82. package/dist/x/hono.d.ts +1 -1
  83. package/dist/x/sveltekit.d.ts +1 -1
  84. package/package.json +1 -1
  85. package/dist/middleware-CHIEcZ7h.js +0 -17
  86. package/dist/middleware-DPT6Ob5T.js +0 -26
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Application, Group, Organization, Person, Service, deno_default, getTypeId, lookupWebFinger } from "./type-Dx19jzWd.js";
6
+ import { Application, Group, Organization, Person, Service, deno_default, getTypeId, lookupWebFinger } from "./type-DGlR8Urb.js";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { domainToASCII, domainToUnicode } from "node:url";
9
9
 
@@ -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-Dx19jzWd.js";
7
- import { validateCryptoKey } from "./key-_t2XvsRR.js";
8
- import { doubleKnock } from "./http-BEKI5Hou.js";
6
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./type-DGlR8Urb.js";
7
+ import { validateCryptoKey } from "./key-YOEsvep6.js";
8
+ import { doubleKnock } from "./http-D3g0NXG1.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
 
11
11
  //#region 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-BMNjmXei.js";
6
- import { validateCryptoKey } from "./key-ClRK_LNW.js";
7
- import { doubleKnock } from "./http-B9bZVfoW.js";
5
+ import { UrlError, createRequest, getRemoteDocument, logRequest, validatePublicUrl } from "./docloader-BU0Mbf3M.js";
6
+ import { validateCryptoKey } from "./key-BBZcKCrH.js";
7
+ import { doubleKnock } from "./http-CYR3mIVn.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
10
10
  //#region 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-Dx19jzWd.js";
7
- import { Router, RouterError } from "./lookup-DmrIfsZE.js";
8
- import { InboxListenerSet } from "./inbox-DdH5OssY.js";
6
+ import { deno_default, getTypeId } from "./type-DGlR8Urb.js";
7
+ import { Router, RouterError } from "./lookup-B0_qPExk.js";
8
+ import { InboxListenerSet } from "./inbox-CKssCQNk.js";
9
9
  import { getLogger } from "@logtape/logtape";
10
10
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
11
11
 
@@ -27,17 +27,13 @@ var FederationBuilderImpl = class {
27
27
  inboxListeners;
28
28
  inboxErrorHandler;
29
29
  sharedInboxKeyDispatcher;
30
- collectionTypeIds;
31
- collectionCallbacks;
32
30
  constructor() {
33
31
  this.router = new Router();
34
32
  this.objectCallbacks = {};
35
33
  this.objectTypeIds = {};
36
- this.collectionCallbacks = {};
37
- this.collectionTypeIds = {};
38
34
  }
39
35
  async build(options) {
40
- const { FederationImpl } = await import("./middleware-DPT6Ob5T.js");
36
+ const { FederationImpl } = await import("./middleware-JUbAKlS5.js");
41
37
  const f = new FederationImpl(options);
42
38
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
43
39
  f.router = this.router.clone();
@@ -481,41 +477,6 @@ var FederationBuilderImpl = class {
481
477
  };
482
478
  return setters;
483
479
  }
484
- setCollectionDispatcher(name, ...args) {
485
- return this.#setCustomCollectionDispatcher(name, "collection", ...args);
486
- }
487
- setOrderedCollectionDispatcher(name, ...args) {
488
- return this.#setCustomCollectionDispatcher(name, "orderedCollection", ...args);
489
- }
490
- #setCustomCollectionDispatcher(name, collectionType, itemType, path, dispatcher) {
491
- const routeName = `${collectionType}:${String(name)}`;
492
- if (this.router.has(routeName)) throw new RouterError(`Collection dispatcher for ${String(name)} already set.`);
493
- if (this.collectionCallbacks[name] != null) throw new RouterError(`Collection dispatcher for ${String(name)} already set.`);
494
- const variables = this.router.add(path, routeName);
495
- if (variables.size < 1) throw new RouterError("Path for collection dispatcher must have at least one variable.");
496
- const callbacks = { dispatcher };
497
- this.collectionCallbacks[name] = callbacks;
498
- this.collectionTypeIds[name] = itemType;
499
- const setters = {
500
- setCounter(counter) {
501
- callbacks.counter = counter;
502
- return setters;
503
- },
504
- setFirstCursor(cursor) {
505
- callbacks.firstCursor = cursor;
506
- return setters;
507
- },
508
- setLastCursor(cursor) {
509
- callbacks.lastCursor = cursor;
510
- return setters;
511
- },
512
- authorize(predicate) {
513
- callbacks.authorizePredicate = predicate;
514
- return setters;
515
- }
516
- };
517
- return setters;
518
- }
519
480
  };
520
481
  /**
521
482
  * Creates a new {@link FederationBuilder} instance.
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getUserAgent } from "./type-Dx19jzWd.js";
6
+ import { getUserAgent } from "./type-DGlR8Urb.js";
7
7
  import { parseSemVer } from "./semver-DCqorrj5.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
 
@@ -9,7 +9,7 @@ import "../http-D1uoUH4N.js";
9
9
  import "../owner-CEv_PfyK.js";
10
10
  import "../mod-BFwgZ7_K.js";
11
11
  import "../lookup-J_m4YZg0.js";
12
- import { ActivityTransformer } from "../context-72aRESIE.js";
12
+ import { ActivityTransformer } from "../context-B6mUZhs_.js";
13
13
  import "../mq-DYKDDJmp.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-OU0GgfW6.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "../mod-D9qE4iHP.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-Dx19jzWd.js";
6
+ import { Follow, Person } from "../type-DGlR8Urb.js";
7
7
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
8
8
  import { assert } from "../assert-DwEa6glZ.js";
9
9
  import { assertInstanceOf } from "../assert_instance_of-C9QtN-X9.js";
10
10
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
11
- import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-DlG0C99f.js";
11
+ import { FederationImpl, actorDehydrator, autoIdAssigner } from "../middleware-u2WBeCjB.js";
12
12
  import "../semver-DCqorrj5.js";
13
- import "../client-DrErxHbD.js";
14
- import "../lookup-DmrIfsZE.js";
13
+ import "../client-CTC5x_Sz.js";
14
+ import "../lookup-B0_qPExk.js";
15
15
  import "../types-n7HI7VFr.js";
16
- import "../actor-DY2jOBlC.js";
17
- import "../key-_t2XvsRR.js";
18
- import "../http-BEKI5Hou.js";
19
- import "../authdocloader-Mr-8Pvno.js";
20
- import "../ld-DQJTs3PX.js";
21
- import "../owner-DKd1nYEb.js";
22
- import "../proof-Dk0reBe7.js";
23
- import "../inbox-DdH5OssY.js";
24
- import "../builder-AQzzgVb7.js";
16
+ import "../actor-CeBMq8qR.js";
17
+ import "../key-YOEsvep6.js";
18
+ import "../http-D3g0NXG1.js";
19
+ import "../authdocloader-D64rqKxU.js";
20
+ import "../ld-D8ugSU-x.js";
21
+ import "../owner-D1TBvEbO.js";
22
+ import "../proof-CyWfFsKS.js";
23
+ import "../inbox-CKssCQNk.js";
24
+ import "../builder-BMWyrhEH.js";
25
25
  import "../collection-D5V3UzU3.js";
26
- import "../keycache-C1F4HMt-.js";
26
+ import "../keycache-DGObidvq.js";
27
27
  import "../retry-BnpVRGFC.js";
28
- import "../send-D1L-K83i.js";
29
- import { test } from "../testing-3xSoXkQB.js";
28
+ import "../send-CrjrTnXW.js";
29
+ import { test } from "../testing-CROcCUCq.js";
30
30
 
31
31
  //#region compat/transformers.test.ts
32
32
  const federation = new FederationImpl({ kv: new MemoryKvStore() });
@@ -260,48 +260,8 @@ type AuthorizePredicate<TContextData> = (context: RequestContext<TContextData>,
260
260
  * @since 0.7.0
261
261
  */
262
262
  type ObjectAuthorizePredicate<TContextData, TParam extends string> = (context: RequestContext<TContextData>, values: Record<TParam, string>, signedKey: CryptographicKey | null, signedKeyOwner: Actor | null) => boolean | Promise<boolean>;
263
- /**
264
- * A callback that dispatches a custom collection.
265
- *
266
- * @typeParam TItem The type of items in the collection.
267
- * @typeParam TParams The parameter names of the requested URL.
268
- * @typeParam TContext The type of the context. {@link Context} or
269
- * {@link RequestContext}.
270
- * @typeParam TContextData The context data to pass to the `TContext`.
271
- * @typeParam TFilter The type of the filter, if any.
272
- * @param context The context.
273
- * @param values The parameters of the requested URL.
274
- * @param cursor The cursor to start the collection from, or `null` to dispatch
275
- * the entire collection without pagination.
276
- * @since 1.8.0
277
- */
278
- 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>;
279
- /**
280
- * A callback that counts the number of items in a custom collection.
281
- *
282
- * @typeParam TParams The parameter names of the requested URL.
283
- * @typeParam TContextData The context data to pass to the {@link Context}.
284
- * @param context The context.
285
- * @param values The parameters of the requested URL.
286
- * @since 1.8.0
287
- */
288
- type CustomCollectionCounter<TParams extends Record<string, string>, TContextData> = (context: RequestContext<TContextData>, values: TParams) => number | bigint | null | Promise<number | bigint | null>;
289
- /**
290
- * A callback that returns a cursor for a custom collection.
291
- *
292
- * @typeParam TParams The parameter names of the requested URL.
293
- * @typeParam TContext The type of the context. {@link Context} or
294
- * {@link RequestContext}.
295
- * @typeParam TContextData The context data to pass to the {@link Context}.
296
- * @typeParam TFilter The type of the filter, if any.
297
- * @param context The context.
298
- * @param values The parameters of the requested URL.
299
- * @since 1.8.0
300
- */
301
- type CustomCollectionCursor<TParams extends Record<string, string>, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: TParams) => string | null | Promise<string | null>;
302
263
  //#endregion
303
264
  //#region federation/handler.d.ts
304
-
305
265
  /**
306
266
  * Options for the {@link respondWithObject} and
307
267
  * {@link respondWithObjectIfAcceptable} functions.
@@ -914,36 +874,6 @@ interface Federatable<TContextData> {
914
874
  * @throws {RouteError} Thrown if the path pattern is invalid.
915
875
  */
916
876
  setInboxListeners(inboxPath: `${string}{identifier}${string}` | `${string}{handle}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
917
- /**
918
- * Registers a collection of objects dispatcher.
919
- *
920
- * @typeParam TContextData The context data to pass to the {@link Context}.
921
- * @typeParam TObject The type of objects to dispatch.
922
- * @typeParam TParam The parameter names of the requested URL.
923
- * @param name A unique name for the collection dispatcher.
924
- * @param itemType The Activity Vocabulary class of the object to dispatch.
925
- * @param path The URI path pattern for the collection dispatcher.
926
- * The syntax is based on URI Template
927
- * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
928
- * The path must have one or more variables.
929
- * @param dispatcher A collection dispatcher callback to register.
930
- */
931
- 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>;
932
- /**
933
- * Registers an ordered collection of objects dispatcher.
934
- *
935
- * @typeParam TContextData The context data to pass to the {@link Context}.
936
- * @typeParam TObject The type of objects to dispatch.
937
- * @typeParam TParam The parameter names of the requested URL.
938
- * @param name A unique name for the collection dispatcher.
939
- * @param itemType The Activity Vocabulary class of the object to dispatch.
940
- * @param path The URI path pattern for the collection dispatcher.
941
- * The syntax is based on URI Template
942
- * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
943
- * The path must have one or more variables.
944
- * @param dispatcher A collection dispatcher callback to register.
945
- */
946
- 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>;
947
877
  }
948
878
  /**
949
879
  * An object that registers federation-related business logic and dispatches
@@ -1364,119 +1294,6 @@ interface FederationFetchOptions<TContextData> {
1364
1294
  */
1365
1295
  onUnauthorized?: (request: Request) => Response | Promise<Response>;
1366
1296
  }
1367
- /**
1368
- * Additional settings for a custom collection dispatcher.
1369
- *
1370
- * @typeParam TParams The type of the parameters in the URL path.
1371
- * @typeParam TContext The type of the context. {@link Context} or
1372
- * {@link RequestContext}.
1373
- * @typeParam TContextData The context data to pass to the {@link Context}.
1374
- * @typeParam TFilter The type of filter for the collection.
1375
- */
1376
- interface CustomCollectionCallbackSetters<TParams extends Record<string, string>, TContext extends Context<TContextData>, TContextData> {
1377
- /**
1378
- * Sets the counter for the custom collection.
1379
- * @param counter A callback that returns the number of items in the custom collection.
1380
- * @returns The setters object so that settings can be chained.
1381
- */
1382
- setCounter(counter: CustomCollectionCounter<TParams, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1383
- /**
1384
- * Sets the first cursor for the custom collection.
1385
- * @param cursor The cursor for the first item in the custom collection.
1386
- * @returns The setters object so that settings can be chained.
1387
- */
1388
- setFirstCursor(cursor: CustomCollectionCursor<TParams, TContext, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1389
- /**
1390
- * Sets the last cursor for the custom collection.
1391
- * @param cursor The cursor for the last item in the custom collection.
1392
- * @returns The setters object so that settings can be chained.
1393
- */
1394
- setLastCursor(cursor: CustomCollectionCursor<TParams, TContext, TContextData>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1395
- /**
1396
- * Specifies the conditions under which requests are authorized.
1397
- * @param predicate A callback that returns whether a request is authorized.
1398
- * @returns The setters object so that settings can be chained.
1399
- * @since 0.7.0
1400
- */
1401
- authorize(predicate: ObjectAuthorizePredicate<TContextData, string>): CustomCollectionCallbackSetters<TParams, TContext, TContextData>;
1402
- }
1403
- /**
1404
- * Represents an object with a type ID, which is either a constructor or an
1405
- * instance of the object.
1406
- *
1407
- * @typeParam TObject The type of the object.
1408
- */
1409
- type ConstructorWithTypeId<TObject extends Object$1> = (new (...args: any[]) => TObject) & {
1410
- typeId: URL;
1411
- };
1412
- /**
1413
- * Represents a path from the key of parameter objects.
1414
- * @param Params - A record of parameters where keys are parameter names and
1415
- * values are their string representations.
1416
- * @returns A string representing the path with all parameters.
1417
- * @example
1418
- * ```ts
1419
- * type UserPostPath = ParamsKeyPath<{ userId: string; postId: string }>;
1420
- * let userPostPath: UserPostPath;
1421
- * // userPostPath = "/posts/{postId}"; // invalid - does not contain `{userId}`
1422
- * // userPostPath = "/users/{userId}"; // invalid - does not contain `{postId}`
1423
- * userPostPath = "/users/{userId}/posts/{postId}"; // valid
1424
- * userPostPath = "/posts/{postId}/users/{userId}"; // valid
1425
- * ```
1426
- */
1427
- type ParamsKeyPath<Params extends Record<string, string>> = ParamsPath<Extract<keyof Params, string>> & string;
1428
- /**
1429
- * Represents a path with multiple parameters.
1430
- * All permutations of the parameters are included in the union type.
1431
- * The path must have all parameters in the form of `{paramName}`.
1432
- * @param Params - A union of parameter names.
1433
- * @returns A string representing the path with all parameters.
1434
- * @example
1435
- * ```ts
1436
- * type UserPostPath = ParamsPath<"userId" | "postId">;
1437
- * // = `${string}{userId}${string}` & `${string}{postId}${string}`
1438
- * // =
1439
- * // | `${string}{userId}${string}{postId}${string}`
1440
- * // | `${string}{postId}${string}{userId}${string}`
1441
- * let userPostPath: UserPostPath;
1442
- * userPostPath = "/users/posts"; // ❌ invalid
1443
- * userPostPath = "/users/{userId}"; // ❌ invalid
1444
- * userPostPath = "/posts/{postId}"; // ❌ invalid
1445
- * userPostPath = "/users/{userId}/posts/{postId}"; // ✅ valid
1446
- * userPostPath = "/posts/{postId}/users/{userId}"; // ✅ valid
1447
- */
1448
- type ParamsPath<Params extends string> = UnionToIntersection<ParamPath<Params>>;
1449
- /**
1450
- * Represents a path with a single parameter.
1451
- * The path must have at least one of the parameters in the form of `{paramName}`.
1452
- * @param Param - The name of the parameter.
1453
- * @returns A string representing the path with the parameter.
1454
- * @example
1455
- * ```ts
1456
- * type UserPostPath = ParamPath<"userId" | "postId">;
1457
- * // = `${string}{userId}${string}` | `${string}{postId}${string}`
1458
- * let userPostPath: UserPostPath;
1459
- * userPostPath = "/users/posts"; // ❌ invalid
1460
- * userPostPath = "/users/{userId}"; // ✅ valid
1461
- * userPostPath = "/posts/{postId}"; // ✅ valid
1462
- * userPostPath = "/users/{userId}/posts/{postId}"; // ✅ valid
1463
- * userPostPath = "/posts/{postId}/users/{userId}"; // ✅ valid
1464
- */
1465
- type ParamPath<Param extends string> = `${string}{${Param}}${string}`;
1466
- /**
1467
- * Converts union types to intersection types.
1468
- *
1469
- * @typeParam U - The union type to convert.
1470
- * @returns The intersection type of the union.
1471
- * @example
1472
- * ```ts
1473
- * type A = { a: string };
1474
- * type B = { b: number };
1475
- * type AorB = A | B;
1476
- * type AandB = UnionToIntersection<AorB>;
1477
- * // AandB = { a: string; b: number }
1478
- */
1479
- type UnionToIntersection<U> = (U extends unknown ? (x: U) => void : never) extends ((x: infer I) => void) ? I : never;
1480
1297
  //#endregion
1481
1298
  //#region federation/context.d.ts
1482
1299
  /**
@@ -1831,16 +1648,6 @@ interface Context<TContextData> {
1831
1648
  * @since 1.3.0
1832
1649
  */
1833
1650
  routeActivity(recipient: string | null, activity: Activity, options?: RouteActivityOptions): Promise<boolean>;
1834
- /**
1835
- * Builds the URI of a collection of objects with the given name and values.
1836
- * @param name The name of the collection, which can be a string or a symbol.
1837
- * @param values The values of the URI parameters.
1838
- * @return The URI of the collection.
1839
- * @throws {RouteError} If no object dispatcher is available for the name.
1840
- * @throws {TypeError} If values are invalid.
1841
- * @since 1.8.0
1842
- */
1843
- getCollectionUri<TParam extends Record<string, string>>(name: string | symbol, values: TParam): URL;
1844
1651
  }
1845
1652
  /**
1846
1653
  * A context for a request.
@@ -2091,26 +1898,6 @@ type ParseUriResult =
2091
1898
  readonly type: "featuredTags";
2092
1899
  readonly identifier: string;
2093
1900
  readonly handle: string;
2094
- }
2095
- /**
2096
- * The case of a custom collection URI.
2097
- * @since 1.8.0
2098
- */ | {
2099
- readonly type: "collection";
2100
- readonly name: string | symbol;
2101
- readonly class: ConstructorWithTypeId<Object$1>;
2102
- readonly typeId: URL;
2103
- readonly values: Record<string, string>;
2104
- }
2105
- /**
2106
- * The case of a custom ordered collection URI.
2107
- * @since 1.8.0
2108
- */ | {
2109
- readonly type: "orderedCollection";
2110
- readonly name: string | symbol;
2111
- readonly class: ConstructorWithTypeId<Object$1>;
2112
- readonly typeId: URL;
2113
- readonly values: Record<string, string>;
2114
1901
  };
2115
1902
  /**
2116
1903
  * Options for {@link Context.sendActivity} method.
@@ -2247,4 +2034,4 @@ interface ActorKeyPair extends CryptoKeyPair {
2247
2034
  multikey: Multikey;
2248
2035
  }
2249
2036
  //#endregion
2250
- 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, 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, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
2037
+ export { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -10,7 +10,7 @@ import { isIP } from "node:net";
10
10
 
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "1.8.1-pr.332.1180+227e3a73";
13
+ var version = "1.8.1-pr.334.1193+17e63d2f";
14
14
  var license = "MIT";
15
15
  var exports = {
16
16
  ".": "./mod.ts",
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { __commonJS, __toESM } from "./type-Dx19jzWd.js";
6
+ import { __commonJS, __toESM } from "./type-DGlR8Urb.js";
7
7
 
8
8
  //#region ../node_modules/.pnpm/glob-to-regexp@0.4.1/node_modules/glob-to-regexp/index.js
9
9
  var require_glob_to_regexp = __commonJS({ "../node_modules/.pnpm/glob-to-regexp@0.4.1/node_modules/glob-to-regexp/index.js"(exports, module) {
@@ -3,16 +3,16 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { Activity, Note, Person } from "../type-Dx19jzWd.js";
6
+ import { Activity, Note, Person } from "../type-DGlR8Urb.js";
7
7
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
8
8
  import "../assert-DwEa6glZ.js";
9
9
  import "../assert_instance_of-C9QtN-X9.js";
10
10
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
11
11
  import { parseSemVer } from "../semver-DCqorrj5.js";
12
- import "../lookup-DmrIfsZE.js";
13
- import "../inbox-DdH5OssY.js";
14
- import { createFederationBuilder } from "../builder-AQzzgVb7.js";
15
- import { test } from "../testing-3xSoXkQB.js";
12
+ import "../lookup-B0_qPExk.js";
13
+ import "../inbox-CKssCQNk.js";
14
+ import { createFederationBuilder } from "../builder-BMWyrhEH.js";
15
+ import { test } from "../testing-CROcCUCq.js";
16
16
  import { assertExists } from "../std__assert-BQdmxyzF.js";
17
17
  import "../assert_rejects-AjlKk-Vo.js";
18
18
  import "../assert_is_error-CeVBLPsZ.js";
@@ -3,13 +3,13 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-Dx19jzWd.js";
6
+ import "../type-DGlR8Urb.js";
7
7
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
8
8
  import "../assert-DwEa6glZ.js";
9
9
  import "../assert_instance_of-C9QtN-X9.js";
10
- import "../lookup-DmrIfsZE.js";
10
+ import "../lookup-B0_qPExk.js";
11
11
  import { buildCollectionSynchronizationHeader, digest } from "../collection-D5V3UzU3.js";
12
- import { test } from "../testing-3xSoXkQB.js";
12
+ import { test } from "../testing-CROcCUCq.js";
13
13
  import "../std__assert-BQdmxyzF.js";
14
14
  import "../assert_rejects-AjlKk-Vo.js";
15
15
  import "../assert_is_error-CeVBLPsZ.js";