@fedify/fedify 1.10.0-dev.2 → 2.0.0-dev.12
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/README.md +3 -0
- package/dist/{actor-eIATKOh7.js → actor-C-FuEZU4.js} +220 -705
- package/dist/{actor-C1Euqngb.d.ts → actor-DqFajh9s.d.ts} +2 -2
- package/dist/{actor-8zynMl2a.cjs → actor-_9UN5RVT.cjs} +952 -1479
- package/dist/{actor-Ydzhc8dj.d.cts → actor-f2NtjyCg.d.cts} +2 -2
- package/dist/{actor-Bv7llTFW.js → actor-rOm0sXHU.js} +1 -1
- package/dist/{assert_rejects-DiIiJbZn.js → assert_rejects-Ce45JcFg.js} +1 -1
- package/dist/{assert_is_error-BPGph1Jx.js → assert_throws-BNXdRGWP.js} +31 -1
- package/dist/{builder-C7fApQY_.js → builder-hArjoWjW.js} +3 -4
- package/dist/{client-DjT_tegg.d.cts → client-94iWEfQa.d.cts} +3 -75
- package/dist/{client-DF8anIB5.d.ts → client-BsGzbnV-.d.ts} +3 -75
- package/dist/{client-Bwnrdh_A.js → client-pY7-3icS.js} +3 -22
- package/dist/compat/mod.d.cts +10 -12
- package/dist/compat/mod.d.ts +10 -12
- package/dist/compat/transformers.test.js +20 -20
- package/dist/{context-CwUAkopp.d.cts → context-PxGADCsD.d.cts} +152 -27
- package/dist/{context-CXUibY4L.d.ts → context-V-XS2_6O.d.ts} +152 -27
- package/dist/{authdocloader-TNeksncq.js → docloader-CE1lRhEV.js} +17 -8
- package/dist/{esm-aj4vkb76.js → esm-BEFbR5eN.js} +32 -17
- package/dist/federation/builder.test.js +9 -12
- package/dist/federation/collection.test.js +7 -9
- package/dist/federation/handler.test.js +28 -149
- package/dist/federation/idempotency.test.js +26 -27
- package/dist/federation/inbox.test.js +4 -6
- package/dist/federation/keycache.test.js +3 -4
- package/dist/federation/kv.test.js +6 -8
- package/dist/federation/middleware.test.js +270 -93
- package/dist/federation/mod.cjs +9 -11
- package/dist/federation/mod.d.cts +10 -12
- package/dist/federation/mod.d.ts +10 -12
- package/dist/federation/mod.js +9 -11
- package/dist/federation/mq.test.js +10 -10
- package/dist/federation/negotiation.test.js +26 -0
- package/dist/federation/retry.test.js +4 -5
- package/dist/federation/router.test.js +6 -8
- package/dist/federation/send.test.js +14 -16
- package/dist/{http-wsGR6KkT.d.ts → http-BbO0ejuk.d.ts} +2 -2
- package/dist/{http-DXmKLE1t.js → http-Bmx7ea3F.js} +2 -2
- package/dist/{http-B1_DzfAU.d.cts → http-M8k5mKc0.d.cts} +2 -2
- package/dist/{http-DMJrVRf0.js → http-Q_l4fCEE.js} +256 -6
- package/dist/{http-CK80ff9S.cjs → http-So5V_Tgv.cjs} +289 -9
- package/dist/{inbox-Dt-Q2rJt.js → inbox-B9PjFn2S.js} +2 -7
- package/dist/{key-Tt9B2Qkj.js → key-khQpfFdw.js} +3 -2
- package/dist/{keycache-CXF4YAON.js → keycache-BU3fsZFa.js} +1 -1
- package/dist/{keys-CAUbEZtV.js → keys-BaMFfIdL.js} +2 -1
- package/dist/kv-cache-DN9pfMBe.js +94 -0
- package/dist/kv-cache-R1oW382l.js +122 -0
- package/dist/kv-cache-X2ggcnHI.cjs +134 -0
- package/dist/{ld-CqoYKNwB.js → ld-BLMebnep.js} +3 -2
- package/dist/{type-E_91dusN.js → lookup-C7SSHgK7.js} +542 -5394
- package/dist/{lookup-BXlOCJsH.cjs → lookup-CLaDFNx1.cjs} +134 -5
- package/dist/{lookup-8Ik9lSMm.js → lookup-CtC3x1M6.js} +125 -2
- package/dist/middleware-BYBwqvTv.cjs +15 -0
- package/dist/{middleware-DnXc8LK4.js → middleware-Bda2JO66.js} +38 -84
- package/dist/{middleware-nSw7nWf8.js → middleware-C3ml59Hp.js} +43 -146
- package/dist/middleware-DC7h2qq-.js +26 -0
- package/dist/{middleware-bN29Orv5.cjs → middleware-DFLterpx.cjs} +58 -104
- package/dist/middleware-mQR2SM7T.js +15 -0
- package/dist/{mod-CDObsV1d.d.ts → mod-BlVovdcy.d.ts} +2 -2
- package/dist/{mod-mXx9V0q5.d.cts → mod-BoRKfJPE.d.cts} +2 -2
- package/dist/{mod-BUbqxBev.d.cts → mod-BxRCHTz-.d.cts} +2 -2
- package/dist/{mod-jQ4OODsl.d.cts → mod-C58MZ7Wx.d.cts} +1 -1
- package/dist/{mod-BcObK1Lz.d.ts → mod-Cdo6SYlJ.d.ts} +2 -2
- package/dist/{mod-DgcYoyZK.d.ts → mod-D5Z2tISD.d.ts} +3 -3
- package/dist/mod-DMpuiKXi.d.cts +107 -0
- package/dist/{mod-fjqfsrty.d.cts → mod-DgxG-byT.d.cts} +3 -3
- package/dist/{mod-DBzN0aCM.d.ts → mod-Ds0mpFZU.d.ts} +1 -1
- package/dist/mod-aAE2wOWV.d.ts +109 -0
- package/dist/mod.cjs +19 -34
- package/dist/mod.d.cts +15 -17
- package/dist/mod.d.ts +15 -17
- package/dist/mod.js +14 -16
- package/dist/negotiation-C4nFufNk.js +71 -0
- package/dist/nodeinfo/client.test.js +30 -111
- package/dist/nodeinfo/handler.test.js +25 -26
- package/dist/nodeinfo/mod.cjs +3 -6
- package/dist/nodeinfo/mod.d.cts +3 -5
- package/dist/nodeinfo/mod.d.ts +3 -5
- package/dist/nodeinfo/mod.js +3 -4
- package/dist/nodeinfo/types.test.js +8 -15
- package/dist/{owner-6KSEp9eV.d.cts → owner-B4HbyP8s.d.cts} +3 -3
- package/dist/{owner-9jSx_21P.js → owner-XzzTSr4S.js} +3 -2
- package/dist/{owner-BbeUDvOu.d.ts → owner-kQRGVXG1.d.ts} +3 -3
- package/dist/{proof-BT3OPhWQ.js → proof-B-qOSAuQ.js} +5 -4
- package/dist/{proof-BuLnngRI.cjs → proof-BzJkFBBF.cjs} +18 -17
- package/dist/{proof-B5YI7sn5.js → proof-C9sfVit1.js} +2 -2
- package/dist/{send-DlPE7bKe.js → send-yEkZlxzW.js} +2 -2
- package/dist/sig/http.test.js +12 -13
- package/dist/sig/key.test.js +9 -11
- package/dist/sig/ld.test.js +8 -10
- package/dist/sig/mod.cjs +9 -11
- package/dist/sig/mod.d.cts +5 -7
- package/dist/sig/mod.d.ts +5 -7
- package/dist/sig/mod.js +5 -7
- package/dist/sig/owner.test.js +11 -13
- package/dist/sig/proof.test.js +13 -14
- package/dist/src/vocab/accept.yaml +1 -1
- package/dist/src/vocab/activity.yaml +1 -1
- package/dist/src/vocab/add.yaml +1 -1
- package/dist/src/vocab/announce.yaml +1 -1
- package/dist/src/vocab/application.yaml +1 -1
- package/dist/src/vocab/arrive.yaml +1 -1
- package/dist/src/vocab/article.yaml +1 -1
- package/dist/src/vocab/audio.yaml +1 -1
- package/dist/src/vocab/block.yaml +1 -1
- package/dist/src/vocab/chatmessage.yaml +1 -1
- package/dist/src/vocab/collection.yaml +1 -1
- package/dist/src/vocab/collectionpage.yaml +1 -1
- package/dist/src/vocab/create.yaml +1 -1
- package/dist/src/vocab/dataintegrityproof.yaml +1 -1
- package/dist/src/vocab/delete.yaml +1 -1
- package/dist/src/vocab/didservice.yaml +1 -1
- package/dist/src/vocab/dislike.yaml +1 -1
- package/dist/src/vocab/document.yaml +1 -1
- package/dist/src/vocab/emoji.yaml +1 -1
- package/dist/src/vocab/emojireact.yaml +1 -1
- package/dist/src/vocab/endpoints.yaml +1 -1
- package/dist/src/vocab/event.yaml +1 -1
- package/dist/src/vocab/export.yaml +1 -1
- package/dist/src/vocab/flag.yaml +1 -1
- package/dist/src/vocab/follow.yaml +1 -1
- package/dist/src/vocab/group.yaml +1 -1
- package/dist/src/vocab/hashtag.yaml +1 -1
- package/dist/src/vocab/ignore.yaml +1 -1
- package/dist/src/vocab/image.yaml +1 -1
- package/dist/src/vocab/intransitiveactivity.yaml +1 -1
- package/dist/src/vocab/invite.yaml +1 -1
- package/dist/src/vocab/join.yaml +1 -1
- package/dist/src/vocab/key.yaml +1 -1
- package/dist/src/vocab/leave.yaml +1 -1
- package/dist/src/vocab/like.yaml +1 -1
- package/dist/src/vocab/link.yaml +1 -1
- package/dist/src/vocab/listen.yaml +1 -1
- package/dist/src/vocab/mention.yaml +1 -1
- package/dist/src/vocab/move.yaml +1 -1
- package/dist/src/vocab/multikey.yaml +1 -1
- package/dist/src/vocab/note.yaml +1 -1
- package/dist/src/vocab/object.yaml +1 -1
- package/dist/src/vocab/offer.yaml +1 -1
- package/dist/src/vocab/orderedcollection.yaml +1 -1
- package/dist/src/vocab/orderedcollectionpage.yaml +1 -1
- package/dist/src/vocab/organization.yaml +1 -1
- package/dist/src/vocab/page.yaml +1 -1
- package/dist/src/vocab/person.yaml +1 -1
- package/dist/src/vocab/place.yaml +1 -1
- package/dist/src/vocab/profile.yaml +1 -1
- package/dist/src/vocab/propertyvalue.yaml +1 -1
- package/dist/src/vocab/question.yaml +1 -1
- package/dist/src/vocab/read.yaml +1 -1
- package/dist/src/vocab/reject.yaml +1 -1
- package/dist/src/vocab/relationship.yaml +1 -1
- package/dist/src/vocab/remove.yaml +1 -1
- package/dist/src/vocab/service.yaml +1 -1
- package/dist/src/vocab/source.yaml +1 -1
- package/dist/src/vocab/tentativeaccept.yaml +1 -1
- package/dist/src/vocab/tentativereject.yaml +1 -1
- package/dist/src/vocab/tombstone.yaml +1 -1
- package/dist/src/vocab/travel.yaml +1 -1
- package/dist/src/vocab/undo.yaml +1 -1
- package/dist/src/vocab/update.yaml +1 -1
- package/dist/src/vocab/video.yaml +1 -1
- package/dist/src/vocab/view.yaml +1 -1
- package/dist/testing/docloader.test.js +6 -8
- package/dist/testing/mod.d.ts +10 -119
- package/dist/testing/mod.js +2 -3
- package/dist/{testing-B17zODFD.js → testing-D-nLIHkh.js} +1 -2
- package/dist/{types-By5LByL1.js → types-BtUjyi5y.js} +5 -166
- package/dist/{types-BIgY6c-l.js → types-C2XVl6gj.js} +1 -3
- package/dist/{types-Ci8XKEfO.cjs → types-CWgzGaqk.cjs} +6 -179
- package/dist/{runtime/authdocloader.test.js → utils/docloader.test.js} +14 -15
- package/dist/utils/kv-cache.test.js +209 -0
- package/dist/utils/mod.cjs +12 -0
- package/dist/utils/mod.d.cts +5 -0
- package/dist/utils/mod.d.ts +7 -0
- package/dist/utils/mod.js +11 -0
- package/dist/vocab/actor.test.js +8 -10
- package/dist/vocab/lookup.test.js +8 -10
- package/dist/vocab/mod.cjs +3 -4
- package/dist/vocab/mod.d.cts +3 -5
- package/dist/vocab/mod.d.ts +3 -5
- package/dist/vocab/mod.js +3 -4
- package/dist/vocab/type.test.js +2 -3
- package/dist/vocab/vocab.test.js +7618 -1973
- package/dist/{vocab-CDHNj5zp.d.ts → vocab-BCWe1Ih5.d.ts} +9 -25
- package/dist/{vocab-BjnZ49Xt.cjs → vocab-C96aggZM.cjs} +5 -5
- package/dist/{vocab-Cfs0937i.d.cts → vocab-CeDBzu-f.d.cts} +9 -25
- package/dist/{vocab-CthegyUc.js → vocab-axlR_8k0.js} +3 -3
- package/dist/webfinger/handler.test.js +24 -25
- package/dist/webfinger/lookup.test.js +7 -9
- package/dist/webfinger/mod.cjs +2 -3
- package/dist/webfinger/mod.d.cts +1 -3
- package/dist/webfinger/mod.d.ts +1 -3
- package/dist/webfinger/mod.js +2 -3
- package/package.json +20 -51
- package/dist/assert_throws-BOO88avQ.js +0 -39
- package/dist/authdocloader-BEPeTSD8.cjs +0 -58
- package/dist/authdocloader-BNIyrORx.js +0 -52
- package/dist/denokv-D0nfNQ1x.js +0 -57
- package/dist/docloader-CLYexeNv.js +0 -4825
- package/dist/docloader-CdsuyjrU.cjs +0 -4891
- package/dist/docloader-CxWcuWqQ.d.ts +0 -221
- package/dist/docloader-D-MrRyHl.d.cts +0 -219
- package/dist/key-BL8DRhuI.js +0 -10
- package/dist/key-BU1Vsq8S.cjs +0 -290
- package/dist/key-DTzAk78O.js +0 -10
- package/dist/key-DWDJFZzD.js +0 -260
- package/dist/key-gZEWdYwT.cjs +0 -10
- package/dist/lookup-Co4Y1ycg.js +0 -336
- package/dist/middleware-09gZVY21.cjs +0 -17
- package/dist/middleware-B8Q9c1ys.js +0 -26
- package/dist/middleware-DHUCp8iq.js +0 -17
- package/dist/mod-CIbqfZW0.d.ts +0 -104
- package/dist/mod-Dt-G9ZOS.d.cts +0 -102
- package/dist/mq-B7R1Q-M5.d.cts +0 -140
- package/dist/mq-CRGm1e_F.d.ts +0 -143
- package/dist/nodeinfo/semver.test.js +0 -143
- package/dist/runtime/docloader.test.js +0 -588
- package/dist/runtime/key.test.d.ts +0 -3
- package/dist/runtime/key.test.js +0 -103
- package/dist/runtime/langstr.test.d.ts +0 -3
- package/dist/runtime/langstr.test.js +0 -40
- package/dist/runtime/link.test.d.ts +0 -3
- package/dist/runtime/link.test.js +0 -61
- package/dist/runtime/mod.cjs +0 -25
- package/dist/runtime/mod.d.cts +0 -6
- package/dist/runtime/mod.d.ts +0 -8
- package/dist/runtime/mod.js +0 -13
- package/dist/runtime/multibase/multibase.test.d.ts +0 -3
- package/dist/runtime/multibase/multibase.test.js +0 -358
- package/dist/runtime/url.test.d.ts +0 -3
- package/dist/runtime/url.test.js +0 -45
- package/dist/semver-dArNLkR9.js +0 -149
- package/dist/vocab/schema.yaml +0 -247
- package/dist/x/cfworkers.cjs +0 -100
- package/dist/x/cfworkers.d.cts +0 -59
- package/dist/x/cfworkers.d.ts +0 -61
- package/dist/x/cfworkers.js +0 -98
- package/dist/x/cfworkers.test.d.ts +0 -3
- package/dist/x/cfworkers.test.js +0 -179
- package/dist/x/hono.cjs +0 -61
- package/dist/x/hono.d.cts +0 -54
- package/dist/x/hono.d.ts +0 -56
- package/dist/x/hono.js +0 -60
- package/dist/x/sveltekit.cjs +0 -69
- package/dist/x/sveltekit.d.cts +0 -46
- package/dist/x/sveltekit.d.ts +0 -48
- package/dist/x/sveltekit.js +0 -68
- /package/dist/{assert_not_equals-f3m3epl3.js → assert_not_equals-C80BG-_5.js} +0 -0
- /package/dist/{collection-CSzG2j1P.js → collection-BzWsN9pB.js} +0 -0
- /package/dist/{nodeinfo/semver.test.d.ts → federation/negotiation.test.d.ts} +0 -0
- /package/dist/{federation-H2_En3j5.cjs → federation-CRpdnOMS.cjs} +0 -0
- /package/dist/{federation-D1U8YY9t.js → federation-jcR8-ZxP.js} +0 -0
- /package/dist/{kv-C7sopW2E.d.ts → kv-BKNZ-Tb-.d.ts} +0 -0
- /package/dist/{kv-63Cil1MD.d.cts → kv-Bxr0Q87_.d.cts} +0 -0
- /package/dist/{mod-C2tOeRkN.d.cts → mod-B-hUPT2N.d.cts} +0 -0
- /package/dist/{mod-1pDWKvUL.d.ts → mod-CVgZgliM.d.ts} +0 -0
- /package/dist/{mod-FZd39qVq.d.cts → mod-CcDPcLJW.d.cts} +0 -0
- /package/dist/{mod-g0xFzAP9.d.ts → mod-bjzj5QIb.d.ts} +0 -0
- /package/dist/{nodeinfo-DfycQ8Wf.js → nodeinfo-BnthBobC.js} +0 -0
- /package/dist/{nodeinfo-Co9lJrWl.cjs → nodeinfo-CdN0rEnZ.cjs} +0 -0
- /package/dist/{otel-Chy5T2Xh.js → otel-1BmGPuZc.js} +0 -0
- /package/dist/{retry-D4GJ670a.js → retry-CfF8Gn4d.js} +0 -0
- /package/dist/{runtime-DPYEDf-o.js → sig-C34-oHBl.js} +0 -0
- /package/dist/{runtime-C58AJWSv.cjs → sig-YYj5tCnr.cjs} +0 -0
- /package/dist/{std__assert-X-_kMxKM.js → std__assert-DWivtrGR.js} +0 -0
- /package/dist/{runtime → utils}/docloader.test.d.ts +0 -0
- /package/dist/{runtime/authdocloader.test.d.ts → utils/kv-cache.test.d.ts} +0 -0
- /package/dist/{sig-Cj3tk-ig.js → utils-D-Va7aXC.js} +0 -0
- /package/dist/{sig-ByHXzqUi.cjs → utils-DyRU1gdZ.cjs} +0 -0
- /package/dist/{webfinger-De_bU0iE.js → webfinger-C72Y8lrh.js} +0 -0
- /package/dist/{webfinger-BjOEdFPs.cjs → webfinger-vAtLmxOF.cjs} +0 -0
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { Link as Link$1, LookupWebFingerOptions, ResourceDescriptor } from "./mod-DBzN0aCM.js";
|
|
12
|
-
import { MessageQueue } from "./mq-CRGm1e_F.js";
|
|
3
|
+
import { GetNodeInfoOptions, JsonValue, NodeInfo } from "./client-BsGzbnV-.js";
|
|
4
|
+
import { Activity, Collection, CryptographicKey, Hashtag, Link, Multikey, Object as Object$1 } from "./vocab-BCWe1Ih5.js";
|
|
5
|
+
import { Actor, Recipient } from "./actor-DqFajh9s.js";
|
|
6
|
+
import { HttpMessageSignaturesSpec } from "./http-BbO0ejuk.js";
|
|
7
|
+
import { GetKeyOwnerOptions } from "./owner-kQRGVXG1.js";
|
|
8
|
+
import { LookupObjectOptions, TraverseCollectionOptions } from "./mod-BlVovdcy.js";
|
|
9
|
+
import { Link as Link$1, LookupWebFingerOptions, ResourceDescriptor } from "./mod-Ds0mpFZU.js";
|
|
10
|
+
import { KvKey, KvStore } from "./kv-BKNZ-Tb-.js";
|
|
13
11
|
import { Span, TracerProvider } from "@opentelemetry/api";
|
|
12
|
+
import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, GetUserAgentOptions } from "@fedify/vocab-runtime";
|
|
14
13
|
|
|
15
14
|
//#region src/compat/types.d.ts
|
|
16
15
|
/**
|
|
@@ -308,8 +307,146 @@ type CustomCollectionCounter<TParam extends string, TContextData> = (context: Re
|
|
|
308
307
|
*/
|
|
309
308
|
type CustomCollectionCursor<TParam extends string, TContext extends Context<TContextData>, TContextData> = (context: TContext, values: Record<TParam, string>) => string | null | Promise<string | null>;
|
|
310
309
|
//#endregion
|
|
310
|
+
//#region src/federation/mq.d.ts
|
|
311
|
+
/**
|
|
312
|
+
* Additional options for enqueuing a message in a queue.
|
|
313
|
+
*
|
|
314
|
+
* @since 0.5.0
|
|
315
|
+
*/
|
|
316
|
+
interface MessageQueueEnqueueOptions {
|
|
317
|
+
/**
|
|
318
|
+
* The delay before the message is enqueued. No delay by default.
|
|
319
|
+
*
|
|
320
|
+
* It must not be negative.
|
|
321
|
+
*/
|
|
322
|
+
delay?: Temporal.Duration;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Additional options for listening to a message queue.
|
|
326
|
+
*
|
|
327
|
+
* @since 1.0.0
|
|
328
|
+
*/
|
|
329
|
+
interface MessageQueueListenOptions {
|
|
330
|
+
/**
|
|
331
|
+
* The signal to abort listening to the message queue.
|
|
332
|
+
*/
|
|
333
|
+
signal?: AbortSignal;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* An abstract interface for a message queue.
|
|
337
|
+
*
|
|
338
|
+
* @since 0.5.0
|
|
339
|
+
*/
|
|
340
|
+
interface MessageQueue {
|
|
341
|
+
/**
|
|
342
|
+
* Whether the message queue backend provides native retry mechanisms.
|
|
343
|
+
* When `true`, Fedify will skip its own retry logic and rely on the backend
|
|
344
|
+
* to handle retries. When `false` or omitted, Fedify will handle retries
|
|
345
|
+
* using its own retry policies.
|
|
346
|
+
*
|
|
347
|
+
* @default `false`
|
|
348
|
+
* @since 1.7.0
|
|
349
|
+
*/
|
|
350
|
+
readonly nativeRetrial?: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* Enqueues a message in the queue.
|
|
353
|
+
* @param message The message to enqueue.
|
|
354
|
+
* @param options Additional options for enqueuing the message.
|
|
355
|
+
*/
|
|
356
|
+
enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
357
|
+
/**
|
|
358
|
+
* Enqueues multiple messages in the queue. This operation is optional,
|
|
359
|
+
* and may not be supported by all implementations. If not supported,
|
|
360
|
+
* Fedify will invoke {@link enqueue} for each message.
|
|
361
|
+
*
|
|
362
|
+
* @param messages The messages to enqueue.
|
|
363
|
+
* @param options Additional options for enqueuing the messages.
|
|
364
|
+
*/
|
|
365
|
+
enqueueMany?: (messages: any[], options?: MessageQueueEnqueueOptions) => Promise<void>;
|
|
366
|
+
/**
|
|
367
|
+
* Listens for messages in the queue.
|
|
368
|
+
* @param handler The handler for messages in the queue.
|
|
369
|
+
* @param options Additional options for listening to the message queue.
|
|
370
|
+
* @returns A promise that resolves when the listening is done. It never
|
|
371
|
+
* rejects, and is resolved when the signal is aborted. If no
|
|
372
|
+
* signal is provided, it never resolves.
|
|
373
|
+
*/
|
|
374
|
+
listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Additional options for {@link InProcessMessageQueue}.
|
|
378
|
+
* @since 1.0.0
|
|
379
|
+
*/
|
|
380
|
+
interface InProcessMessageQueueOptions {
|
|
381
|
+
/**
|
|
382
|
+
* The interval to poll for messages in the queue. 5 seconds by default.
|
|
383
|
+
* @default `{ seconds: 5 }`
|
|
384
|
+
*/
|
|
385
|
+
pollInterval?: Temporal.Duration | Temporal.DurationLike;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* A message queue that processes messages in the same process.
|
|
389
|
+
* Do not use this in production as it does neither persist messages nor
|
|
390
|
+
* distribute them across multiple processes.
|
|
391
|
+
*
|
|
392
|
+
* @since 0.5.0
|
|
393
|
+
*/
|
|
394
|
+
declare class InProcessMessageQueue implements MessageQueue {
|
|
395
|
+
#private;
|
|
396
|
+
/**
|
|
397
|
+
* In-process message queue does not provide native retry mechanisms.
|
|
398
|
+
* @since 1.7.0
|
|
399
|
+
*/
|
|
400
|
+
readonly nativeRetrial = false;
|
|
401
|
+
/**
|
|
402
|
+
* Constructs a new {@link InProcessMessageQueue} with the given options.
|
|
403
|
+
* @param options Additional options for the in-process message queue.
|
|
404
|
+
*/
|
|
405
|
+
constructor(options?: InProcessMessageQueueOptions);
|
|
406
|
+
enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
407
|
+
enqueueMany(messages: any[], options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
408
|
+
listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* A message queue that processes messages in parallel. It takes another
|
|
412
|
+
* {@link MessageQueue}, and processes messages in parallel up to a certain
|
|
413
|
+
* number of workers.
|
|
414
|
+
*
|
|
415
|
+
* Actually, it's rather a decorator than a queue itself.
|
|
416
|
+
*
|
|
417
|
+
* Note that the workers do not run in truly parallel, in the sense that they
|
|
418
|
+
* are not running in separate threads or processes. They are running in the
|
|
419
|
+
* same process, but are scheduled to run in parallel. Hence, this is useful
|
|
420
|
+
* for I/O-bound tasks, but not for CPU-bound tasks, which is okay for Fedify's
|
|
421
|
+
* workloads.
|
|
422
|
+
*
|
|
423
|
+
* @since 1.0.0
|
|
424
|
+
*/
|
|
425
|
+
declare class ParallelMessageQueue implements MessageQueue {
|
|
426
|
+
#private;
|
|
427
|
+
readonly queue: MessageQueue;
|
|
428
|
+
readonly workers: number;
|
|
429
|
+
/**
|
|
430
|
+
* Inherits the native retry capability from the wrapped queue.
|
|
431
|
+
* @since 1.7.0
|
|
432
|
+
*/
|
|
433
|
+
readonly nativeRetrial?: boolean;
|
|
434
|
+
/**
|
|
435
|
+
* Constructs a new {@link ParallelMessageQueue} with the given queue and
|
|
436
|
+
* number of workers.
|
|
437
|
+
* @param queue The message queue to use under the hood. Note that
|
|
438
|
+
* {@link ParallelMessageQueue} cannot be nested.
|
|
439
|
+
* @param workers The number of workers to process messages in parallel.
|
|
440
|
+
* @throws {TypeError} If the given queue is an instance of
|
|
441
|
+
* {@link ParallelMessageQueue}.
|
|
442
|
+
*/
|
|
443
|
+
constructor(queue: MessageQueue, workers: number);
|
|
444
|
+
enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
445
|
+
enqueueMany(messages: any[], options?: MessageQueueEnqueueOptions): Promise<void>;
|
|
446
|
+
listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
|
|
447
|
+
}
|
|
448
|
+
//#endregion
|
|
311
449
|
//#region src/federation/handler.d.ts
|
|
312
|
-
|
|
313
450
|
/**
|
|
314
451
|
* Options for the {@link respondWithObject} and
|
|
315
452
|
* {@link respondWithObjectIfAcceptable} functions.
|
|
@@ -1140,18 +1277,6 @@ interface FederationOptions<TContextData> {
|
|
|
1140
1277
|
* @since 1.4.0
|
|
1141
1278
|
*/
|
|
1142
1279
|
contextLoaderFactory?: DocumentLoaderFactory;
|
|
1143
|
-
/**
|
|
1144
|
-
* A custom JSON-LD document loader. By default, this uses the built-in
|
|
1145
|
-
* cache-backed loader that fetches remote documents over HTTP(S).
|
|
1146
|
-
* @deprecated Use {@link documentLoaderFactory} instead.
|
|
1147
|
-
*/
|
|
1148
|
-
documentLoader?: DocumentLoader;
|
|
1149
|
-
/**
|
|
1150
|
-
* A custom JSON-LD context loader. By default, this uses the same loader
|
|
1151
|
-
* as the document loader.
|
|
1152
|
-
* @deprecated Use {@link contextLoaderFactory} instead.
|
|
1153
|
-
*/
|
|
1154
|
-
contextLoader?: DocumentLoader;
|
|
1155
1280
|
/**
|
|
1156
1281
|
* A factory function that creates an authenticated document loader for a
|
|
1157
1282
|
* given identity. This is used for fetching documents that require
|
|
@@ -1369,13 +1494,13 @@ interface CollectionCallbackSetters<TContext extends Context<TContextData>, TCon
|
|
|
1369
1494
|
*
|
|
1370
1495
|
* - `"per-origin"`: Activities are deduplicated per receiving server's origin.
|
|
1371
1496
|
* The same activity ID will be processed only once on each receiving server,
|
|
1372
|
-
* but can be processed separately on different receiving servers. This
|
|
1373
|
-
* the default behavior in Fedify 1.x versions.
|
|
1497
|
+
* but can be processed separately on different receiving servers. This had
|
|
1498
|
+
* been the default behavior in Fedify 1.x versions.
|
|
1374
1499
|
*
|
|
1375
1500
|
* - `"per-inbox"`: Activities are deduplicated per inbox. The same activity
|
|
1376
1501
|
* ID can be processed once per inbox, allowing the same activity to be
|
|
1377
1502
|
* delivered to multiple inboxes independently. This follows standard
|
|
1378
|
-
* ActivityPub behavior and
|
|
1503
|
+
* ActivityPub behavior and is the default strategy since Fedify 2.0.0.
|
|
1379
1504
|
*
|
|
1380
1505
|
* @since 1.9.0
|
|
1381
1506
|
*/
|
|
@@ -2323,4 +2448,4 @@ interface ActorKeyPair extends CryptoKeyPair {
|
|
|
2323
2448
|
multikey: Multikey;
|
|
2324
2449
|
}
|
|
2325
2450
|
//#endregion
|
|
2326
|
-
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, IdempotencyKeyCallback, IdempotencyStrategy, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
|
|
2451
|
+
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, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { validateCryptoKey } from "./key-khQpfFdw.js";
|
|
7
|
+
import { doubleKnock } from "./http-Bmx7ea3F.js";
|
|
8
|
+
import { curry } from "es-toolkit";
|
|
9
|
+
import { UrlError, createActivityPubRequest, getDocumentLoader, getRemoteDocument, logRequest, validatePublicUrl } from "@fedify/vocab-runtime";
|
|
9
10
|
import { getLogger } from "@logtape/logtape";
|
|
10
11
|
|
|
11
|
-
//#region src/
|
|
12
|
+
//#region src/utils/docloader.ts
|
|
12
13
|
const logger = getLogger([
|
|
13
14
|
"fedify",
|
|
14
|
-
"
|
|
15
|
+
"utils",
|
|
15
16
|
"docloader"
|
|
16
17
|
]);
|
|
17
18
|
/**
|
|
@@ -37,10 +38,10 @@ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, userAge
|
|
|
37
38
|
});
|
|
38
39
|
throw error;
|
|
39
40
|
}
|
|
40
|
-
const originalRequest =
|
|
41
|
+
const originalRequest = createActivityPubRequest(url, { userAgent });
|
|
41
42
|
const response = await doubleKnock(originalRequest, identity, {
|
|
42
43
|
specDeterminer,
|
|
43
|
-
log: logRequest,
|
|
44
|
+
log: curry(logRequest)(logger),
|
|
44
45
|
tracerProvider,
|
|
45
46
|
signal: options?.signal
|
|
46
47
|
});
|
|
@@ -48,6 +49,14 @@ function getAuthenticatedDocumentLoader(identity, { allowPrivateAddress, userAge
|
|
|
48
49
|
}
|
|
49
50
|
return load;
|
|
50
51
|
}
|
|
52
|
+
const _fetchDocumentLoader = getDocumentLoader();
|
|
53
|
+
const _fetchDocumentLoader_allowPrivateAddress = getDocumentLoader({ allowPrivateAddress: true });
|
|
54
|
+
function fetchDocumentLoader(url, arg = false) {
|
|
55
|
+
const allowPrivateAddress = typeof arg === "boolean" ? arg : false;
|
|
56
|
+
logger.warn("fetchDocumentLoader() function is deprecated. Use getDocumentLoader() function instead.");
|
|
57
|
+
const loader = allowPrivateAddress ? _fetchDocumentLoader_allowPrivateAddress : _fetchDocumentLoader;
|
|
58
|
+
return loader(url);
|
|
59
|
+
}
|
|
51
60
|
|
|
52
61
|
//#endregion
|
|
53
|
-
export { getAuthenticatedDocumentLoader };
|
|
62
|
+
export { fetchDocumentLoader, getAuthenticatedDocumentLoader };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { __commonJS, __toESM } from "./
|
|
6
|
+
import { __commonJS, __toESM } from "./lookup-C7SSHgK7.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) {
|
|
@@ -115,7 +115,7 @@ function parse(input, loose) {
|
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
//#endregion
|
|
118
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
118
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/TypeDescriptor.js
|
|
119
119
|
const valueTypes = new Set([
|
|
120
120
|
"boolean",
|
|
121
121
|
"number",
|
|
@@ -207,7 +207,7 @@ var TypeDescriptor = class TypeDescriptor {
|
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
//#endregion
|
|
210
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
210
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/IsSubsetOf.js
|
|
211
211
|
const allowedTypes = new Set([
|
|
212
212
|
"array",
|
|
213
213
|
"object",
|
|
@@ -366,7 +366,7 @@ function dequal(foo, bar) {
|
|
|
366
366
|
}
|
|
367
367
|
|
|
368
368
|
//#endregion
|
|
369
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
369
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/RequestUtils.js
|
|
370
370
|
const absoluteUrlRX = new RegExp("^[a-z]+://|^data:", "i");
|
|
371
371
|
const protocolRelativeUrlRX = new RegExp("^//", "i");
|
|
372
372
|
function hasCredentialsInUrl(url) {
|
|
@@ -431,6 +431,11 @@ function getPath(url) {
|
|
|
431
431
|
const u = absoluteUrlRX.test(url) ? new URL(url) : new URL(url, "http://dummy");
|
|
432
432
|
return u.pathname;
|
|
433
433
|
}
|
|
434
|
+
function getHost(url) {
|
|
435
|
+
if (absoluteUrlRX.test(url)) return new URL(url).host;
|
|
436
|
+
else if ("location" in globalThis) return globalThis.location.host;
|
|
437
|
+
return null;
|
|
438
|
+
}
|
|
434
439
|
function getQuery(url) {
|
|
435
440
|
const u = absoluteUrlRX.test(url) ? new URL(url) : new URL(url, "http://dummy");
|
|
436
441
|
return u.search ? u.search.substr(1) : "";
|
|
@@ -444,7 +449,7 @@ function normalizeHeaders(headers) {
|
|
|
444
449
|
}
|
|
445
450
|
|
|
446
451
|
//#endregion
|
|
447
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
452
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/Matchers.js
|
|
448
453
|
var import_glob_to_regexp = __toESM(require_glob_to_regexp(), 1);
|
|
449
454
|
const isUrlMatcher = (matcher) => matcher instanceof RegExp || typeof matcher === "string" || typeof matcher === "object" && "href" in matcher;
|
|
450
455
|
const isFunctionMatcher = (matcher) => typeof matcher === "function";
|
|
@@ -475,6 +480,9 @@ const stringMatchers = {
|
|
|
475
480
|
const path = getPath(url);
|
|
476
481
|
return path === targetString || path === dotlessTargetString;
|
|
477
482
|
};
|
|
483
|
+
},
|
|
484
|
+
host: (targetString) => {
|
|
485
|
+
return ({ url }) => targetString === getHost(url);
|
|
478
486
|
}
|
|
479
487
|
};
|
|
480
488
|
const getHeaderMatcher = ({ headers: expectedHeaders }) => {
|
|
@@ -627,7 +635,7 @@ const builtInMatchers = [
|
|
|
627
635
|
];
|
|
628
636
|
|
|
629
637
|
//#endregion
|
|
630
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
638
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/StatusTextMap.js
|
|
631
639
|
const statusTextMap = {
|
|
632
640
|
100: "Continue",
|
|
633
641
|
101: "Switching Protocols",
|
|
@@ -695,7 +703,7 @@ const statusTextMap = {
|
|
|
695
703
|
var StatusTextMap_default = statusTextMap;
|
|
696
704
|
|
|
697
705
|
//#endregion
|
|
698
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
706
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/Route.js
|
|
699
707
|
var __classPrivateFieldSet = void 0 && (void 0).__classPrivateFieldSet || function(receiver, state, value, kind, f) {
|
|
700
708
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
701
709
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
@@ -829,7 +837,7 @@ builtInMatchers.forEach(Route.defineMatcher);
|
|
|
829
837
|
var Route_default = Route;
|
|
830
838
|
|
|
831
839
|
//#endregion
|
|
832
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
840
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/Router.js
|
|
833
841
|
const responseConfigProps = [
|
|
834
842
|
"body",
|
|
835
843
|
"headers",
|
|
@@ -881,18 +889,23 @@ var Router = class {
|
|
|
881
889
|
throwSpecExceptions(callLog);
|
|
882
890
|
return new Promise(async (resolve, reject) => {
|
|
883
891
|
const { url, options, request, pendingPromises } = callLog;
|
|
892
|
+
let eventListenerAbortController;
|
|
884
893
|
if (callLog.signal) {
|
|
885
894
|
const abort = () => {
|
|
886
895
|
const error = new DOMException("The operation was aborted.", "AbortError");
|
|
887
896
|
const requestBody = request?.body || options?.body;
|
|
888
|
-
if (requestBody instanceof ReadableStream) if (requestBody.locked)
|
|
897
|
+
if (requestBody instanceof ReadableStream) if (requestBody.locked) console.warn("fetch-mock: Locked request body can't be cancelled");
|
|
889
898
|
else requestBody.cancel(error);
|
|
890
|
-
if (callLog?.response?.body) if (callLog.response.body.locked)
|
|
899
|
+
if (callLog?.response?.body) if (callLog.response.body.locked) console.warn("fetch-mock: Locked response body can't be cancelled");
|
|
891
900
|
else callLog.response.body.cancel(error);
|
|
892
901
|
reject(error);
|
|
893
902
|
};
|
|
894
903
|
if (callLog.signal.aborted) abort();
|
|
895
|
-
|
|
904
|
+
eventListenerAbortController = new AbortController();
|
|
905
|
+
callLog.signal.addEventListener("abort", abort, {
|
|
906
|
+
once: true,
|
|
907
|
+
signal: eventListenerAbortController.signal
|
|
908
|
+
});
|
|
896
909
|
}
|
|
897
910
|
if (this.needsToReadBody(request)) options.body = await options.body;
|
|
898
911
|
const routesToTry = this.fallbackRoute ? [...this.routes, this.fallbackRoute] : this.routes;
|
|
@@ -905,6 +918,8 @@ var Router = class {
|
|
|
905
918
|
resolve(observableResponse);
|
|
906
919
|
} catch (err) {
|
|
907
920
|
reject(err);
|
|
921
|
+
} finally {
|
|
922
|
+
eventListenerAbortController?.abort();
|
|
908
923
|
}
|
|
909
924
|
else reject(/* @__PURE__ */ new Error(`fetch-mock: No response or fallback rule to cover ${options && options.method || "GET"} to ${url}`));
|
|
910
925
|
});
|
|
@@ -1002,7 +1017,7 @@ var Router = class {
|
|
|
1002
1017
|
};
|
|
1003
1018
|
|
|
1004
1019
|
//#endregion
|
|
1005
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
1020
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/CallHistory.js
|
|
1006
1021
|
const isName = (filter) => typeof filter === "string" && /^[\da-zA-Z-]+$/.test(filter) && !["matched", "unmatched"].includes(filter);
|
|
1007
1022
|
const isMatchedOrUnmatched = (filter) => typeof filter === "boolean" || ["matched", "unmatched"].includes(filter);
|
|
1008
1023
|
var CallHistory = class {
|
|
@@ -1032,11 +1047,11 @@ var CallHistory = class {
|
|
|
1032
1047
|
let calls = [...this.callLogs];
|
|
1033
1048
|
if (typeof filter === "undefined" && !options) return calls;
|
|
1034
1049
|
if (isMatchedOrUnmatched(filter)) {
|
|
1035
|
-
if ([true, "matched"].includes(filter)) calls = calls.filter(({ route }) => !route.config.isFallback);
|
|
1036
|
-
else if ([false, "unmatched"].includes(filter)) calls = calls.filter(({ route }) => Boolean(route.config.isFallback));
|
|
1050
|
+
if ([true, "matched"].includes(filter)) calls = calls.filter(({ route }) => !route?.config || !route.config.isFallback);
|
|
1051
|
+
else if ([false, "unmatched"].includes(filter)) calls = calls.filter(({ route }) => Boolean(route?.config && route.config.isFallback));
|
|
1037
1052
|
if (!options) return calls;
|
|
1038
1053
|
} else if (isName(filter)) {
|
|
1039
|
-
calls = calls.filter(({ route
|
|
1054
|
+
calls = calls.filter(({ route }) => route?.config?.name === filter);
|
|
1040
1055
|
if (!options) return calls;
|
|
1041
1056
|
} else if (isUrlMatcher(filter)) options = {
|
|
1042
1057
|
url: filter,
|
|
@@ -1087,7 +1102,7 @@ var CallHistory = class {
|
|
|
1087
1102
|
var CallHistory_default = CallHistory;
|
|
1088
1103
|
|
|
1089
1104
|
//#endregion
|
|
1090
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
1105
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/FetchMock.js
|
|
1091
1106
|
const defaultFetchMockConfig = {
|
|
1092
1107
|
includeContentLength: true,
|
|
1093
1108
|
matchPartialBody: false,
|
|
@@ -1220,7 +1235,7 @@ const fetchMock = new FetchMock({ ...defaultFetchMockConfig });
|
|
|
1220
1235
|
var FetchMock_default = fetchMock;
|
|
1221
1236
|
|
|
1222
1237
|
//#endregion
|
|
1223
|
-
//#region ../../node_modules/.pnpm/fetch-mock@12.
|
|
1238
|
+
//#region ../../node_modules/.pnpm/fetch-mock@12.6.0/node_modules/fetch-mock/dist/esm/index.js
|
|
1224
1239
|
var esm_default = FetchMock_default;
|
|
1225
1240
|
|
|
1226
1241
|
//#endregion
|
|
@@ -3,21 +3,18 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Activity, Note, Person } from "../
|
|
6
|
+
import { Activity, Note, Person } from "../lookup-C7SSHgK7.js";
|
|
7
7
|
import { assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
8
|
import "../assert-MZs1qjMx.js";
|
|
9
9
|
import "../assert_instance_of-DHz7EHNU.js";
|
|
10
10
|
import { MemoryKvStore } from "../kv-CRZrzyXm.js";
|
|
11
|
-
import
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
import {
|
|
17
|
-
import "../
|
|
18
|
-
import "../assert_is_error-BPGph1Jx.js";
|
|
19
|
-
import "../assert_not_equals-f3m3epl3.js";
|
|
20
|
-
import { assertThrows } from "../assert_throws-BOO88avQ.js";
|
|
11
|
+
import "../inbox-B9PjFn2S.js";
|
|
12
|
+
import { createFederationBuilder } from "../builder-hArjoWjW.js";
|
|
13
|
+
import { test } from "../testing-D-nLIHkh.js";
|
|
14
|
+
import { assertExists } from "../std__assert-DWivtrGR.js";
|
|
15
|
+
import "../assert_rejects-Ce45JcFg.js";
|
|
16
|
+
import { assertThrows } from "../assert_throws-BNXdRGWP.js";
|
|
17
|
+
import "../assert_not_equals-C80BG-_5.js";
|
|
21
18
|
|
|
22
19
|
//#region src/federation/builder.test.ts
|
|
23
20
|
test("FederationBuilder", async (t) => {
|
|
@@ -39,7 +36,7 @@ test("FederationBuilder", async (t) => {
|
|
|
39
36
|
version: "2.1",
|
|
40
37
|
software: {
|
|
41
38
|
name: "test",
|
|
42
|
-
version:
|
|
39
|
+
version: "1.0.0"
|
|
43
40
|
},
|
|
44
41
|
protocols: ["activitypub"],
|
|
45
42
|
services: {
|
|
@@ -3,18 +3,16 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import "../
|
|
6
|
+
import "../lookup-C7SSHgK7.js";
|
|
7
7
|
import { assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
8
|
import "../assert-MZs1qjMx.js";
|
|
9
9
|
import "../assert_instance_of-DHz7EHNU.js";
|
|
10
|
-
import "../
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../assert_not_equals-f3m3epl3.js";
|
|
17
|
-
import "../assert_throws-BOO88avQ.js";
|
|
10
|
+
import { buildCollectionSynchronizationHeader, digest } from "../collection-BzWsN9pB.js";
|
|
11
|
+
import { test } from "../testing-D-nLIHkh.js";
|
|
12
|
+
import "../std__assert-DWivtrGR.js";
|
|
13
|
+
import "../assert_rejects-Ce45JcFg.js";
|
|
14
|
+
import "../assert_throws-BNXdRGWP.js";
|
|
15
|
+
import "../assert_not_equals-C80BG-_5.js";
|
|
18
16
|
import { decodeHex } from "byte-encodings/hex";
|
|
19
17
|
|
|
20
18
|
//#region src/federation/collection.test.ts
|