@fedify/fedify 1.6.0-dev.775 → 1.6.0-dev.776
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGES.md +11 -0
- package/esm/deno.js +1 -1
- package/esm/federation/builder.js +651 -0
- package/esm/federation/middleware.js +11 -614
- package/esm/federation/router.js +7 -3
- package/esm/vocab/vocab.js +176 -176
- package/package.json +1 -1
- package/types/federation/builder.d.ts +79 -0
- package/types/federation/builder.d.ts.map +1 -0
- package/types/federation/federation.d.ts +224 -33
- package/types/federation/federation.d.ts.map +1 -1
- package/types/federation/middleware.d.ts +11 -223
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/federation/router.d.ts +5 -0
- package/types/federation/router.d.ts.map +1 -1
package/package.json
CHANGED
@@ -0,0 +1,79 @@
|
|
1
|
+
import type { Actor, Recipient } from "../vocab/actor.js";
|
2
|
+
import type { Activity, Hashtag, Like, Object } from "../vocab/vocab.js";
|
3
|
+
import type { ActorAliasMapper, ActorDispatcher, ActorHandleMapper, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionDispatcher, InboxErrorHandler, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectDispatcher, SharedInboxKeyDispatcher } from "./callback.js";
|
4
|
+
import type { Context, RequestContext } from "./context.js";
|
5
|
+
import type { ActorCallbackSetters, CollectionCallbackSetters, Federation, FederationBuilder, FederationOptions, InboxListenerSetters, ObjectCallbackSetters } from "./federation.js";
|
6
|
+
import type { CollectionCallbacks } from "./handler.js";
|
7
|
+
import { InboxListenerSet } from "./inbox.js";
|
8
|
+
import { Router } from "./router.js";
|
9
|
+
export declare class FederationBuilderImpl<TContextData> implements FederationBuilder<TContextData> {
|
10
|
+
router: Router;
|
11
|
+
actorCallbacks?: ActorCallbacks<TContextData>;
|
12
|
+
nodeInfoDispatcher?: NodeInfoDispatcher<TContextData>;
|
13
|
+
objectCallbacks: Record<string, ObjectCallbacks<TContextData, string>>;
|
14
|
+
objectTypeIds: Record<string, (new (...args: any[]) => Object) & {
|
15
|
+
typeId: URL;
|
16
|
+
}>;
|
17
|
+
inboxPath?: string;
|
18
|
+
inboxCallbacks?: CollectionCallbacks<Activity, RequestContext<TContextData>, TContextData, void>;
|
19
|
+
outboxCallbacks?: CollectionCallbacks<Activity, RequestContext<TContextData>, TContextData, void>;
|
20
|
+
followingCallbacks?: CollectionCallbacks<Actor | URL, RequestContext<TContextData>, TContextData, void>;
|
21
|
+
followersCallbacks?: CollectionCallbacks<Recipient, Context<TContextData>, TContextData, URL>;
|
22
|
+
likedCallbacks?: CollectionCallbacks<Like, RequestContext<TContextData>, TContextData, void>;
|
23
|
+
featuredCallbacks?: CollectionCallbacks<Object, RequestContext<TContextData>, TContextData, void>;
|
24
|
+
featuredTagsCallbacks?: CollectionCallbacks<Hashtag, RequestContext<TContextData>, TContextData, void>;
|
25
|
+
inboxListeners?: InboxListenerSet<TContextData>;
|
26
|
+
inboxErrorHandler?: InboxErrorHandler<TContextData>;
|
27
|
+
sharedInboxKeyDispatcher?: SharedInboxKeyDispatcher<TContextData>;
|
28
|
+
constructor();
|
29
|
+
build(options: FederationOptions<TContextData>): Promise<Federation<TContextData>>;
|
30
|
+
_getTracer(): import("@opentelemetry/api").Tracer;
|
31
|
+
setActorDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: ActorDispatcher<TContextData>): ActorCallbackSetters<TContextData>;
|
32
|
+
setNodeInfoDispatcher(path: string, dispatcher: NodeInfoDispatcher<TContextData>): void;
|
33
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
34
|
+
typeId: URL;
|
35
|
+
}, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
36
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
37
|
+
typeId: URL;
|
38
|
+
}, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
39
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
40
|
+
typeId: URL;
|
41
|
+
}, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
42
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
43
|
+
typeId: URL;
|
44
|
+
}, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
45
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
46
|
+
typeId: URL;
|
47
|
+
}, path: `${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
48
|
+
setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
|
49
|
+
typeId: URL;
|
50
|
+
}, path: `${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
|
51
|
+
setInboxDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
52
|
+
setOutboxDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
53
|
+
setFollowingDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Actor | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
54
|
+
setFollowersDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Recipient, Context<TContextData>, TContextData, URL>): CollectionCallbackSetters<Context<TContextData>, TContextData, URL>;
|
55
|
+
setLikedDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Like, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
56
|
+
setFeaturedDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Object, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
57
|
+
setFeaturedTagsDispatcher(path: `${string}{identifier}${string}` | `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Hashtag, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
|
58
|
+
setInboxListeners(inboxPath: `${string}{identifier}${string}` | `${string}{handle}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* Creates a new {@link FederationBuilder} instance.
|
62
|
+
* @returns A new {@link FederationBuilder} instance.
|
63
|
+
* @since 1.6.0
|
64
|
+
*/
|
65
|
+
export declare function createFederationBuilder<TContextData>(): FederationBuilder<TContextData>;
|
66
|
+
interface ActorCallbacks<TContextData> {
|
67
|
+
dispatcher?: ActorDispatcher<TContextData>;
|
68
|
+
keyPairsDispatcher?: ActorKeyPairsDispatcher<TContextData>;
|
69
|
+
handleMapper?: ActorHandleMapper<TContextData>;
|
70
|
+
aliasMapper?: ActorAliasMapper<TContextData>;
|
71
|
+
authorizePredicate?: AuthorizePredicate<TContextData>;
|
72
|
+
}
|
73
|
+
interface ObjectCallbacks<TContextData, TParam extends string> {
|
74
|
+
dispatcher: ObjectDispatcher<TContextData, Object, string>;
|
75
|
+
parameters: Set<TParam>;
|
76
|
+
authorizePredicate?: ObjectAuthorizePredicate<TContextData, TParam>;
|
77
|
+
}
|
78
|
+
export {};
|
79
|
+
//# sourceMappingURL=builder.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/federation/builder.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,15 @@
|
|
1
|
+
import * as dntShim from "../_dnt.shims.js";
|
2
|
+
import type { TracerProvider } from "@opentelemetry/api";
|
3
|
+
import type { ActivityTransformer } from "../compat/types.js";
|
4
|
+
import type { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, GetUserAgentOptions } from "../runtime/docloader.js";
|
1
5
|
import type { Actor, Recipient } from "../vocab/actor.js";
|
2
6
|
import type { Activity, Hashtag, Object } from "../vocab/vocab.js";
|
3
|
-
import type { ActorAliasMapper, ActorDispatcher, ActorHandleMapper, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCounter, CollectionCursor, CollectionDispatcher, InboxErrorHandler, InboxListener, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectDispatcher, SharedInboxKeyDispatcher } from "./callback.js";
|
7
|
+
import type { ActorAliasMapper, ActorDispatcher, ActorHandleMapper, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCounter, CollectionCursor, CollectionDispatcher, InboxErrorHandler, InboxListener, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectDispatcher, OutboxErrorHandler, SharedInboxKeyDispatcher } from "./callback.js";
|
4
8
|
import type { Context, RequestContext } from "./context.js";
|
9
|
+
import type { KvStore } from "./kv.js";
|
10
|
+
import type { FederationKvPrefixes, FederationOrigin, FederationQueueOptions } from "./middleware.js";
|
11
|
+
import type { MessageQueue } from "./mq.js";
|
12
|
+
import type { RetryPolicy } from "./retry.js";
|
5
13
|
/**
|
6
14
|
* Options for {@link Federation.startQueue} method.
|
7
15
|
* @since 1.0.0
|
@@ -20,39 +28,11 @@ export interface FederationStartQueueOptions {
|
|
20
28
|
queue?: "inbox" | "outbox" | "fanout";
|
21
29
|
}
|
22
30
|
/**
|
23
|
-
*
|
24
|
-
*
|
25
|
-
*
|
26
|
-
* It also provides a middleware interface for handling requests before your
|
27
|
-
* web framework's router; see {@link Federation.fetch}.
|
28
|
-
*
|
29
|
-
* @since 0.13.0
|
31
|
+
* A common interface between {@link Federation} and {@link FederationBuilder}.
|
32
|
+
* @typeParam TContextData The context data to pass to the {@link Context}.
|
33
|
+
* @since 1.6.0
|
30
34
|
*/
|
31
|
-
export interface
|
32
|
-
/**
|
33
|
-
* Manually start the task queue.
|
34
|
-
*
|
35
|
-
* This method is useful when you set the `manuallyStartQueue` option to
|
36
|
-
* `true` in the {@link createFederation} function.
|
37
|
-
* @param contextData The context data to pass to the context.
|
38
|
-
* @param options Additional options for starting the queue.
|
39
|
-
*/
|
40
|
-
startQueue(contextData: TContextData, options?: FederationStartQueueOptions): Promise<void>;
|
41
|
-
/**
|
42
|
-
* Create a new context.
|
43
|
-
* @param baseUrl The base URL of the server. The `pathname` remains root,
|
44
|
-
* and the `search` and `hash` are stripped.
|
45
|
-
* @param contextData The context data to pass to the context.
|
46
|
-
* @returns The new context.
|
47
|
-
*/
|
48
|
-
createContext(baseUrl: URL, contextData: TContextData): Context<TContextData>;
|
49
|
-
/**
|
50
|
-
* Create a new context for a request.
|
51
|
-
* @param request The request object.
|
52
|
-
* @param contextData The context data to pass to the context.
|
53
|
-
* @returns The new request context.
|
54
|
-
*/
|
55
|
-
createContext(request: Request, contextData: TContextData): RequestContext<TContextData>;
|
35
|
+
export interface Federatable<TContextData> {
|
56
36
|
/**
|
57
37
|
* Registers a NodeInfo dispatcher.
|
58
38
|
* @param path The URI path pattern for the NodeInfo dispatcher. The syntax
|
@@ -310,6 +290,41 @@ export interface Federation<TContextData> {
|
|
310
290
|
* @throws {RouteError} Thrown if the path pattern is invalid.
|
311
291
|
*/
|
312
292
|
setInboxListeners(inboxPath: `${string}{identifier}${string}` | `${string}{handle}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
|
293
|
+
}
|
294
|
+
/**
|
295
|
+
* An object that registers federation-related business logic and dispatches
|
296
|
+
* requests to the appropriate handlers.
|
297
|
+
*
|
298
|
+
* It also provides a middleware interface for handling requests before your
|
299
|
+
* web framework's router; see {@link Federation.fetch}.
|
300
|
+
* @typeParam TContextData The context data to pass to the {@link Context}.
|
301
|
+
* @since 0.13.0
|
302
|
+
*/
|
303
|
+
export interface Federation<TContextData> extends Federatable<TContextData> {
|
304
|
+
/**
|
305
|
+
* Manually start the task queue.
|
306
|
+
*
|
307
|
+
* This method is useful when you set the `manuallyStartQueue` option to
|
308
|
+
* `true` in the {@link createFederation} function.
|
309
|
+
* @param contextData The context data to pass to the context.
|
310
|
+
* @param options Additional options for starting the queue.
|
311
|
+
*/
|
312
|
+
startQueue(contextData: TContextData, options?: FederationStartQueueOptions): Promise<void>;
|
313
|
+
/**
|
314
|
+
* Create a new context.
|
315
|
+
* @param baseUrl The base URL of the server. The `pathname` remains root,
|
316
|
+
* and the `search` and `hash` are stripped.
|
317
|
+
* @param contextData The context data to pass to the context.
|
318
|
+
* @returns The new context.
|
319
|
+
*/
|
320
|
+
createContext(baseUrl: URL, contextData: TContextData): Context<TContextData>;
|
321
|
+
/**
|
322
|
+
* Create a new context for a request.
|
323
|
+
* @param request The request object.
|
324
|
+
* @param contextData The context data to pass to the context.
|
325
|
+
* @returns The new request context.
|
326
|
+
*/
|
327
|
+
createContext(request: Request, contextData: TContextData): RequestContext<TContextData>;
|
313
328
|
/**
|
314
329
|
* Handles a request related to federation. If a request is not related to
|
315
330
|
* federation, the `onNotFound` or `onNotAcceptable` callback is called.
|
@@ -323,6 +338,182 @@ export interface Federation<TContextData> {
|
|
323
338
|
*/
|
324
339
|
fetch(request: Request, options: FederationFetchOptions<TContextData>): Promise<Response>;
|
325
340
|
}
|
341
|
+
/**
|
342
|
+
* A builder for creating a {@link Federation} object. It defers the actual
|
343
|
+
* instantiation of the {@link Federation} object until the {@link build}
|
344
|
+
* method is called so that dispatchers and listeners can be registered
|
345
|
+
* before the {@link Federation} object is instantiated.
|
346
|
+
* @typeParam TContextData The context data to pass to the {@link Context}.
|
347
|
+
* @since 1.6.0
|
348
|
+
*/
|
349
|
+
export interface FederationBuilder<TContextData> extends Federatable<TContextData> {
|
350
|
+
/**
|
351
|
+
* Builds the federation object.
|
352
|
+
* @returns The federation object.
|
353
|
+
*/
|
354
|
+
build(options: FederationOptions<TContextData>): Promise<Federation<TContextData>>;
|
355
|
+
}
|
356
|
+
/**
|
357
|
+
* Options for creating a {@link Federation} object.
|
358
|
+
* @typeParam TContextData The context data to pass to the {@link Context}.
|
359
|
+
* @since 1.6.0
|
360
|
+
*/
|
361
|
+
export interface FederationOptions<TContextData> {
|
362
|
+
/**
|
363
|
+
* The key-value store used for caching, outbox queues, and inbox idempotence.
|
364
|
+
*/
|
365
|
+
kv: KvStore;
|
366
|
+
/**
|
367
|
+
* Prefixes for namespacing keys in the Deno KV store. By default, all keys
|
368
|
+
* are prefixed with `["_fedify"]`.
|
369
|
+
*/
|
370
|
+
kvPrefixes?: Partial<FederationKvPrefixes>;
|
371
|
+
/**
|
372
|
+
* The message queue for sending and receiving activities. If not provided,
|
373
|
+
* activities will not be queued and will be processed immediately.
|
374
|
+
*
|
375
|
+
* If a `MessageQueue` is provided, both the `inbox` and `outbox` queues
|
376
|
+
* will be set to the same queue.
|
377
|
+
*
|
378
|
+
* If a `FederationQueueOptions` object is provided, you can set the queues
|
379
|
+
* separately (since Fedify 1.3.0).
|
380
|
+
*/
|
381
|
+
queue?: FederationQueueOptions | MessageQueue;
|
382
|
+
/**
|
383
|
+
* Whether to start the task queue manually or automatically.
|
384
|
+
*
|
385
|
+
* If `true`, the task queue will not start automatically and you need to
|
386
|
+
* manually start it by calling the {@link Federation.startQueue} method.
|
387
|
+
*
|
388
|
+
* If `false`, the task queue will start automatically as soon as
|
389
|
+
* the first task is enqueued.
|
390
|
+
*
|
391
|
+
* By default, the queue starts automatically.
|
392
|
+
*
|
393
|
+
* @since 0.12.0
|
394
|
+
*/
|
395
|
+
manuallyStartQueue?: boolean;
|
396
|
+
/**
|
397
|
+
* The canonical base URL of the server. This is used for constructing
|
398
|
+
* absolute URLs and fediverse handles.
|
399
|
+
* @since 1.5.0
|
400
|
+
*/
|
401
|
+
origin?: string | FederationOrigin;
|
402
|
+
/**
|
403
|
+
* A custom JSON-LD document loader factory. By default, this uses
|
404
|
+
* the built-in cache-backed loader that fetches remote documents over
|
405
|
+
* HTTP(S).
|
406
|
+
* @since 1.4.0
|
407
|
+
*/
|
408
|
+
documentLoaderFactory?: DocumentLoaderFactory;
|
409
|
+
/**
|
410
|
+
* A custom JSON-LD context loader factory. By default, this uses the same
|
411
|
+
* loader as the document loader.
|
412
|
+
* @since 1.4.0
|
413
|
+
*/
|
414
|
+
contextLoaderFactory?: DocumentLoaderFactory;
|
415
|
+
/**
|
416
|
+
* A custom JSON-LD document loader. By default, this uses the built-in
|
417
|
+
* cache-backed loader that fetches remote documents over HTTP(S).
|
418
|
+
* @deprecated Use {@link documentLoaderFactory} instead.
|
419
|
+
*/
|
420
|
+
documentLoader?: DocumentLoader;
|
421
|
+
/**
|
422
|
+
* A custom JSON-LD context loader. By default, this uses the same loader
|
423
|
+
* as the document loader.
|
424
|
+
* @deprecated Use {@link contextLoaderFactory} instead.
|
425
|
+
*/
|
426
|
+
contextLoader?: DocumentLoader;
|
427
|
+
/**
|
428
|
+
* A factory function that creates an authenticated document loader for a
|
429
|
+
* given identity. This is used for fetching documents that require
|
430
|
+
* authentication.
|
431
|
+
*/
|
432
|
+
authenticatedDocumentLoaderFactory?: AuthenticatedDocumentLoaderFactory;
|
433
|
+
/**
|
434
|
+
* Whether to allow fetching private network addresses in the document loader.
|
435
|
+
*
|
436
|
+
* If turned on, {@link CreateFederationOptions.documentLoader},
|
437
|
+
* {@link CreateFederationOptions.contextLoader}, and
|
438
|
+
* {@link CreateFederationOptions.authenticatedDocumentLoaderFactory}
|
439
|
+
* cannot be configured.
|
440
|
+
*
|
441
|
+
* Mostly useful for testing purposes. *Do not use in production.*
|
442
|
+
*
|
443
|
+
* Turned off by default.
|
444
|
+
* @since 0.15.0
|
445
|
+
*/
|
446
|
+
allowPrivateAddress?: boolean;
|
447
|
+
/**
|
448
|
+
* Options for making `User-Agent` strings for HTTP requests.
|
449
|
+
* If a string is provided, it is used as the `User-Agent` header.
|
450
|
+
* If an object is provided, it is passed to the {@link getUserAgent}
|
451
|
+
* function.
|
452
|
+
* @since 1.3.0
|
453
|
+
*/
|
454
|
+
userAgent?: GetUserAgentOptions | string;
|
455
|
+
/**
|
456
|
+
* A callback that handles errors during outbox processing. Note that this
|
457
|
+
* callback can be called multiple times for the same activity, because
|
458
|
+
* the delivery is retried according to the backoff schedule until it
|
459
|
+
* succeeds or reaches the maximum retry count.
|
460
|
+
*
|
461
|
+
* If any errors are thrown in this callback, they are ignored.
|
462
|
+
*/
|
463
|
+
onOutboxError?: OutboxErrorHandler;
|
464
|
+
/**
|
465
|
+
* The time window for verifying HTTP Signatures of incoming requests. If the
|
466
|
+
* request is older or newer than this window, it is rejected. Or if it is
|
467
|
+
* `false`, the request's timestamp is not checked at all.
|
468
|
+
*
|
469
|
+
* By default, the window is an hour.
|
470
|
+
*/
|
471
|
+
signatureTimeWindow?: dntShim.Temporal.Duration | dntShim.Temporal.DurationLike | false;
|
472
|
+
/**
|
473
|
+
* Whether to skip HTTP Signatures verification for incoming activities.
|
474
|
+
* This is useful for testing purposes, but should not be used in production.
|
475
|
+
*
|
476
|
+
* By default, this is `false` (i.e., signatures are verified).
|
477
|
+
* @since 0.13.0
|
478
|
+
*/
|
479
|
+
skipSignatureVerification?: boolean;
|
480
|
+
/**
|
481
|
+
* The retry policy for sending activities to recipients' inboxes.
|
482
|
+
* By default, this uses an exponential backoff strategy with a maximum of
|
483
|
+
* 10 attempts and a maximum delay of 12 hours.
|
484
|
+
* @since 0.12.0
|
485
|
+
*/
|
486
|
+
outboxRetryPolicy?: RetryPolicy;
|
487
|
+
/**
|
488
|
+
* The retry policy for processing incoming activities. By default, this
|
489
|
+
* uses an exponential backoff strategy with a maximum of 10 attempts and a
|
490
|
+
* maximum delay of 12 hours.
|
491
|
+
* @since 0.12.0
|
492
|
+
*/
|
493
|
+
inboxRetryPolicy?: RetryPolicy;
|
494
|
+
/**
|
495
|
+
* Activity transformers that are applied to outgoing activities. It is
|
496
|
+
* useful for adjusting outgoing activities to satisfy some ActivityPub
|
497
|
+
* implementations.
|
498
|
+
*
|
499
|
+
* By default, {@link defaultActivityTransformers} are applied.
|
500
|
+
* @since 1.4.0
|
501
|
+
*/
|
502
|
+
activityTransformers?: readonly ActivityTransformer<TContextData>[];
|
503
|
+
/**
|
504
|
+
* Whether the router should be insensitive to trailing slashes in the URL
|
505
|
+
* paths. For example, if this option is `true`, `/foo` and `/foo/` are
|
506
|
+
* treated as the same path. Turned off by default.
|
507
|
+
* @since 0.12.0
|
508
|
+
*/
|
509
|
+
trailingSlashInsensitive?: boolean;
|
510
|
+
/**
|
511
|
+
* The OpenTelemetry tracer provider for tracing operations. If not provided,
|
512
|
+
* the default global tracer provider is used.
|
513
|
+
* @since 1.3.0
|
514
|
+
*/
|
515
|
+
tracerProvider?: TracerProvider;
|
516
|
+
}
|
326
517
|
/**
|
327
518
|
* Additional settings for the actor dispatcher.
|
328
519
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation/federation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation/federation.ts"],"names":[],"mappings":"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"}
|