@fedify/fedify 0.10.0-dev.218 → 0.10.0-dev.219
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
CHANGED
@@ -106,6 +106,15 @@ To be released.
|
|
106
106
|
- The `Context.sendActivity()` method's first parameter now accepts
|
107
107
|
`SenderKeyPair[]` as well.
|
108
108
|
|
109
|
+
- In the future, `Federation` class will become an interface.
|
110
|
+
For the forward compatibility, the following changes are made:
|
111
|
+
|
112
|
+
- Added `createFederation()` function.
|
113
|
+
- Added `CreateFederationOptions` interface.
|
114
|
+
- Deprecated `new Federation()` constructor. Use `createFederation()`
|
115
|
+
function instead.
|
116
|
+
- Deprecated `FederationParameters` interface.
|
117
|
+
|
109
118
|
- Added `Arrive` class to Activity Vocabulary API.
|
110
119
|
[[#65], [#68] by Randy Wressell]
|
111
120
|
|
@@ -718,3 +727,5 @@ Version 0.1.0
|
|
718
727
|
-------------
|
719
728
|
|
720
729
|
Initial release. Released on March 8, 2024.
|
730
|
+
|
731
|
+
<!-- cSpell: ignore Wressell -->
|
@@ -11,6 +11,20 @@ import { buildCollectionSynchronizationHeader } from "./collection.js";
|
|
11
11
|
import { handleActor, handleCollection, handleInbox, handleObject, } from "./handler.js";
|
12
12
|
import { Router, RouterError } from "./router.js";
|
13
13
|
import { extractInboxes, sendActivity } from "./send.js";
|
14
|
+
const invokedByCreateFederation = Symbol("invokedByCreateFederation");
|
15
|
+
/**
|
16
|
+
* Create a new {@link Federation} instance.
|
17
|
+
* @param parameters Parameters for initializing the instance.
|
18
|
+
* @returns A new {@link Federation} instance.
|
19
|
+
* @since 0.10.0
|
20
|
+
*/
|
21
|
+
export function createFederation(options) {
|
22
|
+
return new Federation({
|
23
|
+
...options,
|
24
|
+
// @ts-ignore: This is a private symbol.
|
25
|
+
[invokedByCreateFederation]: true,
|
26
|
+
});
|
27
|
+
}
|
14
28
|
/**
|
15
29
|
* An object that registers federation-related business logic and dispatches
|
16
30
|
* requests to the appropriate handlers.
|
@@ -43,17 +57,24 @@ export class Federation {
|
|
43
57
|
/**
|
44
58
|
* Create a new {@link Federation} instance.
|
45
59
|
* @param parameters Parameters for initializing the instance.
|
60
|
+
* @deprecated Use {@link createFederation} method instead.
|
46
61
|
*/
|
47
|
-
constructor(
|
48
|
-
|
62
|
+
constructor(options) {
|
63
|
+
const logger = getLogger(["fedify", "federation"]);
|
64
|
+
// @ts-ignore: This is a private symbol.
|
65
|
+
if (!options[invokedByCreateFederation]) {
|
66
|
+
logger.warn("The Federation constructor is deprecated. Use the createFederation()" +
|
67
|
+
"function instead.");
|
68
|
+
}
|
69
|
+
this.#kv = options.kv;
|
49
70
|
this.#kvPrefixes = {
|
50
71
|
...({
|
51
72
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
52
73
|
remoteDocument: ["_fedify", "remoteDocument"],
|
53
74
|
}),
|
54
|
-
...(kvPrefixes ?? {}),
|
75
|
+
...(options.kvPrefixes ?? {}),
|
55
76
|
};
|
56
|
-
this.#queue = queue;
|
77
|
+
this.#queue = options.queue;
|
57
78
|
this.#queueStarted = false;
|
58
79
|
this.#router = new Router();
|
59
80
|
this.#router.add("/.well-known/webfinger", "webfinger");
|
@@ -61,25 +82,25 @@ export class Federation {
|
|
61
82
|
this.#inboxListeners = new Map();
|
62
83
|
this.#objectCallbacks = {};
|
63
84
|
this.#objectTypeIds = {};
|
64
|
-
this.#documentLoader = documentLoader ?? kvCache({
|
85
|
+
this.#documentLoader = options.documentLoader ?? kvCache({
|
65
86
|
loader: fetchDocumentLoader,
|
66
|
-
kv: kv,
|
87
|
+
kv: options.kv,
|
67
88
|
prefix: this.#kvPrefixes.remoteDocument,
|
68
89
|
});
|
69
|
-
this.#contextLoader = contextLoader ?? this.#documentLoader;
|
90
|
+
this.#contextLoader = options.contextLoader ?? this.#documentLoader;
|
70
91
|
this.#authenticatedDocumentLoaderFactory =
|
71
|
-
authenticatedDocumentLoaderFactory ??
|
92
|
+
options.authenticatedDocumentLoaderFactory ??
|
72
93
|
getAuthenticatedDocumentLoader;
|
73
|
-
this.#onOutboxError = onOutboxError;
|
74
|
-
this.#treatHttps = treatHttps ?? false;
|
75
|
-
if (treatHttps) {
|
76
|
-
|
94
|
+
this.#onOutboxError = options.onOutboxError;
|
95
|
+
this.#treatHttps = options.treatHttps ?? false;
|
96
|
+
if (options.treatHttps) {
|
97
|
+
logger.warn("The treatHttps option is deprecated and will be removed in " +
|
77
98
|
"a future release. Instead, use the x-forwarded-fetch library" +
|
78
99
|
" to recognize the X-Forwarded-Host and X-Forwarded-Proto " +
|
79
100
|
"headers. See also: <https://github.com/dahlia/x-forwarded-fetch>.");
|
80
101
|
}
|
81
|
-
this.#signatureTimeWindow = signatureTimeWindow ?? { minutes: 1 };
|
82
|
-
this.#backoffSchedule = backoffSchedule ?? [
|
102
|
+
this.#signatureTimeWindow = options.signatureTimeWindow ?? { minutes: 1 };
|
103
|
+
this.#backoffSchedule = options.backoffSchedule ?? [
|
83
104
|
3000,
|
84
105
|
15000,
|
85
106
|
60000,
|
package/package.json
CHANGED
@@ -10,9 +10,10 @@ import type { KvKey, KvStore } from "./kv.js";
|
|
10
10
|
import type { MessageQueue } from "./mq.js";
|
11
11
|
import { type SenderKeyPair } from "./send.js";
|
12
12
|
/**
|
13
|
-
*
|
13
|
+
* Options for {@link createFederation} function.
|
14
|
+
* @since 0.10.0
|
14
15
|
*/
|
15
|
-
export interface
|
16
|
+
export interface CreateFederationOptions {
|
16
17
|
/**
|
17
18
|
* The key-value store used for caching, outbox queues, and inbox idempotence.
|
18
19
|
*/
|
@@ -26,7 +27,6 @@ export interface FederationParameters {
|
|
26
27
|
* The message queue for sending activities to recipients' inboxes.
|
27
28
|
* If not provided, activities will not be queued and will be sent
|
28
29
|
* immediately.
|
29
|
-
* @since 0.5.0
|
30
30
|
*/
|
31
31
|
queue?: MessageQueue;
|
32
32
|
/**
|
@@ -37,31 +37,56 @@ export interface FederationParameters {
|
|
37
37
|
/**
|
38
38
|
* A custom JSON-LD context loader. By default, this uses the same loader
|
39
39
|
* as the document loader.
|
40
|
-
* @since 0.8.0
|
41
40
|
*/
|
42
41
|
contextLoader?: DocumentLoader;
|
43
42
|
/**
|
44
43
|
* A factory function that creates an authenticated document loader for a
|
45
44
|
* given identity. This is used for fetching documents that require
|
46
45
|
* authentication.
|
47
|
-
*
|
48
|
-
* @since 0.4.0
|
49
46
|
*/
|
50
47
|
authenticatedDocumentLoaderFactory?: AuthenticatedDocumentLoaderFactory;
|
51
48
|
/**
|
52
|
-
*
|
53
|
-
*
|
54
|
-
*
|
55
|
-
*
|
56
|
-
* Note that this option is deprecated and will be removed in a future
|
57
|
-
* release. Instead, use the [x-forwarded-fetch] library to recognize
|
58
|
-
* the `X-Forwarded-Host` and `X-Forwarded-Proto` headers.
|
49
|
+
* A callback that handles errors during outbox processing. Note that this
|
50
|
+
* callback can be called multiple times for the same activity, because
|
51
|
+
* the delivery is retried according to the backoff schedule until it
|
52
|
+
* succeeds or reaches the maximum retry count.
|
59
53
|
*
|
60
|
-
*
|
54
|
+
* If any errors are thrown in this callback, they are ignored.
|
55
|
+
*/
|
56
|
+
onOutboxError?: OutboxErrorHandler;
|
57
|
+
/**
|
58
|
+
* The time window for verifying the signature of incoming requests. If the
|
59
|
+
* request is older or newer than this window, it is rejected. By default,
|
60
|
+
* the window is a minute.
|
61
|
+
*/
|
62
|
+
signatureTimeWindow?: dntShim.Temporal.DurationLike;
|
63
|
+
}
|
64
|
+
/**
|
65
|
+
* Parameters for initializing a {@link Federation} instance.
|
66
|
+
* @deprecated
|
67
|
+
*/
|
68
|
+
export interface FederationParameters extends CreateFederationOptions {
|
69
|
+
/**
|
70
|
+
* The message queue for sending activities to recipients' inboxes.
|
71
|
+
* If not provided, activities will not be queued and will be sent
|
72
|
+
* immediately.
|
73
|
+
* @since 0.5.0
|
74
|
+
*/
|
75
|
+
queue?: MessageQueue;
|
76
|
+
/**
|
77
|
+
* A custom JSON-LD context loader. By default, this uses the same loader
|
78
|
+
* as the document loader.
|
79
|
+
* @since 0.8.0
|
80
|
+
*/
|
81
|
+
contextLoader?: DocumentLoader;
|
82
|
+
/**
|
83
|
+
* A factory function that creates an authenticated document loader for a
|
84
|
+
* given identity. This is used for fetching documents that require
|
85
|
+
* authentication.
|
61
86
|
*
|
62
|
-
* @
|
87
|
+
* @since 0.4.0
|
63
88
|
*/
|
64
|
-
|
89
|
+
authenticatedDocumentLoaderFactory?: AuthenticatedDocumentLoaderFactory;
|
65
90
|
/**
|
66
91
|
* A callback that handles errors during outbox processing. Note that this
|
67
92
|
* callback can be called multiple times for the same activity, because
|
@@ -77,10 +102,22 @@ export interface FederationParameters {
|
|
77
102
|
* The time window for verifying the signature of incoming requests. If the
|
78
103
|
* request is older or newer than this window, it is rejected. By default,
|
79
104
|
* the window is a minute.
|
80
|
-
*
|
81
|
-
* @since 0.9.0
|
82
105
|
*/
|
83
106
|
signatureTimeWindow?: dntShim.Temporal.DurationLike;
|
107
|
+
/**
|
108
|
+
* Whether to treat HTTP requests as HTTPS. This is useful for testing and
|
109
|
+
* local development. However, it must be disabled in production.
|
110
|
+
* Turned off by default.
|
111
|
+
*
|
112
|
+
* Note that this option is deprecated and will be removed in a future
|
113
|
+
* release. Instead, use the [x-forwarded-fetch] library to recognize
|
114
|
+
* the `X-Forwarded-Host` and `X-Forwarded-Proto` headers.
|
115
|
+
*
|
116
|
+
* [x-forwarded-fetch]: https://github.com/dahlia/x-forwarded-fetch
|
117
|
+
*
|
118
|
+
* @deprecated
|
119
|
+
*/
|
120
|
+
treatHttps?: boolean;
|
84
121
|
backoffSchedule?: dntShim.Temporal.Duration[];
|
85
122
|
}
|
86
123
|
/**
|
@@ -98,6 +135,13 @@ export interface FederationKvPrefixes {
|
|
98
135
|
*/
|
99
136
|
remoteDocument: KvKey;
|
100
137
|
}
|
138
|
+
/**
|
139
|
+
* Create a new {@link Federation} instance.
|
140
|
+
* @param parameters Parameters for initializing the instance.
|
141
|
+
* @returns A new {@link Federation} instance.
|
142
|
+
* @since 0.10.0
|
143
|
+
*/
|
144
|
+
export declare function createFederation<TContextData>(options: CreateFederationOptions): Federation<TContextData>;
|
101
145
|
/**
|
102
146
|
* An object that registers federation-related business logic and dispatches
|
103
147
|
* requests to the appropriate handlers.
|
@@ -110,8 +154,9 @@ export declare class Federation<TContextData> {
|
|
110
154
|
/**
|
111
155
|
* Create a new {@link Federation} instance.
|
112
156
|
* @param parameters Parameters for initializing the instance.
|
157
|
+
* @deprecated Use {@link createFederation} method instead.
|
113
158
|
*/
|
114
|
-
constructor(
|
159
|
+
constructor(options: FederationParameters);
|
115
160
|
/**
|
116
161
|
* Create a new context.
|
117
162
|
* @param baseUrl The base URL of the server. The `pathname` remains root,
|
@@ -407,7 +452,7 @@ export interface FederationFetchOptions<TContextData> {
|
|
407
452
|
* Additional settings for the actor dispatcher.
|
408
453
|
*
|
409
454
|
* ``` typescript
|
410
|
-
* const federation =
|
455
|
+
* const federation = createFederation<void>({ ... });
|
411
456
|
* federation.setActorDispatcher("/users/{handle}", async (ctx, handle, key) => {
|
412
457
|
* ...
|
413
458
|
* })
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,cAAc,EAIpB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EACL,QAAQ,EAGR,KAAK,MAAM,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAEV,OAAO,EAEP,cAAc,EACd,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE7E
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":"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"}
|