@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
|
@@ -4,21 +4,20 @@
|
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
6
|
const require_transformers = require('./transformers-CoBS-oFG.cjs');
|
|
7
|
-
const
|
|
8
|
-
const require_actor = require('./actor-
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const require_authdocloader = require('./authdocloader-BEPeTSD8.cjs');
|
|
15
|
-
const require_vocab = require('./vocab-BjnZ49Xt.cjs');
|
|
7
|
+
const require_lookup = require('./lookup-CLaDFNx1.cjs');
|
|
8
|
+
const require_actor = require('./actor-_9UN5RVT.cjs');
|
|
9
|
+
const require_http = require('./http-So5V_Tgv.cjs');
|
|
10
|
+
const require_proof = require('./proof-BzJkFBBF.cjs');
|
|
11
|
+
const require_types = require('./types-CWgzGaqk.cjs');
|
|
12
|
+
const require_kv_cache = require('./kv-cache-X2ggcnHI.cjs');
|
|
13
|
+
const require_vocab = require('./vocab-C96aggZM.cjs');
|
|
16
14
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
17
15
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
18
|
-
const
|
|
16
|
+
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
|
19
17
|
const es_toolkit = require_chunk.__toESM(require("es-toolkit"));
|
|
20
18
|
const uri_template_router = require_chunk.__toESM(require("uri-template-router"));
|
|
21
19
|
const url_template = require_chunk.__toESM(require("url-template"));
|
|
20
|
+
const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
|
|
22
21
|
const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@opentelemetry/semantic-conventions"));
|
|
23
22
|
const node_url = require_chunk.__toESM(require("node:url"));
|
|
24
23
|
|
|
@@ -56,7 +55,6 @@ var InboxListenerSet = class InboxListenerSet {
|
|
|
56
55
|
return this.dispatchWithClass(activity)?.listener ?? null;
|
|
57
56
|
}
|
|
58
57
|
};
|
|
59
|
-
let warnedAboutDefaultIdempotency = false;
|
|
60
58
|
async function routeActivity({ context: ctx, json, activity, recipient, inboxListeners, inboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider, idempotencyStrategy }) {
|
|
61
59
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
|
62
60
|
"fedify",
|
|
@@ -66,11 +64,7 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
|
|
|
66
64
|
let cacheKey = null;
|
|
67
65
|
if (activity.id != null) {
|
|
68
66
|
const inboxContext = inboxContextFactory(recipient, json, activity.id?.href, require_actor.getTypeId(activity).href);
|
|
69
|
-
const strategy = idempotencyStrategy ?? "per-
|
|
70
|
-
if (idempotencyStrategy === void 0 && !warnedAboutDefaultIdempotency) {
|
|
71
|
-
logger$1.warn("Using default idempotency strategy 'per-origin'. This default will change to 'per-inbox' in Fedify 2.0. Please explicitly set the idempotency strategy using .withIdempotency().");
|
|
72
|
-
warnedAboutDefaultIdempotency = true;
|
|
73
|
-
}
|
|
67
|
+
const strategy = idempotencyStrategy ?? "per-inbox";
|
|
74
68
|
let keyString;
|
|
75
69
|
if (typeof strategy === "function") {
|
|
76
70
|
const result = await strategy(inboxContext, activity);
|
|
@@ -148,7 +142,7 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
|
|
|
148
142
|
return "enqueued";
|
|
149
143
|
}
|
|
150
144
|
tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
151
|
-
const tracer = tracerProvider.getTracer(
|
|
145
|
+
const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
152
146
|
return await tracer.startActiveSpan("activitypub.dispatch_inbox_listener", { kind: __opentelemetry_api.SpanKind.INTERNAL }, async (span$1) => {
|
|
153
147
|
const dispatched = inboxListeners?.dispatchWithClass(activity);
|
|
154
148
|
if (dispatched == null) {
|
|
@@ -345,7 +339,7 @@ var FederationBuilderImpl = class {
|
|
|
345
339
|
this.collectionTypeIds = {};
|
|
346
340
|
}
|
|
347
341
|
async build(options) {
|
|
348
|
-
const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-
|
|
342
|
+
const { FederationImpl: FederationImpl$1 } = await Promise.resolve().then(() => require("./middleware-BYBwqvTv.cjs"));
|
|
349
343
|
const f = new FederationImpl$1(options);
|
|
350
344
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
|
351
345
|
f.router = this.router.clone();
|
|
@@ -371,7 +365,7 @@ var FederationBuilderImpl = class {
|
|
|
371
365
|
return f;
|
|
372
366
|
}
|
|
373
367
|
_getTracer() {
|
|
374
|
-
return __opentelemetry_api.trace.getTracer(
|
|
368
|
+
return __opentelemetry_api.trace.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
375
369
|
}
|
|
376
370
|
setActorDispatcher(path, dispatcher) {
|
|
377
371
|
if (this.router.has("actor")) throw new RouterError("Actor dispatcher already set.");
|
|
@@ -1008,9 +1002,6 @@ function preferredMediaTypes(accept) {
|
|
|
1008
1002
|
const accepts = parseAccept(accept === void 0 ? "*/*" : accept ?? "");
|
|
1009
1003
|
return accepts.filter(isQuality).sort(compareSpecs).map(getFullType);
|
|
1010
1004
|
}
|
|
1011
|
-
|
|
1012
|
-
//#endregion
|
|
1013
|
-
//#region src/federation/handler.ts
|
|
1014
1005
|
function acceptsJsonLd(request) {
|
|
1015
1006
|
const accept = request.headers.get("Accept");
|
|
1016
1007
|
const types = accept ? preferredMediaTypes(accept) : ["*/*"];
|
|
@@ -1018,6 +1009,9 @@ function acceptsJsonLd(request) {
|
|
|
1018
1009
|
if (types[0] === "text/html" || types[0] === "application/xhtml+xml") return false;
|
|
1019
1010
|
return types.includes("application/activity+json") || types.includes("application/ld+json") || types.includes("application/json");
|
|
1020
1011
|
}
|
|
1012
|
+
|
|
1013
|
+
//#endregion
|
|
1014
|
+
//#region src/federation/handler.ts
|
|
1021
1015
|
/**
|
|
1022
1016
|
* Handles an actor request.
|
|
1023
1017
|
* @template TContextData The context data to pass to the context.
|
|
@@ -1025,7 +1019,7 @@ function acceptsJsonLd(request) {
|
|
|
1025
1019
|
* @param parameters The parameters for handling the actor.
|
|
1026
1020
|
* @returns A promise that resolves to an HTTP response.
|
|
1027
1021
|
*/
|
|
1028
|
-
async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound,
|
|
1022
|
+
async function handleActor(request, { identifier, context: context$2, actorDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
|
1029
1023
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
|
1030
1024
|
"fedify",
|
|
1031
1025
|
"federation",
|
|
@@ -1040,7 +1034,6 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
|
|
|
1040
1034
|
logger$1.debug("Actor {identifier} not found.", { identifier });
|
|
1041
1035
|
return await onNotFound(request);
|
|
1042
1036
|
}
|
|
1043
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
|
1044
1037
|
if (authorizePredicate != null) {
|
|
1045
1038
|
let key = await context$2.getSignedKey();
|
|
1046
1039
|
key = key?.clone({}, { $warning: {
|
|
@@ -1075,11 +1068,10 @@ async function handleActor(request, { identifier, context: context$2, actorDispa
|
|
|
1075
1068
|
* @param parameters The parameters for handling the object.
|
|
1076
1069
|
* @returns A promise that resolves to an HTTP response.
|
|
1077
1070
|
*/
|
|
1078
|
-
async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound,
|
|
1071
|
+
async function handleObject(request, { values, context: context$2, objectDispatcher, authorizePredicate, onNotFound, onUnauthorized }) {
|
|
1079
1072
|
if (objectDispatcher == null) return await onNotFound(request);
|
|
1080
1073
|
const object = await objectDispatcher(context$2, values);
|
|
1081
1074
|
if (object == null) return await onNotFound(request);
|
|
1082
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
|
1083
1075
|
if (authorizePredicate != null) {
|
|
1084
1076
|
let key = await context$2.getSignedKey();
|
|
1085
1077
|
key = key?.clone({}, { $warning: {
|
|
@@ -1117,10 +1109,10 @@ async function handleObject(request, { values, context: context$2, objectDispatc
|
|
|
1117
1109
|
* @param parameters The parameters for handling the collection.
|
|
1118
1110
|
* @returns A promise that resolves to an HTTP response.
|
|
1119
1111
|
*/
|
|
1120
|
-
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound
|
|
1112
|
+
async function handleCollection(request, { name, identifier, uriGetter, filter, filterPredicate, context: context$2, collectionCallbacks, tracerProvider, onUnauthorized, onNotFound }) {
|
|
1121
1113
|
const spanName = name.trim().replace(/\s+/g, "_");
|
|
1122
1114
|
tracerProvider = tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
1123
|
-
const tracer = tracerProvider.getTracer(
|
|
1115
|
+
const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
1124
1116
|
const url = new URL(request.url);
|
|
1125
1117
|
const cursor = url.searchParams.get("cursor");
|
|
1126
1118
|
if (collectionCallbacks == null) return await onNotFound(request);
|
|
@@ -1230,7 +1222,6 @@ async function handleCollection(request, { name, identifier, uriGetter, filter,
|
|
|
1230
1222
|
partOf
|
|
1231
1223
|
});
|
|
1232
1224
|
}
|
|
1233
|
-
if (!acceptsJsonLd(request)) return await onNotAcceptable(request);
|
|
1234
1225
|
if (collectionCallbacks.authorizePredicate != null) {
|
|
1235
1226
|
let key = await context$2.getSignedKey();
|
|
1236
1227
|
key = key?.clone({}, { $warning: {
|
|
@@ -1298,7 +1289,7 @@ function filterCollectionItems(items, collectionName, filterPredicate) {
|
|
|
1298
1289
|
*/
|
|
1299
1290
|
async function handleInbox(request, options) {
|
|
1300
1291
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
1301
|
-
const tracer = tracerProvider.getTracer(
|
|
1292
|
+
const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
1302
1293
|
return await tracer.startActiveSpan("activitypub.inbox", {
|
|
1303
1294
|
kind: options.queue == null ? __opentelemetry_api.SpanKind.SERVER : __opentelemetry_api.SpanKind.PRODUCER,
|
|
1304
1295
|
attributes: { "activitypub.shared_inbox": options.recipient == null }
|
|
@@ -1577,7 +1568,6 @@ async function handleInboxInternal(request, parameters, span) {
|
|
|
1577
1568
|
const handleCustomCollection = exceptWrapper(_handleCustomCollection);
|
|
1578
1569
|
async function _handleCustomCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
|
1579
1570
|
verifyDefined(callbacks);
|
|
1580
|
-
verifyJsonLdRequest(request);
|
|
1581
1571
|
await authIfNeeded(context$2, values, callbacks);
|
|
1582
1572
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
|
1583
1573
|
return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.Collection, require_actor.CollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
|
@@ -1596,7 +1586,6 @@ async function _handleCustomCollection(request, { name, values, context: context
|
|
|
1596
1586
|
const handleOrderedCollection = exceptWrapper(_handleOrderedCollection);
|
|
1597
1587
|
async function _handleOrderedCollection(request, { name, values, context: context$2, tracerProvider, collectionCallbacks: callbacks, filterPredicate }) {
|
|
1598
1588
|
verifyDefined(callbacks);
|
|
1599
|
-
verifyJsonLdRequest(request);
|
|
1600
1589
|
await authIfNeeded(context$2, values, callbacks);
|
|
1601
1590
|
const cursor = new URL(request.url).searchParams.get("cursor");
|
|
1602
1591
|
return await new CustomCollectionHandler(name, values, context$2, callbacks, tracerProvider, require_actor.OrderedCollection, require_actor.OrderedCollectionPage, filterPredicate).fetchCollection(cursor).toJsonLd().then(respondAsActivity);
|
|
@@ -1659,7 +1648,7 @@ var CustomCollectionHandler = class {
|
|
|
1659
1648
|
this.CollectionPage = CollectionPage$1;
|
|
1660
1649
|
this.filterPredicate = filterPredicate;
|
|
1661
1650
|
this.name = this.name.trim().replace(/\s+/g, "_");
|
|
1662
|
-
this.#tracer = this.tracerProvider.getTracer(
|
|
1651
|
+
this.#tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
1663
1652
|
this.#id = new URL(this.context.url);
|
|
1664
1653
|
this.#dispatcher = callbacks.dispatcher.bind(callbacks);
|
|
1665
1654
|
}
|
|
@@ -1873,10 +1862,9 @@ function exceptWrapper(handler) {
|
|
|
1873
1862
|
try {
|
|
1874
1863
|
return await handler(request, handlerParams);
|
|
1875
1864
|
} catch (error) {
|
|
1876
|
-
const { onNotFound,
|
|
1865
|
+
const { onNotFound, onUnauthorized } = handlerParams;
|
|
1877
1866
|
switch (error?.constructor) {
|
|
1878
1867
|
case ItemsNotFoundError: return await onNotFound(request);
|
|
1879
|
-
case NotAcceptableError: return await onNotAcceptable(request);
|
|
1880
1868
|
case UnauthorizedError: return await onUnauthorized(request);
|
|
1881
1869
|
default: throw error;
|
|
1882
1870
|
}
|
|
@@ -1894,15 +1882,6 @@ const verifyDefined = (callbacks) => {
|
|
|
1894
1882
|
if (callbacks === void 0) throw new ItemsNotFoundError();
|
|
1895
1883
|
};
|
|
1896
1884
|
/**
|
|
1897
|
-
* Verifies that a request accepts JSON-LD content type.
|
|
1898
|
-
* @param request The HTTP request to verify.
|
|
1899
|
-
* @throws {NotAcceptableError} If the request doesn't accept JSON-LD.
|
|
1900
|
-
* @since 1.8.0
|
|
1901
|
-
*/
|
|
1902
|
-
const verifyJsonLdRequest = (request) => {
|
|
1903
|
-
if (!acceptsJsonLd(request)) throw new NotAcceptableError();
|
|
1904
|
-
};
|
|
1905
|
-
/**
|
|
1906
1885
|
* Performs authorization if needed based on the authorization predicate.
|
|
1907
1886
|
* @template TContextData The context data type.
|
|
1908
1887
|
* @param {RequestContext<TContextData>} context The request context.
|
|
@@ -1986,15 +1965,6 @@ var ItemsNotFoundError = class extends HandlerError {
|
|
|
1986
1965
|
}
|
|
1987
1966
|
};
|
|
1988
1967
|
/**
|
|
1989
|
-
* Error thrown when the request is not acceptable (e.g., wrong content type).
|
|
1990
|
-
* @since 1.8.0
|
|
1991
|
-
*/
|
|
1992
|
-
var NotAcceptableError = class extends HandlerError {
|
|
1993
|
-
constructor() {
|
|
1994
|
-
super("The request is not acceptable.");
|
|
1995
|
-
}
|
|
1996
|
-
};
|
|
1997
|
-
/**
|
|
1998
1968
|
* Error thrown when access to a collection is unauthorized.
|
|
1999
1969
|
* @since 1.8.0
|
|
2000
1970
|
*/
|
|
@@ -2269,7 +2239,7 @@ function extractInboxes({ recipients, preferSharedInbox, excludeBaseUris }) {
|
|
|
2269
2239
|
*/
|
|
2270
2240
|
function sendActivity(options) {
|
|
2271
2241
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
2272
|
-
const tracer = tracerProvider.getTracer(
|
|
2242
|
+
const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
2273
2243
|
return tracer.startActiveSpan("activitypub.send_activity", {
|
|
2274
2244
|
kind: __opentelemetry_api.SpanKind.CLIENT,
|
|
2275
2245
|
attributes: { "activitypub.shared_inbox": options.sharedInbox ?? false }
|
|
@@ -2391,7 +2361,6 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2391
2361
|
firstKnock;
|
|
2392
2362
|
constructor(options) {
|
|
2393
2363
|
super();
|
|
2394
|
-
const logger$1 = (0, __logtape_logtape.getLogger)(["fedify", "federation"]);
|
|
2395
2364
|
this.kv = options.kv;
|
|
2396
2365
|
this.kvPrefixes = {
|
|
2397
2366
|
activityIdempotence: ["_fedify", "activityIdempotence"],
|
|
@@ -2439,19 +2408,15 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2439
2408
|
this.router.trailingSlashInsensitive = options.trailingSlashInsensitive ?? false;
|
|
2440
2409
|
this._initializeRouter();
|
|
2441
2410
|
if (options.allowPrivateAddress || options.userAgent != null) {
|
|
2442
|
-
if (options.
|
|
2443
|
-
|
|
2444
|
-
|
|
2411
|
+
if (options.documentLoaderFactory != null) throw new TypeError("Cannot set documentLoaderFactory with allowPrivateAddress or userAgent options.");
|
|
2412
|
+
if (options.contextLoaderFactory != null) throw new TypeError("Cannot set contextLoaderFactory with allowPrivateAddress or userAgent options.");
|
|
2413
|
+
if (options.authenticatedDocumentLoaderFactory != null) throw new TypeError("Cannot set authenticatedDocumentLoaderFactory with allowPrivateAddress or userAgent options.");
|
|
2445
2414
|
}
|
|
2446
2415
|
const { allowPrivateAddress, userAgent } = options;
|
|
2447
2416
|
this.allowPrivateAddress = allowPrivateAddress ?? false;
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
logger$1.warn("The documentLoader option is deprecated; use documentLoaderFactory option instead.");
|
|
2452
|
-
} else this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
|
|
2453
|
-
return require_docloader.kvCache({
|
|
2454
|
-
loader: require_docloader.getDocumentLoader({
|
|
2417
|
+
this.documentLoaderFactory = options.documentLoaderFactory ?? ((opts) => {
|
|
2418
|
+
return require_kv_cache.kvCache({
|
|
2419
|
+
loader: (0, __fedify_vocab_runtime.getDocumentLoader)({
|
|
2455
2420
|
allowPrivateAddress: opts?.allowPrivateAddress ?? allowPrivateAddress,
|
|
2456
2421
|
userAgent: opts?.userAgent ?? userAgent
|
|
2457
2422
|
}),
|
|
@@ -2459,12 +2424,8 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2459
2424
|
prefix: this.kvPrefixes.remoteDocument
|
|
2460
2425
|
});
|
|
2461
2426
|
});
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
this.contextLoaderFactory = () => options.contextLoader;
|
|
2465
|
-
logger$1.warn("The contextLoader option is deprecated; use contextLoaderFactory option instead.");
|
|
2466
|
-
} else this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
|
2467
|
-
this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_authdocloader.getAuthenticatedDocumentLoader(identity, {
|
|
2427
|
+
this.contextLoaderFactory = options.contextLoaderFactory ?? this.documentLoaderFactory;
|
|
2428
|
+
this.authenticatedDocumentLoaderFactory = options.authenticatedDocumentLoaderFactory ?? ((identity) => require_kv_cache.getAuthenticatedDocumentLoader(identity, {
|
|
2468
2429
|
allowPrivateAddress,
|
|
2469
2430
|
userAgent,
|
|
2470
2431
|
specDeterminer: new KvSpecDeterminer(this.kv, this.kvPrefixes.httpMessageSignaturesSpec, options.firstKnock),
|
|
@@ -2485,7 +2446,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2485
2446
|
this.router.add("/.well-known/nodeinfo", "nodeInfoJrd");
|
|
2486
2447
|
}
|
|
2487
2448
|
_getTracer() {
|
|
2488
|
-
return this.tracerProvider.getTracer(
|
|
2449
|
+
return this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
2489
2450
|
}
|
|
2490
2451
|
async _startQueueInternal(ctxData, signal, queue) {
|
|
2491
2452
|
if (this.inboxQueue == null && this.outboxQueue == null) return;
|
|
@@ -2583,7 +2544,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2583
2544
|
});
|
|
2584
2545
|
const keys = await Promise.all(message.keys.map(async ({ keyId, privateKey }) => ({
|
|
2585
2546
|
keyId: new URL(keyId),
|
|
2586
|
-
privateKey: await
|
|
2547
|
+
privateKey: await require_http.importJwk(privateKey, "private")
|
|
2587
2548
|
})));
|
|
2588
2549
|
const activity = await require_actor.Activity.fromJsonLd(message.activity, {
|
|
2589
2550
|
contextLoader: this.contextLoaderFactory({
|
|
@@ -2624,7 +2585,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2624
2585
|
for (const { keyId, privateKey } of message.keys) {
|
|
2625
2586
|
const pair = {
|
|
2626
2587
|
keyId: new URL(keyId),
|
|
2627
|
-
privateKey: await
|
|
2588
|
+
privateKey: await require_http.importJwk(privateKey, "private")
|
|
2628
2589
|
};
|
|
2629
2590
|
if (rsaKeyPair == null && pair.privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") rsaKeyPair = pair;
|
|
2630
2591
|
keys.push(pair);
|
|
@@ -2859,7 +2820,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2859
2820
|
let proofCreated = false;
|
|
2860
2821
|
let rsaKey = null;
|
|
2861
2822
|
for (const { keyId, privateKey } of keys) {
|
|
2862
|
-
|
|
2823
|
+
require_http.validateCryptoKey(privateKey, "private");
|
|
2863
2824
|
if (rsaKey == null && privateKey.algorithm.name === "RSASSA-PKCS1-v1_5") {
|
|
2864
2825
|
rsaKey = {
|
|
2865
2826
|
keyId,
|
|
@@ -2927,7 +2888,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
2927
2888
|
});
|
|
2928
2889
|
const keyJwkPairs = [];
|
|
2929
2890
|
for (const { keyId, privateKey } of keys) {
|
|
2930
|
-
const privateKeyJwk = await
|
|
2891
|
+
const privateKeyJwk = await require_http.exportJwk(privateKey);
|
|
2931
2892
|
keyJwkPairs.push({
|
|
2932
2893
|
keyId: keyId.href,
|
|
2933
2894
|
privateKey: privateKeyJwk
|
|
@@ -3002,6 +2963,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3002
2963
|
span,
|
|
3003
2964
|
tracer
|
|
3004
2965
|
});
|
|
2966
|
+
if (acceptsJsonLd(request)) response.headers.set("Vary", "Accept");
|
|
3005
2967
|
} catch (error) {
|
|
3006
2968
|
span.setStatus({
|
|
3007
2969
|
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
|
@@ -3065,6 +3027,9 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3065
3027
|
context: context$2,
|
|
3066
3028
|
nodeInfoDispatcher: this.nodeInfoDispatcher
|
|
3067
3029
|
});
|
|
3030
|
+
}
|
|
3031
|
+
if (request.method !== "POST" && !acceptsJsonLd(request)) return await onNotAcceptable(request);
|
|
3032
|
+
switch (routeName) {
|
|
3068
3033
|
case "actor":
|
|
3069
3034
|
context$2 = this.#createContext(request, contextData, { invokedFromActorDispatcher: { identifier: route.values.identifier ?? route.values.handle } });
|
|
3070
3035
|
return await handleActor(request, {
|
|
@@ -3073,8 +3038,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3073
3038
|
actorDispatcher: this.actorCallbacks?.dispatcher,
|
|
3074
3039
|
authorizePredicate: this.actorCallbacks?.authorizePredicate,
|
|
3075
3040
|
onUnauthorized,
|
|
3076
|
-
onNotFound
|
|
3077
|
-
onNotAcceptable
|
|
3041
|
+
onNotFound
|
|
3078
3042
|
});
|
|
3079
3043
|
case "object": {
|
|
3080
3044
|
const typeId = route.name.replace(/^object:/, "");
|
|
@@ -3090,8 +3054,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3090
3054
|
objectDispatcher: callbacks?.dispatcher,
|
|
3091
3055
|
authorizePredicate: callbacks?.authorizePredicate,
|
|
3092
3056
|
onUnauthorized,
|
|
3093
|
-
onNotFound
|
|
3094
|
-
onNotAcceptable
|
|
3057
|
+
onNotFound
|
|
3095
3058
|
});
|
|
3096
3059
|
}
|
|
3097
3060
|
case "outbox": return await handleCollection(request, {
|
|
@@ -3102,8 +3065,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3102
3065
|
collectionCallbacks: this.outboxCallbacks,
|
|
3103
3066
|
tracerProvider: this.tracerProvider,
|
|
3104
3067
|
onUnauthorized,
|
|
3105
|
-
onNotFound
|
|
3106
|
-
onNotAcceptable
|
|
3068
|
+
onNotFound
|
|
3107
3069
|
});
|
|
3108
3070
|
case "inbox":
|
|
3109
3071
|
if (request.method !== "POST") return await handleCollection(request, {
|
|
@@ -3114,8 +3076,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3114
3076
|
collectionCallbacks: this.inboxCallbacks,
|
|
3115
3077
|
tracerProvider: this.tracerProvider,
|
|
3116
3078
|
onUnauthorized,
|
|
3117
|
-
onNotFound
|
|
3118
|
-
onNotAcceptable
|
|
3079
|
+
onNotFound
|
|
3119
3080
|
});
|
|
3120
3081
|
context$2 = this.#createContext(request, contextData, { documentLoader: await context$2.getDocumentLoader({ identifier: route.values.identifier ?? route.values.handle }) });
|
|
3121
3082
|
case "sharedInbox":
|
|
@@ -3148,8 +3109,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3148
3109
|
collectionCallbacks: this.followingCallbacks,
|
|
3149
3110
|
tracerProvider: this.tracerProvider,
|
|
3150
3111
|
onUnauthorized,
|
|
3151
|
-
onNotFound
|
|
3152
|
-
onNotAcceptable
|
|
3112
|
+
onNotFound
|
|
3153
3113
|
});
|
|
3154
3114
|
case "followers": {
|
|
3155
3115
|
let baseUrl = url.searchParams.get("base-url");
|
|
@@ -3172,8 +3132,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3172
3132
|
collectionCallbacks: this.followersCallbacks,
|
|
3173
3133
|
tracerProvider: this.tracerProvider,
|
|
3174
3134
|
onUnauthorized,
|
|
3175
|
-
onNotFound
|
|
3176
|
-
onNotAcceptable
|
|
3135
|
+
onNotFound
|
|
3177
3136
|
});
|
|
3178
3137
|
}
|
|
3179
3138
|
case "liked": return await handleCollection(request, {
|
|
@@ -3184,8 +3143,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3184
3143
|
collectionCallbacks: this.likedCallbacks,
|
|
3185
3144
|
tracerProvider: this.tracerProvider,
|
|
3186
3145
|
onUnauthorized,
|
|
3187
|
-
onNotFound
|
|
3188
|
-
onNotAcceptable
|
|
3146
|
+
onNotFound
|
|
3189
3147
|
});
|
|
3190
3148
|
case "featured": return await handleCollection(request, {
|
|
3191
3149
|
name: "featured",
|
|
@@ -3195,8 +3153,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3195
3153
|
collectionCallbacks: this.featuredCallbacks,
|
|
3196
3154
|
tracerProvider: this.tracerProvider,
|
|
3197
3155
|
onUnauthorized,
|
|
3198
|
-
onNotFound
|
|
3199
|
-
onNotAcceptable
|
|
3156
|
+
onNotFound
|
|
3200
3157
|
});
|
|
3201
3158
|
case "featuredTags": return await handleCollection(request, {
|
|
3202
3159
|
name: "featured tags",
|
|
@@ -3206,8 +3163,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3206
3163
|
collectionCallbacks: this.featuredTagsCallbacks,
|
|
3207
3164
|
tracerProvider: this.tracerProvider,
|
|
3208
3165
|
onUnauthorized,
|
|
3209
|
-
onNotFound
|
|
3210
|
-
onNotAcceptable
|
|
3166
|
+
onNotFound
|
|
3211
3167
|
});
|
|
3212
3168
|
case "collection": {
|
|
3213
3169
|
const name = route.name.replace(/^collection:/, "");
|
|
@@ -3219,8 +3175,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3219
3175
|
collectionCallbacks: callbacks,
|
|
3220
3176
|
tracerProvider: this.tracerProvider,
|
|
3221
3177
|
onUnauthorized,
|
|
3222
|
-
onNotFound
|
|
3223
|
-
onNotAcceptable
|
|
3178
|
+
onNotFound
|
|
3224
3179
|
});
|
|
3225
3180
|
}
|
|
3226
3181
|
case "orderedCollection": {
|
|
@@ -3233,8 +3188,7 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
|
3233
3188
|
collectionCallbacks: callbacks,
|
|
3234
3189
|
tracerProvider: this.tracerProvider,
|
|
3235
3190
|
onUnauthorized,
|
|
3236
|
-
onNotFound
|
|
3237
|
-
onNotAcceptable
|
|
3191
|
+
onNotFound
|
|
3238
3192
|
});
|
|
3239
3193
|
}
|
|
3240
3194
|
default: {
|
|
@@ -3634,7 +3588,7 @@ var ContextImpl = class ContextImpl {
|
|
|
3634
3588
|
});
|
|
3635
3589
|
}
|
|
3636
3590
|
sendActivity(sender, recipients, activity, options = {}) {
|
|
3637
|
-
const tracer = this.tracerProvider.getTracer(
|
|
3591
|
+
const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
3638
3592
|
return tracer.startActiveSpan(this.federation.outboxQueue == null || options.immediate ? "activitypub.outbox" : "activitypub.fanout", {
|
|
3639
3593
|
kind: this.federation.outboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
|
|
3640
3594
|
attributes: {
|
|
@@ -3691,7 +3645,7 @@ var ContextImpl = class ContextImpl {
|
|
|
3691
3645
|
keys = sender;
|
|
3692
3646
|
} else keys = [sender];
|
|
3693
3647
|
if (keys.length < 1) throw new TypeError("The sender's keys must not be empty.");
|
|
3694
|
-
for (const { privateKey } of keys)
|
|
3648
|
+
for (const { privateKey } of keys) require_http.validateCryptoKey(privateKey, "private");
|
|
3695
3649
|
const opts = { context: this };
|
|
3696
3650
|
let expandedRecipients;
|
|
3697
3651
|
if (Array.isArray(recipients)) expandedRecipients = recipients;
|
|
@@ -3732,7 +3686,7 @@ var ContextImpl = class ContextImpl {
|
|
|
3732
3686
|
}
|
|
3733
3687
|
const keyJwkPairs = await Promise.all(keys.map(async ({ keyId, privateKey }) => ({
|
|
3734
3688
|
keyId: keyId.href,
|
|
3735
|
-
privateKey: await
|
|
3689
|
+
privateKey: await require_http.exportJwk(privateKey)
|
|
3736
3690
|
})));
|
|
3737
3691
|
const carrier = {};
|
|
3738
3692
|
__opentelemetry_api.propagation.inject(__opentelemetry_api.context.active(), carrier);
|
|
@@ -3780,7 +3734,7 @@ var ContextImpl = class ContextImpl {
|
|
|
3780
3734
|
}
|
|
3781
3735
|
routeActivity(recipient, activity, options = {}) {
|
|
3782
3736
|
const tracerProvider = this.tracerProvider ?? this.tracerProvider;
|
|
3783
|
-
const tracer = tracerProvider.getTracer(
|
|
3737
|
+
const tracer = tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
3784
3738
|
return tracer.startActiveSpan("activitypub.inbox", {
|
|
3785
3739
|
kind: this.federation.inboxQueue == null || options.immediate ? __opentelemetry_api.SpanKind.INTERNAL : __opentelemetry_api.SpanKind.PRODUCER,
|
|
3786
3740
|
attributes: { "activitypub.activity.type": require_actor.getTypeId(activity).href }
|
|
@@ -3998,7 +3952,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
|
|
|
3998
3952
|
});
|
|
3999
3953
|
}
|
|
4000
3954
|
forwardActivity(forwarder, recipients, options) {
|
|
4001
|
-
const tracer = this.tracerProvider.getTracer(
|
|
3955
|
+
const tracer = this.tracerProvider.getTracer(require_lookup.deno_default.name, require_lookup.deno_default.version);
|
|
4002
3956
|
return tracer.startActiveSpan("activitypub.outbox", {
|
|
4003
3957
|
kind: this.federation.outboxQueue == null || options?.immediate ? __opentelemetry_api.SpanKind.CLIENT : __opentelemetry_api.SpanKind.PRODUCER,
|
|
4004
3958
|
attributes: { "activitypub.activity.type": this.activityType }
|
|
@@ -4099,7 +4053,7 @@ var InboxContextImpl = class InboxContextImpl extends ContextImpl {
|
|
|
4099
4053
|
});
|
|
4100
4054
|
const keyJwkPairs = [];
|
|
4101
4055
|
for (const { keyId, privateKey } of keys) {
|
|
4102
|
-
const privateKeyJwk = await
|
|
4056
|
+
const privateKeyJwk = await require_http.exportJwk(privateKey);
|
|
4103
4057
|
keyJwkPairs.push({
|
|
4104
4058
|
keyId: keyId.href,
|
|
4105
4059
|
privateKey: privateKeyJwk
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
|
4
|
+
|
|
5
|
+
import "./transformers-BFT6d7J5.js";
|
|
6
|
+
import "./lookup-CtC3x1M6.js";
|
|
7
|
+
import "./actor-C-FuEZU4.js";
|
|
8
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-Bda2JO66.js";
|
|
9
|
+
import "./http-Q_l4fCEE.js";
|
|
10
|
+
import "./proof-B-qOSAuQ.js";
|
|
11
|
+
import "./types-BtUjyi5y.js";
|
|
12
|
+
import "./kv-cache-R1oW382l.js";
|
|
13
|
+
import "./vocab-axlR_8k0.js";
|
|
14
|
+
|
|
15
|
+
export { FederationImpl };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import {
|
|
4
|
-
import { Collection, Link, Object as Object$1 } from "./vocab-CDHNj5zp.js";
|
|
3
|
+
import { Collection, Link, Object as Object$1 } from "./vocab-BCWe1Ih5.js";
|
|
5
4
|
import { TracerProvider } from "@opentelemetry/api";
|
|
5
|
+
import { DocumentLoader, GetUserAgentOptions } from "@fedify/vocab-runtime";
|
|
6
6
|
|
|
7
7
|
//#region src/vocab/lookup.d.ts
|
|
8
8
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Activity } from "./vocab-
|
|
2
|
-
import { ActivityTransformer, Context } from "./context-
|
|
1
|
+
import { Activity } from "./vocab-CeDBzu-f.cjs";
|
|
2
|
+
import { ActivityTransformer, Context } from "./context-PxGADCsD.cjs";
|
|
3
3
|
|
|
4
4
|
//#region src/compat/transformers.d.ts
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Collection, Link, Object as Object$1 } from "./vocab-CeDBzu-f.cjs";
|
|
2
|
+
import { DocumentLoader, GetUserAgentOptions } from "@fedify/vocab-runtime";
|
|
3
3
|
import { TracerProvider } from "@opentelemetry/api";
|
|
4
4
|
|
|
5
5
|
//#region src/vocab/lookup.d.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import { Activity } from "./vocab-
|
|
4
|
-
import { ActivityTransformer, Context } from "./context-
|
|
3
|
+
import { Activity } from "./vocab-BCWe1Ih5.js";
|
|
4
|
+
import { ActivityTransformer, Context } from "./context-V-XS2_6O.js";
|
|
5
5
|
|
|
6
6
|
//#region src/compat/transformers.d.ts
|
|
7
7
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { KeyCache } from "./http-wsGR6KkT.js";
|
|
3
|
+
import { CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1 } from "./vocab-BCWe1Ih5.js";
|
|
4
|
+
import { KeyCache } from "./http-BbO0ejuk.js";
|
|
6
5
|
import { TracerProvider } from "@opentelemetry/api";
|
|
6
|
+
import { DocumentLoader } from "@fedify/vocab-runtime";
|
|
7
7
|
|
|
8
8
|
//#region src/sig/ld.d.ts
|
|
9
9
|
/**
|