@fedify/fedify 0.7.0-dev.120 → 0.7.0-dev.128
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of @fedify/fedify might be problematic. Click here for more details.
- package/CHANGES.md +20 -0
- package/esm/federation/handler.js +29 -26
- package/esm/federation/middleware.js +23 -1
- package/esm/federation/send.js +13 -3
- package/package.json +2 -1
- package/types/federation/handler.d.ts.map +1 -1
- package/types/federation/middleware.d.ts.map +1 -1
- package/types/federation/send.d.ts.map +1 -1
package/CHANGES.md
CHANGED
@@ -29,6 +29,15 @@ To be released.
|
|
29
29
|
[authorized fetch]: https://swicg.github.io/activitypub-http-signature/#authorized-fetch
|
30
30
|
|
31
31
|
|
32
|
+
Version 0.6.1
|
33
|
+
-------------
|
34
|
+
|
35
|
+
Released on April 17, 2024.
|
36
|
+
|
37
|
+
- Fixed a bug of `new Federation()` constructor that if it is once called
|
38
|
+
the process will never exit. [[#39]]
|
39
|
+
|
40
|
+
|
32
41
|
Version 0.6.0
|
33
42
|
-------------
|
34
43
|
|
@@ -73,6 +82,17 @@ Released on April 9, 2024.
|
|
73
82
|
[#27]: https://github.com/dahlia/fedify/issues/27
|
74
83
|
|
75
84
|
|
85
|
+
Version 0.5.2
|
86
|
+
-------------
|
87
|
+
|
88
|
+
Released on April 17, 2024.
|
89
|
+
|
90
|
+
- Fixed a bug of `new Federation()` constructor that if it is once called
|
91
|
+
the process will never exit. [[#39]]
|
92
|
+
|
93
|
+
[#39]: https://github.com/dahlia/fedify/issues/39
|
94
|
+
|
95
|
+
|
76
96
|
Version 0.5.1
|
77
97
|
-------------
|
78
98
|
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
2
|
+
import { getLogger } from "@logtape/logtape";
|
2
3
|
import { accepts } from "../deps/jsr.io/@std/http/0.220.1/negotiation.js";
|
3
4
|
import { doesActorOwnKey, verify } from "../httpsig/mod.js";
|
4
5
|
import { Activity, OrderedCollection, OrderedCollectionPage, } from "../vocab/vocab.js";
|
@@ -14,10 +15,8 @@ export function acceptsJsonLd(request) {
|
|
14
15
|
types.includes("application/json");
|
15
16
|
}
|
16
17
|
export async function handleActor(request, { handle, context, actorDispatcher, authorizePredicate, onNotFound, onNotAcceptable, onUnauthorized, }) {
|
17
|
-
if (actorDispatcher == null)
|
18
|
-
|
19
|
-
return response instanceof Promise ? await response : response;
|
20
|
-
}
|
18
|
+
if (actorDispatcher == null)
|
19
|
+
return await onNotFound(request);
|
21
20
|
const key = await context.getActorKey(handle);
|
22
21
|
const actor = await actorDispatcher(context, handle, key);
|
23
22
|
if (actor == null)
|
@@ -111,21 +110,22 @@ export async function handleCollection(request, { handle, context, collectionCal
|
|
111
110
|
});
|
112
111
|
}
|
113
112
|
export async function handleInbox(request, { handle, context, kv, kvPrefix, actorDispatcher, inboxListeners, inboxErrorHandler, onNotFound, }) {
|
113
|
+
const logger = getLogger(["fedify", "federation", "inbox"]);
|
114
114
|
if (actorDispatcher == null) {
|
115
|
-
|
116
|
-
return
|
115
|
+
logger.error("Actor dispatcher is not set.", { handle });
|
116
|
+
return await onNotFound(request);
|
117
117
|
}
|
118
118
|
else if (handle != null) {
|
119
119
|
const key = await context.getActorKey(handle);
|
120
|
-
const
|
121
|
-
const actor = promise instanceof Promise ? await promise : promise;
|
120
|
+
const actor = await actorDispatcher(context, handle, key);
|
122
121
|
if (actor == null) {
|
123
|
-
|
124
|
-
return
|
122
|
+
logger.error("Actor {handle} not found.", { handle });
|
123
|
+
return await onNotFound(request);
|
125
124
|
}
|
126
125
|
}
|
127
126
|
const key = await verify(request, context.documentLoader);
|
128
127
|
if (key == null) {
|
128
|
+
logger.error("Failed to verify the request signature.", { handle });
|
129
129
|
const response = new Response("Failed to verify the request signature.", {
|
130
130
|
status: 401,
|
131
131
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -136,10 +136,9 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
136
136
|
try {
|
137
137
|
json = await request.json();
|
138
138
|
}
|
139
|
-
catch (
|
140
|
-
|
141
|
-
|
142
|
-
await promise;
|
139
|
+
catch (error) {
|
140
|
+
logger.error("Failed to parse JSON:\n{error}", { handle, error });
|
141
|
+
await inboxErrorHandler?.(context, error);
|
143
142
|
return new Response("Invalid JSON.", {
|
144
143
|
status: 400,
|
145
144
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -149,10 +148,9 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
149
148
|
try {
|
150
149
|
activity = await Activity.fromJsonLd(json, context);
|
151
150
|
}
|
152
|
-
catch (
|
153
|
-
|
154
|
-
|
155
|
-
await promise;
|
151
|
+
catch (error) {
|
152
|
+
logger.error("Failed to parse activity:\n{error}", { handle, json, error });
|
153
|
+
await inboxErrorHandler?.(context, error);
|
156
154
|
return new Response("Invalid activity.", {
|
157
155
|
status: 400,
|
158
156
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -164,6 +162,10 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
164
162
|
if (cacheKey != null) {
|
165
163
|
const cached = await kv.get(cacheKey);
|
166
164
|
if (cached === true) {
|
165
|
+
logger.debug("Activity {activityId} has already been processed.", {
|
166
|
+
activityId: activity.id?.href,
|
167
|
+
activity: json,
|
168
|
+
});
|
167
169
|
return new Response(`Activity <${activity.id}> has already been processed.`, {
|
168
170
|
status: 202,
|
169
171
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -171,6 +173,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
171
173
|
}
|
172
174
|
}
|
173
175
|
if (activity.actorId == null) {
|
176
|
+
logger.error("Missing actor.", { activity: json });
|
174
177
|
const response = new Response("Missing actor.", {
|
175
178
|
status: 400,
|
176
179
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -178,6 +181,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
178
181
|
return response;
|
179
182
|
}
|
180
183
|
if (!await doesActorOwnKey(activity, key, context.documentLoader)) {
|
184
|
+
logger.error("The signer ({keyId}) and the actor ({actorId}) do not match.", { activity: json, keyId: key.id?.href, actorId: activity.actorId.href });
|
181
185
|
const response = new Response("The signer and the actor do not match.", {
|
182
186
|
status: 401,
|
183
187
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -192,6 +196,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
192
196
|
if (inboxListeners.has(cls))
|
193
197
|
break;
|
194
198
|
if (cls === Activity) {
|
199
|
+
logger.error("Unsupported activity type:\n{activity}", { activity: json });
|
195
200
|
return new Response("", {
|
196
201
|
status: 202,
|
197
202
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -201,14 +206,11 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
201
206
|
}
|
202
207
|
const listener = inboxListeners.get(cls);
|
203
208
|
try {
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
const promise = inboxErrorHandler?.(context, e);
|
210
|
-
if (promise instanceof Promise)
|
211
|
-
await promise;
|
209
|
+
await listener(context, activity);
|
210
|
+
}
|
211
|
+
catch (error) {
|
212
|
+
logger.error("Failed to process the activity:\n{error}", { error, activity: json });
|
213
|
+
await inboxErrorHandler?.(context, error);
|
212
214
|
return new Response("Internal server error.", {
|
213
215
|
status: 500,
|
214
216
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -217,6 +219,7 @@ export async function handleInbox(request, { handle, context, kv, kvPrefix, acto
|
|
217
219
|
if (cacheKey != null) {
|
218
220
|
await kv.set(cacheKey, true, { ttl: Temporal.Duration.from({ days: 1 }) });
|
219
221
|
}
|
222
|
+
logger.info("Activity {activityId} has been processed.", { activityId: activity.id?.href, activity: json });
|
220
223
|
return new Response("", {
|
221
224
|
status: 202,
|
222
225
|
headers: { "Content-Type": "text/plain; charset=utf-8" },
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import * as dntShim from "../_dnt.shims.js";
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
|
+
import { getLogger } from "@logtape/logtape";
|
3
4
|
import { exportJwk, importJwk, validateCryptoKey } from "../httpsig/key.js";
|
4
5
|
import { getKeyOwner, verify } from "../httpsig/mod.js";
|
5
6
|
import { handleNodeInfo, handleNodeInfoJrd } from "../nodeinfo/handler.js";
|
@@ -20,6 +21,7 @@ export class Federation {
|
|
20
21
|
#kv;
|
21
22
|
#kvPrefixes;
|
22
23
|
#queue;
|
24
|
+
#queueStarted;
|
23
25
|
#router;
|
24
26
|
#nodeInfoDispatcher;
|
25
27
|
#actorCallbacks;
|
@@ -47,6 +49,7 @@ export class Federation {
|
|
47
49
|
...(kvPrefixes ?? {}),
|
48
50
|
};
|
49
51
|
this.#queue = queue;
|
52
|
+
this.#queueStarted = false;
|
50
53
|
this.#router = new Router();
|
51
54
|
this.#router.add("/.well-known/webfinger", "webfinger");
|
52
55
|
this.#router.add("/.well-known/nodeinfo", "nodeInfoJrd");
|
@@ -68,7 +71,14 @@ export class Federation {
|
|
68
71
|
15 * 60000,
|
69
72
|
60 * 60000,
|
70
73
|
].map((ms) => Temporal.Duration.from({ milliseconds: ms }));
|
71
|
-
|
74
|
+
}
|
75
|
+
#startQueue() {
|
76
|
+
if (this.#queue != null && !this.#queueStarted) {
|
77
|
+
getLogger(["fedify", "federation", "outbox"])
|
78
|
+
.debug("Starting an outbox queue.");
|
79
|
+
this.#queue?.listen(this.#listenQueue.bind(this));
|
80
|
+
this.#queueStarted = true;
|
81
|
+
}
|
72
82
|
}
|
73
83
|
async #listenQueue(message) {
|
74
84
|
let activity = null;
|
@@ -521,9 +531,12 @@ export class Federation {
|
|
521
531
|
* @throws {TypeError} If the activity to send does not have an actor.
|
522
532
|
*/
|
523
533
|
async sendActivity({ keyId, privateKey }, recipients, activity, { preferSharedInbox, immediate } = {}) {
|
534
|
+
const logger = getLogger(["fedify", "federation", "outbox"]);
|
524
535
|
if (activity.actorId == null) {
|
536
|
+
logger.error("Activity {activityId} to send does not have an actor.", { activity, activityId: activity?.id?.href });
|
525
537
|
throw new TypeError("The activity to send must have at least one actor property.");
|
526
538
|
}
|
539
|
+
this.#startQueue();
|
527
540
|
if (activity.id == null) {
|
528
541
|
activity = activity.clone({
|
529
542
|
id: new URL(`urn:uuid:${dntShim.crypto.randomUUID()}`),
|
@@ -534,7 +547,15 @@ export class Federation {
|
|
534
547
|
recipients: Array.isArray(recipients) ? recipients : [recipients],
|
535
548
|
preferSharedInbox,
|
536
549
|
});
|
550
|
+
logger.debug("Sending activity {activityId} to inboxes:\n{inboxes}", { inboxes, activityId: activity.id?.href, activity });
|
537
551
|
if (immediate || this.#queue == null) {
|
552
|
+
if (immediate) {
|
553
|
+
logger.debug("Sending activity immediately without queue since immediate option " +
|
554
|
+
"is set.", { activityId: activity.id?.href, activity });
|
555
|
+
}
|
556
|
+
else {
|
557
|
+
logger.debug("Sending activity immediately without queue since queue is not set.", { activityId: activity.id?.href, activity });
|
558
|
+
}
|
538
559
|
const documentLoader = this.#authenticatedDocumentLoaderFactory({ keyId, privateKey });
|
539
560
|
const promises = [];
|
540
561
|
for (const inbox of inboxes) {
|
@@ -549,6 +570,7 @@ export class Federation {
|
|
549
570
|
await Promise.all(promises);
|
550
571
|
return;
|
551
572
|
}
|
573
|
+
logger.debug("Enqueuing activity {activityId} to send later.", { activityId: activity.id?.href, activity });
|
552
574
|
const privateKeyJwk = await exportJwk(privateKey);
|
553
575
|
const activityJson = await activity.toJsonLd({ expand: true });
|
554
576
|
for (const inbox of inboxes) {
|
package/esm/federation/send.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import { getLogger } from "@logtape/logtape";
|
1
2
|
import { sign } from "../httpsig/mod.js";
|
2
3
|
/**
|
3
4
|
* Extracts the inbox URLs from recipients.
|
@@ -24,6 +25,7 @@ export function extractInboxes({ recipients, preferSharedInbox }) {
|
|
24
25
|
* @throws {Error} If the activity fails to send.
|
25
26
|
*/
|
26
27
|
export async function sendActivity({ activity, privateKey, keyId, inbox, documentLoader, }) {
|
28
|
+
const logger = getLogger(["fedify", "federation", "outbox"]);
|
27
29
|
if (activity.actorId == null) {
|
28
30
|
throw new TypeError("The activity to send must have at least one actor property.");
|
29
31
|
}
|
@@ -38,8 +40,16 @@ export async function sendActivity({ activity, privateKey, keyId, inbox, documen
|
|
38
40
|
request = await sign(request, privateKey, keyId);
|
39
41
|
const response = await fetch(request);
|
40
42
|
if (!response.ok) {
|
41
|
-
|
42
|
-
|
43
|
-
|
43
|
+
const error = await response.text();
|
44
|
+
logger.error("Failed to send activity {activityId} to {inbox} ({status} " +
|
45
|
+
"{statusText}):\n{error}", {
|
46
|
+
activityId: activity.id?.href,
|
47
|
+
inbox: inbox.href,
|
48
|
+
status: response.status,
|
49
|
+
statusText: response.statusText,
|
50
|
+
error,
|
51
|
+
});
|
52
|
+
throw new Error(`Failed to send activity ${activity?.id?.href} to ${inbox.href} ` +
|
53
|
+
`(${response.status} ${response.statusText}):\n${error}`);
|
44
54
|
}
|
45
55
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fedify/fedify",
|
3
|
-
"version": "0.7.0-dev.
|
3
|
+
"version": "0.7.0-dev.128+fd793513",
|
4
4
|
"description": "An ActivityPub server framework",
|
5
5
|
"keywords": [
|
6
6
|
"ActivityPub",
|
@@ -77,6 +77,7 @@
|
|
77
77
|
},
|
78
78
|
"dependencies": {
|
79
79
|
"@js-temporal/polyfill": "^0.4.4",
|
80
|
+
"@logtape/logtape": "^0.2.1",
|
80
81
|
"@phensley/language-tag": "^1.8.0",
|
81
82
|
"jsonld": "^8.3.2",
|
82
83
|
"uri-template-router": "^0.0.16",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/federation/handler.ts"],"names":[],"mappings":";;AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,QAAQ,EACR,KAAK,IAAI,EACT,KAAK,MAAM,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CASvD;AAED,MAAM,WAAW,sBAAsB,CAAC,YAAY;IAClD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACtD,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAED,wBAAsB,WAAW,CAAC,YAAY,EAC5C,OAAO,EAAE,OAAO,EAChB,EACE,MAAM,EACN,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,GACf,EAAE,sBAAsB,CAAC,YAAY,CAAC,GACtC,OAAO,CAAC,QAAQ,CAAC,CAoBnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,YAAY;IACtD;;OAEG;IACH,UAAU,EAAE,oBAAoB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAEtD;;OAEG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAE1C;;OAEG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE7C;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE5C;;OAEG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,2BAA2B,CAAC,KAAK,EAAE,YAAY;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC/D,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/D,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC3D,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjE;AAED,wBAAsB,gBAAgB,CACpC,KAAK,SAAS,GAAG,GAAG,MAAM,GAAG,IAAI,EACjC,YAAY,EAEZ,OAAO,EAAE,OAAO,EAChB,EACE,MAAM,EACN,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,UAAU,EACV,eAAe,GAChB,EAAE,2BAA2B,CAAC,KAAK,EAAE,YAAY,CAAC,GAClD,OAAO,CAAC,QAAQ,CAAC,CA6EnB;AAED,MAAM,WAAW,sBAAsB,CAAC,YAAY;IAClD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAChD,cAAc,EAAE,GAAG,CACjB,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,QAAQ,EACpC,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CACtC,CAAC;IACF,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACpD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC5D;AAED,wBAAsB,WAAW,CAAC,YAAY,EAC5C,OAAO,EAAE,OAAO,EAChB,EACE,MAAM,EACN,OAAO,EACP,EAAE,EACF,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,UAAU,GACX,EAAE,sBAAsB,CAAC,YAAY,CAAC,GACtC,OAAO,CAAC,QAAQ,CAAC,CA6HnB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,QAAQ,CAAC,CAOnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAK1B"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/federation/middleware.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/federation/send.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/federation/send.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAG5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,UAAU,EAAE,KAAK,EAAE,CAAC;IAEpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,wBAAwB,GAC1D,GAAG,CAAC,GAAG,CAAC,CASV;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC;IAE9B;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,KAAK,EAAE,GAAG,CAAC;IAEX;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,EACE,QAAQ,EACR,UAAU,EACV,KAAK,EACL,KAAK,EACL,cAAc,GACf,EAAE,sBAAsB,GACxB,OAAO,CAAC,IAAI,CAAC,CAmCf"}
|