@fedify/fedify 1.0.0-dev.397 → 1.0.0-dev.399

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.
@@ -129,9 +129,11 @@ export interface Context<TContextData> {
129
129
  /**
130
130
  * Determines the type of the URI and extracts the associated data.
131
131
  * @param uri The URI to parse.
132
+ * @returns The result of parsing the URI. If `null` is given or
133
+ * the URI is not recognized, `null` is returned.
132
134
  * @since 0.9.0
133
135
  */
134
- parseUri(uri: URL): ParseUriResult | null;
136
+ parseUri(uri: URL | null): ParseUriResult | null;
135
137
  /**
136
138
  * Gets the key pairs for an actor.
137
139
  * @param handle The actor's handle.
@@ -289,6 +291,42 @@ export interface RequestContext<TContextData> extends Context<TContextData> {
289
291
  */
290
292
  getSignedKeyOwner(): Promise<Actor | null>;
291
293
  }
294
+ /**
295
+ * A context for inbox listeners.
296
+ * @since 1.0.0
297
+ */
298
+ export interface InboxContext<TContextData> extends Context<TContextData> {
299
+ /**
300
+ * Forwards a received activity to the recipients' inboxes. The forwarded
301
+ * activity will be signed in HTTP Signatures by the forwarder, but its
302
+ * payload will not be modified, i.e., Linked Data Signatures and Object
303
+ * Integrity Proofs will not be added. Therefore, if the activity is not
304
+ * signed (i.e., it has neither Linked Data Signatures nor Object Integrity
305
+ * Proofs), the recipient probably will not trust the activity.
306
+ * @param forwarder The forwarder's handle or the forwarder's key pair(s).
307
+ * @param recipients The recipients of the activity.
308
+ * @param options Options for forwarding the activity.
309
+ * @since 1.0.0
310
+ */
311
+ forwardActivity(forwarder: SenderKeyPair | SenderKeyPair[] | {
312
+ handle: string;
313
+ }, recipients: Recipient | Recipient[], options?: ForwardActivityOptions): Promise<void>;
314
+ /**
315
+ * Forwards a received activity to the recipients' inboxes. The forwarded
316
+ * activity will be signed in HTTP Signatures by the forwarder, but its
317
+ * payload will not be modified, i.e., Linked Data Signatures and Object
318
+ * Integrity Proofs will not be added. Therefore, if the activity is not
319
+ * signed (i.e., it has neither Linked Data Signatures nor Object Integrity
320
+ * Proofs), the recipient probably will not trust the activity.
321
+ * @param forwarder The forwarder's handle.
322
+ * @param recipients In this case, it must be `"followers"`.
323
+ * @param options Options for forwarding the activity.
324
+ * @since 1.0.0
325
+ */
326
+ forwardActivity(forwarder: {
327
+ handle: string;
328
+ }, recipients: "followers", options?: ForwardActivityOptions): Promise<void>;
329
+ }
292
330
  /**
293
331
  * A result of parsing an URI.
294
332
  */
@@ -365,8 +403,7 @@ export type ParseUriResult =
365
403
  handle: string;
366
404
  };
367
405
  /**
368
- * Options for {@link Context.sendActivity} method and
369
- * {@link Federation.sendActivity} method.
406
+ * Options for {@link Context.sendActivity} method.
370
407
  */
371
408
  export interface SendActivityOptions {
372
409
  /**
@@ -391,6 +428,21 @@ export interface SendActivityOptions {
391
428
  */
392
429
  excludeBaseUris?: URL[];
393
430
  }
431
+ /**
432
+ * Options for {@link InboxContext.forwardActivity} method.
433
+ * @since 1.0.0
434
+ */
435
+ export interface ForwardActivityOptions extends SendActivityOptions {
436
+ /**
437
+ * Whether to skip forwarding the activity if it is not signed, i.e., it has
438
+ * neither Linked Data Signatures nor Object Integrity Proofs.
439
+ *
440
+ * If the activity is not signed, the recipient probably will not trust the
441
+ * activity. Therefore, it is recommended to skip forwarding the activity
442
+ * if it is not signed.
443
+ */
444
+ skipIfUnsigned: boolean;
445
+ }
394
446
  /**
395
447
  * A pair of a public key and a private key in various formats.
396
448
  * @since 0.10.0
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/federation/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/federation/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,462 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import type { Actor, Recipient } from "../vocab/actor.js";
4
+ import type { Activity, Hashtag, Object } from "../vocab/vocab.js";
5
+ import type { ActorDispatcher, ActorHandleMapper, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCounter, CollectionCursor, CollectionDispatcher, InboxErrorHandler, InboxListener, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectDispatcher, SharedInboxKeyDispatcher } from "./callback.js";
6
+ import type { Context, RequestContext } from "./context.js";
7
+ /**
8
+ * An object that registers federation-related business logic and dispatches
9
+ * requests to the appropriate handlers.
10
+ *
11
+ * It also provides a middleware interface for handling requests before your
12
+ * web framework's router; see {@link Federation.fetch}.
13
+ *
14
+ * @since 0.13.0
15
+ */
16
+ export interface Federation<TContextData> {
17
+ /**
18
+ * Manually start the task queue.
19
+ *
20
+ * This method is useful when you set the `manuallyStartQueue` option to
21
+ * `true` in the {@link createFederation} function.
22
+ * @param contextData The context data to pass to the context.
23
+ */
24
+ startQueue(contextData: TContextData): Promise<void>;
25
+ /**
26
+ * Create a new context.
27
+ * @param baseUrl The base URL of the server. The `pathname` remains root,
28
+ * and the `search` and `hash` are stripped.
29
+ * @param contextData The context data to pass to the context.
30
+ * @returns The new context.
31
+ */
32
+ createContext(baseUrl: URL, contextData: TContextData): Context<TContextData>;
33
+ /**
34
+ * Create a new context for a request.
35
+ * @param request The request object.
36
+ * @param contextData The context data to pass to the context.
37
+ * @returns The new request context.
38
+ */
39
+ createContext(request: Request, contextData: TContextData): RequestContext<TContextData>;
40
+ /**
41
+ * Registers a NodeInfo dispatcher.
42
+ * @param path The URI path pattern for the NodeInfo dispatcher. The syntax
43
+ * is based on URI Template
44
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
45
+ * must have no variables.
46
+ * @param dispatcher A NodeInfo dispatcher callback to register.
47
+ * @throws {RouterError} Thrown if the path pattern is invalid.
48
+ */
49
+ setNodeInfoDispatcher(path: string, dispatcher: NodeInfoDispatcher<TContextData>): void;
50
+ /**
51
+ * Registers an actor dispatcher.
52
+ *
53
+ * @example
54
+ * ``` typescript
55
+ * federation.setActorDispatcher(
56
+ * "/users/{handle}",
57
+ * async (ctx, handle) => {
58
+ * return new Person({
59
+ * id: ctx.getActorUri(handle),
60
+ * preferredUsername: handle,
61
+ * // ...
62
+ * });
63
+ * }
64
+ * );
65
+ * ```
66
+ *
67
+ * @param path The URI path pattern for the actor dispatcher. The syntax is
68
+ * based on URI Template
69
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
70
+ * must have one variable: `{handle}`.
71
+ * @param dispatcher An actor dispatcher callback to register.
72
+ * @returns An object with methods to set other actor dispatcher callbacks.
73
+ * @throws {RouterError} Thrown if the path pattern is invalid.
74
+ */
75
+ setActorDispatcher(path: `${string}{handle}${string}`, dispatcher: ActorDispatcher<TContextData>): ActorCallbackSetters<TContextData>;
76
+ /**
77
+ * Registers an object dispatcher.
78
+ *
79
+ * @typeParam TContextData The context data to pass to the {@link Context}.
80
+ * @typeParam TObject The type of object to dispatch.
81
+ * @typeParam TParam The parameter names of the requested URL.
82
+ * @param cls The Activity Vocabulary class of the object to dispatch.
83
+ * @param path The URI path pattern for the object dispatcher. The syntax is
84
+ * based on URI Template
85
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
86
+ * must have one or more variables.
87
+ * @param dispatcher An object dispatcher callback to register.
88
+ */
89
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
90
+ typeId: URL;
91
+ }, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
92
+ /**
93
+ * Registers an object dispatcher.
94
+ *
95
+ * @typeParam TContextData The context data to pass to the {@link Context}.
96
+ * @typeParam TObject The type of object to dispatch.
97
+ * @typeParam TParam The parameter names of the requested URL.
98
+ * @param cls The Activity Vocabulary class of the object to dispatch.
99
+ * @param path The URI path pattern for the object dispatcher. The syntax is
100
+ * based on URI Template
101
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
102
+ * must have one or more variables.
103
+ * @param dispatcher An object dispatcher callback to register.
104
+ */
105
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
106
+ typeId: URL;
107
+ }, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
108
+ /**
109
+ * Registers an object dispatcher.
110
+ *
111
+ * @typeParam TContextData The context data to pass to the {@link Context}.
112
+ * @typeParam TObject The type of object to dispatch.
113
+ * @typeParam TParam The parameter names of the requested URL.
114
+ * @param cls The Activity Vocabulary class of the object to dispatch.
115
+ * @param path The URI path pattern for the object dispatcher. The syntax is
116
+ * based on URI Template
117
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
118
+ * must have one or more variables.
119
+ * @param dispatcher An object dispatcher callback to register.
120
+ */
121
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
122
+ typeId: URL;
123
+ }, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
124
+ /**
125
+ * Registers an object dispatcher.
126
+ *
127
+ * @typeParam TContextData The context data to pass to the {@link Context}.
128
+ * @typeParam TObject The type of object to dispatch.
129
+ * @typeParam TParam The parameter names of the requested URL.
130
+ * @param cls The Activity Vocabulary class of the object to dispatch.
131
+ * @param path The URI path pattern for the object dispatcher. The syntax is
132
+ * based on URI Template
133
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
134
+ * must have one or more variables.
135
+ * @param dispatcher An object dispatcher callback to register.
136
+ */
137
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
138
+ typeId: URL;
139
+ }, path: `${string}{${TParam}}${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
140
+ /**
141
+ * Registers an object dispatcher.
142
+ *
143
+ * @typeParam TContextData The context data to pass to the {@link Context}.
144
+ * @typeParam TObject The type of object to dispatch.
145
+ * @typeParam TParam The parameter names of the requested URL.
146
+ * @param cls The Activity Vocabulary class of the object to dispatch.
147
+ * @param path The URI path pattern for the object dispatcher. The syntax is
148
+ * based on URI Template
149
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
150
+ * must have one or more variables.
151
+ * @param dispatcher An object dispatcher callback to register.
152
+ */
153
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
154
+ typeId: URL;
155
+ }, path: `${string}{${TParam}}${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
156
+ /**
157
+ * Registers an object dispatcher.
158
+ *
159
+ * @typeParam TContextData The context data to pass to the {@link Context}.
160
+ * @typeParam TObject The type of object to dispatch.
161
+ * @typeParam TParam The parameter names of the requested URL.
162
+ * @param cls The Activity Vocabulary class of the object to dispatch.
163
+ * @param path The URI path pattern for the object dispatcher. The syntax is
164
+ * based on URI Template
165
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
166
+ * must have one or more variables.
167
+ * @param dispatcher An object dispatcher callback to register.
168
+ */
169
+ setObjectDispatcher<TObject extends Object, TParam extends string>(cls: (new (...args: any[]) => TObject) & {
170
+ typeId: URL;
171
+ }, path: `${string}{${TParam}}${string}`, dispatcher: ObjectDispatcher<TContextData, TObject, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
172
+ /**
173
+ * Registers an inbox dispatcher.
174
+ *
175
+ * @param path The URI path pattern for the outbox dispatcher. The syntax is
176
+ * based on URI Template
177
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
178
+ * must have one variable: `{handle}`, and must match the inbox
179
+ * listener path.
180
+ * @param dispatcher An inbox dispatcher callback to register.
181
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
182
+ */
183
+ setInboxDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
184
+ /**
185
+ * Registers an outbox dispatcher.
186
+ *
187
+ * @example
188
+ * ``` typescript
189
+ * federation.setOutboxDispatcher(
190
+ * "/users/{handle}/outbox",
191
+ * async (ctx, handle, options) => {
192
+ * let items: Activity[];
193
+ * let nextCursor: string;
194
+ * // ...
195
+ * return { items, nextCursor };
196
+ * }
197
+ * );
198
+ * ```
199
+ *
200
+ * @param path The URI path pattern for the outbox dispatcher. The syntax is
201
+ * based on URI Template
202
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
203
+ * must have one variable: `{handle}`.
204
+ * @param dispatcher An outbox dispatcher callback to register.
205
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
206
+ */
207
+ setOutboxDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Activity, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
208
+ /**
209
+ * Registers a following collection dispatcher.
210
+ * @param path The URI path pattern for the following collection. The syntax
211
+ * is based on URI Template
212
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
213
+ * must have one variable: `{handle}`.
214
+ * @param dispatcher A following collection callback to register.
215
+ * @returns An object with methods to set other following collection
216
+ * callbacks.
217
+ * @throws {RouterError} Thrown if the path pattern is invalid.
218
+ */
219
+ setFollowingDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Actor | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
220
+ /**
221
+ * Registers a followers collection dispatcher.
222
+ * @param path The URI path pattern for the followers collection. The syntax
223
+ * is based on URI Template
224
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
225
+ * must have one variable: `{handle}`.
226
+ * @param dispatcher A followers collection callback to register.
227
+ * @returns An object with methods to set other followers collection
228
+ * callbacks.
229
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
230
+ */
231
+ setFollowersDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Recipient, Context<TContextData>, TContextData, URL>): CollectionCallbackSetters<Context<TContextData>, TContextData, URL>;
232
+ /**
233
+ * Registers a liked collection dispatcher.
234
+ * @param path The URI path pattern for the liked collection. The syntax
235
+ * is based on URI Template
236
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
237
+ * must have one variable: `{handle}`.
238
+ * @param dispatcher A liked collection callback to register.
239
+ * @returns An object with methods to set other liked collection
240
+ * callbacks.
241
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
242
+ */
243
+ setLikedDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Object | URL, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
244
+ /**
245
+ * Registers a featured collection dispatcher.
246
+ * @param path The URI path pattern for the featured collection. The syntax
247
+ * is based on URI Template
248
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
249
+ * must have one variable: `{handle}`.
250
+ * @param dispatcher A featured collection callback to register.
251
+ * @returns An object with methods to set other featured collection
252
+ * callbacks.
253
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
254
+ */
255
+ setFeaturedDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Object, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
256
+ /**
257
+ * Registers a featured tags collection dispatcher.
258
+ * @param path The URI path pattern for the featured tags collection.
259
+ * The syntax is based on URI Template
260
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)). The path
261
+ * must have one variable: `{handle}`.
262
+ * @param dispatcher A featured tags collection callback to register.
263
+ * @returns An object with methods to set other featured tags collection
264
+ * callbacks.
265
+ * @throws {@link RouterError} Thrown if the path pattern is invalid.
266
+ */
267
+ setFeaturedTagsDispatcher(path: `${string}{handle}${string}`, dispatcher: CollectionDispatcher<Hashtag, RequestContext<TContextData>, TContextData, void>): CollectionCallbackSetters<RequestContext<TContextData>, TContextData, void>;
268
+ /**
269
+ * Assigns the URL path for the inbox and starts setting inbox listeners.
270
+ *
271
+ * @example
272
+ * ``` typescript
273
+ * federation
274
+ * .setInboxListeners("/users/{handle/inbox", "/inbox")
275
+ * .on(Follow, async (ctx, follow) => {
276
+ * const from = await follow.getActor(ctx);
277
+ * if (!isActor(from)) return;
278
+ * // ...
279
+ * await ctx.sendActivity({ })
280
+ * })
281
+ * .on(Undo, async (ctx, undo) => {
282
+ * // ...
283
+ * });
284
+ * ```
285
+ *
286
+ * @param inboxPath The URI path pattern for the inbox. The syntax is based
287
+ * on URI Template
288
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
289
+ * The path must have one variable: `{handle}`, and must
290
+ * match the inbox dispatcher path.
291
+ * @param sharedInboxPath An optional URI path pattern for the shared inbox.
292
+ * The syntax is based on URI Template
293
+ * ([RFC 6570](https://tools.ietf.org/html/rfc6570)).
294
+ * The path must have no variables.
295
+ * @returns An object to register inbox listeners.
296
+ * @throws {RouteError} Thrown if the path pattern is invalid.
297
+ */
298
+ setInboxListeners(inboxPath: `${string}{handle}${string}`, sharedInboxPath?: string): InboxListenerSetters<TContextData>;
299
+ /**
300
+ * Handles a request related to federation. If a request is not related to
301
+ * federation, the `onNotFound` or `onNotAcceptable` callback is called.
302
+ *
303
+ * Usually, this method is called from a server's request handler or
304
+ * a web framework's middleware.
305
+ *
306
+ * @param request The request object.
307
+ * @param parameters The parameters for handling the request.
308
+ * @returns The response to the request.
309
+ */
310
+ fetch(request: Request, options: FederationFetchOptions<TContextData>): Promise<Response>;
311
+ }
312
+ /**
313
+ * Additional settings for the actor dispatcher.
314
+ *
315
+ * ``` typescript
316
+ * const federation = createFederation<void>({ ... });
317
+ * federation.setActorDispatcher("/users/{handle}", async (ctx, handle, key) => {
318
+ * ...
319
+ * })
320
+ * .setKeyPairsDispatcher(async (ctxData, handle) => {
321
+ * ...
322
+ * });
323
+ * ```
324
+ */
325
+ export interface ActorCallbackSetters<TContextData> {
326
+ /**
327
+ * Sets the key pairs dispatcher for actors.
328
+ * @param dispatcher A callback that returns the key pairs for an actor.
329
+ * @returns The setters object so that settings can be chained.
330
+ * @since 0.10.0
331
+ */
332
+ setKeyPairsDispatcher(dispatcher: ActorKeyPairsDispatcher<TContextData>): ActorCallbackSetters<TContextData>;
333
+ /**
334
+ * Sets the callback function that maps a WebFinger username to
335
+ * the corresponding actor's internal handle. If it's omitted, the handle
336
+ * is assumed to be the same as the WebFinger username, which makes your
337
+ * actors have the immutable handles. If you want to let your actors change
338
+ * their fediverse handles, you should set this dispatcher.
339
+ * @since 0.15.0
340
+ */
341
+ mapHandle(mapper: ActorHandleMapper<TContextData>): ActorCallbackSetters<TContextData>;
342
+ /**
343
+ * Specifies the conditions under which requests are authorized.
344
+ * @param predicate A callback that returns whether a request is authorized.
345
+ * @returns The setters object so that settings can be chained.
346
+ * @since 0.7.0
347
+ */
348
+ authorize(predicate: AuthorizePredicate<TContextData>): ActorCallbackSetters<TContextData>;
349
+ }
350
+ /**
351
+ * Additional settings for an object dispatcher.
352
+ */
353
+ export interface ObjectCallbackSetters<TContextData, TObject extends Object, TParam extends string> {
354
+ /**
355
+ * Specifies the conditions under which requests are authorized.
356
+ * @param predicate A callback that returns whether a request is authorized.
357
+ * @returns The setters object so that settings can be chained.
358
+ * @since 0.7.0
359
+ */
360
+ authorize(predicate: ObjectAuthorizePredicate<TContextData, TParam>): ObjectCallbackSetters<TContextData, TObject, TParam>;
361
+ }
362
+ /**
363
+ * Additional settings for a collection dispatcher.
364
+ *
365
+ * @typeParam TContext The type of the context. {@link Context} or
366
+ * {@link RequestContext}.
367
+ * @typeParam TContextData The context data to pass to the {@link Context}.
368
+ * @typeParam TFilter The type of filter for the collection.
369
+ */
370
+ export interface CollectionCallbackSetters<TContext extends Context<TContextData>, TContextData, TFilter> {
371
+ /**
372
+ * Sets the counter for the collection.
373
+ * @param counter A callback that returns the number of items in the collection.
374
+ * @returns The setters object so that settings can be chained.
375
+ */
376
+ setCounter(counter: CollectionCounter<TContextData, TFilter>): CollectionCallbackSetters<TContext, TContextData, TFilter>;
377
+ /**
378
+ * Sets the first cursor for the collection.
379
+ * @param cursor The cursor for the first item in the collection.
380
+ * @returns The setters object so that settings can be chained.
381
+ */
382
+ setFirstCursor(cursor: CollectionCursor<TContext, TContextData, TFilter>): CollectionCallbackSetters<TContext, TContextData, TFilter>;
383
+ /**
384
+ * Sets the last cursor for the collection.
385
+ * @param cursor The cursor for the last item in the collection.
386
+ * @returns The setters object so that settings can be chained.
387
+ */
388
+ setLastCursor(cursor: CollectionCursor<TContext, TContextData, TFilter>): CollectionCallbackSetters<TContext, TContextData, TFilter>;
389
+ /**
390
+ * Specifies the conditions under which requests are authorized.
391
+ * @param predicate A callback that returns whether a request is authorized.
392
+ * @returns The setters object so that settings can be chained.
393
+ * @since 0.7.0
394
+ */
395
+ authorize(predicate: AuthorizePredicate<TContextData>): CollectionCallbackSetters<TContext, TContextData, TFilter>;
396
+ }
397
+ /**
398
+ * Registry for inbox listeners for different activity types.
399
+ */
400
+ export interface InboxListenerSetters<TContextData> {
401
+ /**
402
+ * Registers a listener for a specific incoming activity type.
403
+ *
404
+ * @param type A subclass of {@link Activity} to listen to.
405
+ * @param listener A callback to handle an incoming activity.
406
+ * @returns The setters object so that settings can be chained.
407
+ */
408
+ on<TActivity extends Activity>(type: new (...args: any[]) => TActivity, listener: InboxListener<TContextData, TActivity>): InboxListenerSetters<TContextData>;
409
+ /**
410
+ * Registers an error handler for inbox listeners. Any exceptions thrown
411
+ * from the listeners are caught and passed to this handler.
412
+ *
413
+ * @param handler A callback to handle an error.
414
+ * @returns The setters object so that settings can be chained.
415
+ */
416
+ onError(handler: InboxErrorHandler<TContextData>): InboxListenerSetters<TContextData>;
417
+ /**
418
+ * Configures a callback to dispatch the key pair for the authenticated
419
+ * document loader of the {@link Context} passed to the shared inbox listener.
420
+ *
421
+ * @param dispatcher A callback to dispatch the key pair for the authenticated
422
+ * document loader.
423
+ * @returns The setters object so that settings can be chained.
424
+ * @since 0.11.0
425
+ */
426
+ setSharedKeyDispatcher(dispatcher: SharedInboxKeyDispatcher<TContextData>): InboxListenerSetters<TContextData>;
427
+ }
428
+ /**
429
+ * Parameters of {@link Federation.fetch} method.
430
+ *
431
+ * @typeParam TContextData The context data to pass to the {@link Context}.
432
+ * @since 0.6.0
433
+ */
434
+ export interface FederationFetchOptions<TContextData> {
435
+ /**
436
+ * The context data to pass to the {@link Context}.
437
+ */
438
+ contextData: TContextData;
439
+ /**
440
+ * A callback to handle a request when the route is not found.
441
+ * If not provided, a 404 response is returned.
442
+ * @param request The request object.
443
+ * @returns The response to the request.
444
+ */
445
+ onNotFound?: (request: Request) => Response | Promise<Response>;
446
+ /**
447
+ * A callback to handle a request when the request's `Accept` header is not
448
+ * acceptable. If not provided, a 406 response is returned.
449
+ * @param request The request object.
450
+ * @returns The response to the request.
451
+ */
452
+ onNotAcceptable?: (request: Request) => Response | Promise<Response>;
453
+ /**
454
+ * A callback to handle a request when the request is unauthorized.
455
+ * If not provided, a 401 response is returned.
456
+ * @param request The request object.
457
+ * @returns The response to the request.
458
+ * @since 0.7.0
459
+ */
460
+ onUnauthorized?: (request: Request) => Response | Promise<Response>;
461
+ }
462
+ //# sourceMappingURL=federation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"federation.d.ts","sourceRoot":"","sources":["../../src/federation/federation.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { DocumentLoader } from "../runtime/docloader.js";
5
5
  import type { Recipient } from "../vocab/actor.js";
6
6
  import { Link, Object } from "../vocab/vocab.js";
7
7
  import type { ActorDispatcher, AuthorizePredicate, CollectionCounter, CollectionCursor, CollectionDispatcher, InboxErrorHandler, ObjectAuthorizePredicate, ObjectDispatcher } from "./callback.js";
8
- import type { Context, RequestContext } from "./context.js";
8
+ import type { Context, InboxContext, RequestContext } from "./context.js";
9
9
  import type { InboxListenerSet } from "./inbox.js";
10
10
  import type { KvKey, KvStore } from "./kv.js";
11
11
  import type { MessageQueue } from "./mq.js";
@@ -71,6 +71,7 @@ export declare function handleCollection<TItem extends URL | Object | Link | Rec
71
71
  export interface InboxHandlerParameters<TContextData> {
72
72
  handle: string | null;
73
73
  context: RequestContext<TContextData>;
74
+ inboxContextFactory(activity: unknown): InboxContext<TContextData>;
74
75
  kv: KvStore;
75
76
  kvPrefixes: {
76
77
  activityIdempotence: KvKey;
@@ -84,7 +85,7 @@ export interface InboxHandlerParameters<TContextData> {
84
85
  signatureTimeWindow: dntShim.Temporal.DurationLike | false;
85
86
  skipSignatureVerification: boolean;
86
87
  }
87
- export declare function handleInbox<TContextData>(request: Request, { handle, context, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, skipSignatureVerification, }: InboxHandlerParameters<TContextData>): Promise<Response>;
88
+ export declare function handleInbox<TContextData>(request: Request, { handle, context, inboxContextFactory, kv, kvPrefixes, queue, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, signatureTimeWindow, skipSignatureVerification, }: InboxHandlerParameters<TContextData>): Promise<Response>;
88
89
  /**
89
90
  * Options for the {@link respondWithObject} and
90
91
  * {@link respondWithObjectIfAcceptable} functions.
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":"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"}