@fedify/fedify 1.7.12 → 1.7.14
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/dist/{actor-CPpvuBKU.d.ts → actor-Dx5YX74F.d.ts} +3 -3
- package/dist/{actor-GZRoTRqg.js → actor-OYVgkiZG.js} +329 -465
- package/dist/{actor-TYqJGdVq.js → actor-y7shp0CR.js} +6 -6
- package/dist/{assert-LOEeCUK5.js → assert-C-mZuSQl.js} +2 -2
- package/dist/{assert_equals-B44MxcIj.js → assert_equals-Dy0MG_Zw.js} +16 -16
- package/dist/{assert_instance_of-XtuFevV_.js → assert_instance_of-lS0Jr2iu.js} +2 -2
- package/dist/{assert_is_error-BTlryvT0.js → assert_is_error-CIYFACrT.js} +2 -2
- package/dist/{assert_not_equals-C685gKx6.js → assert_not_equals-C1azCAB0.js} +3 -6
- package/dist/{assert_rejects-DWQ4jaf9.js → assert_rejects-Bkh5lA1a.js} +3 -3
- package/dist/{assert_throws-YetpVSc-.js → assert_throws-CmpfkWEM.js} +3 -3
- package/dist/{authdocloader-hiFSyM7V.js → authdocloader-C0JcfxUs.js} +7 -9
- package/dist/{authdocloader-BopfyipD.js → authdocloader-C2krvRo1.js} +6 -8
- package/dist/{builder-mi6RdzNE.js → builder-DaECqbbT.js} +7 -7
- package/dist/{chunk-Cx8LTkjm.js → chunk-DvTpRkcT.js} +22 -15
- package/dist/{client-DuUKk4pk.js → client-dfu57WLy.js} +3 -3
- package/dist/{client-DvtwXO7t.d.ts → client-wKLuY12i.d.ts} +2 -2
- package/dist/{collection-Dfb0TPno.js → collection-XNLQhehO.js} +2 -3
- package/dist/{mod-DFncUgcE.d.ts → compat/mod-Bwqav33K.d.ts} +3 -3
- package/dist/compat/mod.js +1 -2
- package/dist/compat/transformers.test.js +34 -38
- package/dist/{context-OBWjptjU.d.ts → context-CW_8R4BH.d.ts} +11 -11
- package/dist/{context-RMU32mk4.js → context-nxDPfAiA.js} +5 -5
- package/dist/{docloader-09nVWLAZ.js → docloader-BDSHZfTJ.js} +1 -1
- package/dist/{docloader-DJxET2fN.js → docloader-BU25UQLB.js} +31 -151
- package/dist/{docloader-Q42SMRIB.d.ts → docloader-D_MGP37Q.d.ts} +2 -2
- package/dist/{docloader-bgBm1Hd1.js → docloader-sGz4vcrK.js} +32 -152
- package/dist/{esm-DO9PrujO.js → esm-BRXvTSrx.js} +36 -22
- package/dist/federation/builder.test.js +20 -26
- package/dist/federation/collection.test.js +11 -16
- package/dist/federation/handler.test.js +41 -48
- package/dist/federation/inbox.test.js +11 -11
- package/dist/federation/keycache.test.js +12 -11
- package/dist/federation/kv.test.js +8 -10
- package/dist/federation/middleware.test.js +105 -134
- package/dist/federation/mod-DvlLc8Ru.d.ts +6 -0
- package/dist/federation/mod.js +206 -12
- package/dist/federation/mq.test.js +12 -17
- package/dist/federation/retry.test.js +5 -4
- package/dist/federation/router.test.js +9 -10
- package/dist/federation/send.test.js +23 -24
- package/dist/{http-D2DkwsjA.js → http-BhES0Sg9.js} +23 -30
- package/dist/{http-DMTrO3Ye.d.ts → http-DFZRNfDP.d.ts} +3 -3
- package/dist/{http-vqMAvOVs.js → http-DRePVWfE.js} +23 -30
- package/dist/{inbox-DAAZZl2k.js → inbox-Z_QlSGYN.js} +5 -5
- package/dist/key-CJuc1GE1.js +10 -0
- package/dist/{key-DmqJj57e.js → key-D2HZrCxh.js} +4 -4
- package/dist/{key-KVhaUM92.js → key-bMrDyA2T.js} +5 -5
- package/dist/key-eP5Yk7hl.js +16 -0
- package/dist/{keycache-C1pEuRyQ.js → keycache-B5Rr8Lbc.js} +2 -2
- package/dist/{keys-C4XQHW5_.js → keys-DK4k1R8e.js} +2 -2
- package/dist/{kv-DRaeSXco.d.ts → kv-CKqSUxHd.d.ts} +1 -1
- package/dist/{kv-BMY6Qf_A.js → kv-QeuZ51go.js} +1 -1
- package/dist/{langstr-DbWheeIS.js → langstr-pFHBDU4y.js} +1 -1
- package/dist/{ld-DzlJ_IpT.js → ld--auFISy7.js} +9 -12
- package/dist/{lookup-CSngxuWm.js → lookup-4uc2jh52.js} +3 -3
- package/dist/{lookup-DL62q3Xh.js → lookup-Bq8vhIG4.js} +4 -4
- package/dist/{lookup-Bf-K85bV.d.ts → lookup-CqI9jhXo.d.ts} +2 -2
- package/dist/{lookup-D0je8AqR.js → lookup-cHV4n1IB.js} +6 -6
- package/dist/middleware-72Tuh6Iw.js +17 -0
- package/dist/{middleware-3wVT6S9E.js → middleware-B7p-onxQ.js} +35 -39
- package/dist/middleware-DB3BUysJ.js +32 -0
- package/dist/{middleware-DlDXugwZ.js → middleware-QJjRfjjc.js} +38 -43
- package/dist/{mod-CCL2cvnI.d.ts → mod-BEZy4WHZ.d.ts} +4 -4
- package/dist/mod-DMn4Bxyg.d.ts +20 -0
- package/dist/{mod-CDzlVCUF.d.ts → mod-DjGYGrBd.d.ts} +3 -3
- package/dist/mod.js +17 -17
- package/dist/{mq-DYKDDJmp.d.ts → mq-Cgfbl44M.d.ts} +1 -1
- package/dist/{multibase-CnLHszip.js → multibase-DBcKTV2a.js} +1 -1
- package/dist/nodeinfo/client.test.js +19 -28
- package/dist/nodeinfo/handler.test.js +37 -44
- package/dist/nodeinfo/mod--upgPcaX.d.ts +4 -0
- package/dist/nodeinfo/mod.js +2 -3
- package/dist/nodeinfo/semver.test.js +13 -21
- package/dist/nodeinfo/types.test.js +9 -11
- package/dist/{owner-D0cOz8R5.d.ts → owner-CewLNqWO.d.ts} +4 -4
- package/dist/{owner-81ey_76X.js → owner-DkTRLQAV.js} +4 -4
- package/dist/{proof-DlI7QNdn.js → proof-D4HXHDPz.js} +14 -19
- package/dist/{proof-BlULDH4H.js → proof-DT_xxRPF.js} +11 -13
- package/dist/{retry-BiIhZWgD.js → retry-BQet39_l.js} +1 -1
- package/dist/{router-D_aVZZUc.js → router-BuDkN4RQ.js} +1 -1
- package/dist/runtime/authdocloader.test.js +22 -26
- package/dist/runtime/docloader.test.js +56 -56
- package/dist/runtime/key.test.js +31 -53
- package/dist/runtime/langstr.test.js +8 -10
- package/dist/{mod-qFMzZ3iF.d.ts → runtime/mod-BaH1vtHp.d.ts} +4 -3
- package/dist/runtime/mod.js +6 -7
- package/dist/runtime/multibase/multibase.test.js +12 -18
- package/dist/runtime/url.test.js +7 -6
- package/dist/{semver-BNrOOAs9.js → semver-D9d-VO-_.js} +7 -17
- package/dist/{send-DdxfTHo6.js → send-axIyQX2p.js} +4 -4
- package/dist/sig/http.test.js +104 -168
- package/dist/sig/key.test.js +17 -20
- package/dist/sig/ld.test.js +28 -35
- package/dist/sig/mod-BmJQTnPT.d.ts +6 -0
- package/dist/sig/mod.js +6 -7
- package/dist/sig/owner.test.js +24 -30
- package/dist/sig/proof.test.js +24 -29
- package/dist/{std__assert-o_r9vqm1.js → std__assert-BdP_WkD-.js} +7 -13
- package/dist/testing/docloader.test.js +9 -12
- package/dist/testing/mod.js +2 -1
- package/dist/{testing-DLyvtiiW.js → testing-qaAD4B0t.js} +2 -2
- package/dist/{transformers-ghwJuzGY.js → transformers-CFSWUhNi.js} +1 -1
- package/dist/{type-CFuiGLz9.js → type-DFsmi-p1.js} +1 -1
- package/dist/{types-CmVV9LT1.js → types-Bk4b1bGc.js} +8 -18
- package/dist/{types-CJHS5pXl.js → types-CB_2uuCA.js} +2 -2
- package/dist/{url-C2xuoQD1.js → url-BdNvnK9P.js} +1 -1
- package/dist/vocab/actor.test.js +76 -128
- package/dist/vocab/lookup.test.js +19 -23
- package/dist/vocab/mod-BkXGAYkx.d.ts +6 -0
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/type.test.js +10 -10
- package/dist/vocab/vocab.test.js +109 -105
- package/dist/{vocab-DFlq4Wa6.js → vocab-DCHRuBGF.js} +328 -464
- package/dist/{vocab-CzEfWQk2.d.ts → vocab-DoBcp8ow.d.ts} +2 -2
- package/dist/{vocab-BebR0kAy.js → vocab-sMuiKIWm.js} +5 -5
- package/dist/webfinger/handler.test.js +40 -48
- package/dist/webfinger/lookup.test.js +12 -15
- package/dist/webfinger/mod-B1UhCvlL.d.ts +4 -0
- package/dist/webfinger/mod.js +2 -3
- package/dist/x/{cfworkers.d.ts → cfworkers-BIcR64Sf.d.ts} +2 -2
- package/dist/x/cfworkers.test.js +7 -9
- package/dist/x/{hono.d.ts → hono-DmQmp8wi.d.ts} +2 -11
- package/dist/x/{sveltekit.d.ts → sveltekit-Cvh0XnN4.d.ts} +2 -11
- package/package.json +1 -1
- package/dist/compat/mod.d.ts +0 -15
- package/dist/compat-Bb5myD13.js +0 -4
- package/dist/federation/mod.d.ts +0 -15
- package/dist/federation-B0aljx0V.js +0 -203
- package/dist/key-5ssHQ67E.js +0 -16
- package/dist/key-DSJGnD10.js +0 -10
- package/dist/middleware-CxFoFBD8.js +0 -33
- package/dist/middleware-w7_U3fFi.js +0 -17
- package/dist/mod-1pDWKvUL.d.ts +0 -2
- package/dist/mod-GIh5OYxW.d.ts +0 -2
- package/dist/mod-g0xFzAP9.d.ts +0 -2
- package/dist/mod.d.ts +0 -20
- package/dist/nodeinfo/mod.d.ts +0 -7
- package/dist/nodeinfo-CyEbLjHs.js +0 -4
- package/dist/runtime/mod.d.ts +0 -8
- package/dist/runtime-BSkOVUWM.js +0 -4
- package/dist/sig/mod.d.ts +0 -10
- package/dist/sig-BXJO--F9.js +0 -4
- package/dist/vocab/mod.d.ts +0 -8
- package/dist/webfinger/mod.d.ts +0 -7
- package/dist/webfinger-C3GIyXIg.js +0 -4
- /package/dist/compat/{transformers.test.d.ts → transformers.test-DnJbd34u.d.ts} +0 -0
- /package/dist/{denokv-CvROlGYX.js → denokv-NcJeZ6rP.js} +0 -0
- /package/dist/federation/{builder.test.d.ts → builder.test-Bpt6NOZ6.d.ts} +0 -0
- /package/dist/federation/{collection.test.d.ts → collection.test-DKJ6JOZz.d.ts} +0 -0
- /package/dist/federation/{handler.test.d.ts → handler.test-BMT7uLC0.d.ts} +0 -0
- /package/dist/federation/{inbox.test.d.ts → inbox.test-Do6i02Qp.d.ts} +0 -0
- /package/dist/federation/{keycache.test.d.ts → keycache.test-BT83IPZY.d.ts} +0 -0
- /package/dist/federation/{kv.test.d.ts → kv.test-kFzzF2VN.d.ts} +0 -0
- /package/dist/federation/{middleware.test.d.ts → middleware.test-B1R4_e3-.d.ts} +0 -0
- /package/dist/federation/{mq.test.d.ts → mq.test-l79EQQOe.d.ts} +0 -0
- /package/dist/federation/{retry.test.d.ts → retry.test-BqS50VCX.d.ts} +0 -0
- /package/dist/federation/{router.test.d.ts → router.test-CYQl4po-.d.ts} +0 -0
- /package/dist/federation/{send.test.d.ts → send.test-COUnNUzv.d.ts} +0 -0
- /package/dist/nodeinfo/{client.test.d.ts → client.test-CZLe79hL.d.ts} +0 -0
- /package/dist/nodeinfo/{handler.test.d.ts → handler.test-B-EDZ_hK.d.ts} +0 -0
- /package/dist/nodeinfo/{semver.test.d.ts → semver.test-BEuuQSEM.d.ts} +0 -0
- /package/dist/nodeinfo/{types.test.d.ts → types.test-B5AT89WV.d.ts} +0 -0
- /package/dist/runtime/{authdocloader.test.d.ts → authdocloader.test-hCRKzn9v.d.ts} +0 -0
- /package/dist/runtime/{docloader.test.d.ts → docloader.test-CVd7i_5h.d.ts} +0 -0
- /package/dist/runtime/{key.test.d.ts → key.test-DBsILYSD.d.ts} +0 -0
- /package/dist/runtime/{langstr.test.d.ts → langstr.test-CiKxuuRY.d.ts} +0 -0
- /package/dist/runtime/multibase/{multibase.test.d.ts → multibase.test-Brh6gPBP.d.ts} +0 -0
- /package/dist/runtime/{url.test.d.ts → url.test-DlRqkU2j.d.ts} +0 -0
- /package/dist/sig/{http.test.d.ts → http.test-BpXNAWNI.d.ts} +0 -0
- /package/dist/sig/{key.test.d.ts → key.test-B2iLIugy.d.ts} +0 -0
- /package/dist/sig/{ld.test.d.ts → ld.test-D-cI70Gw.d.ts} +0 -0
- /package/dist/sig/{owner.test.d.ts → owner.test-B_YRjMPj.d.ts} +0 -0
- /package/dist/sig/{proof.test.d.ts → proof.test-BagEM_-4.d.ts} +0 -0
- /package/dist/testing/{docloader.test.d.ts → docloader.test-lrzf6sDZ.d.ts} +0 -0
- /package/dist/testing/{mod.d.ts → mod-3uM8ZvS7.d.ts} +0 -0
- /package/dist/vocab/{actor.test.d.ts → actor.test-ClC-iVWk.d.ts} +0 -0
- /package/dist/vocab/{lookup.test.d.ts → lookup.test-Cq1I-27w.d.ts} +0 -0
- /package/dist/vocab/{type.test.d.ts → type.test-bfFiYGcs.d.ts} +0 -0
- /package/dist/vocab/{vocab.test.d.ts → vocab.test-h-ZTisfu.d.ts} +0 -0
- /package/dist/webfinger/{handler.test.d.ts → handler.test-DiUeEDDD.d.ts} +0 -0
- /package/dist/webfinger/{lookup.test.d.ts → lookup.test-D9onm3U3.d.ts} +0 -0
- /package/dist/x/{cfworkers.test.d.ts → cfworkers.test-KXHlJ29z.d.ts} +0 -0
|
@@ -3,29 +3,26 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import "../
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
20
|
-
import {
|
|
21
|
-
import "../
|
|
22
|
-
import
|
|
23
|
-
import "../
|
|
24
|
-
import "../
|
|
25
|
-
import "../
|
|
26
|
-
import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
|
|
27
|
-
import { rsaPrivateKey2 } from "../keys-C4XQHW5_.js";
|
|
28
|
-
import { esm_default } from "../esm-DO9PrujO.js";
|
|
6
|
+
import "../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import "../docloader-sGz4vcrK.js";
|
|
9
|
+
import { t as UrlError } from "../url-BdNvnK9P.js";
|
|
10
|
+
import "../multibase-DBcKTV2a.js";
|
|
11
|
+
import "../vocab-DCHRuBGF.js";
|
|
12
|
+
import "../langstr-pFHBDU4y.js";
|
|
13
|
+
import "../lookup-Bq8vhIG4.js";
|
|
14
|
+
import "../actor-y7shp0CR.js";
|
|
15
|
+
import "../key-bMrDyA2T.js";
|
|
16
|
+
import { l as verifyRequest } from "../http-BhES0Sg9.js";
|
|
17
|
+
import { t as getAuthenticatedDocumentLoader } from "../authdocloader-C0JcfxUs.js";
|
|
18
|
+
import { t as test } from "../testing-qaAD4B0t.js";
|
|
19
|
+
import "../std__assert-BdP_WkD-.js";
|
|
20
|
+
import { t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
|
|
21
|
+
import "../assert_is_error-CIYFACrT.js";
|
|
22
|
+
import "../assert_throws-CmpfkWEM.js";
|
|
23
|
+
import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
|
|
24
|
+
import { i as rsaPrivateKey2 } from "../keys-DK4k1R8e.js";
|
|
25
|
+
import { t as esm_default } from "../esm-BRXvTSrx.js";
|
|
29
26
|
|
|
30
27
|
//#region runtime/authdocloader.test.ts
|
|
31
28
|
test("getAuthenticatedDocumentLoader()", async (t) => {
|
|
@@ -39,11 +36,10 @@ test("getAuthenticatedDocumentLoader()", async (t) => {
|
|
|
39
36
|
return new Response(JSON.stringify(v != null), { headers: { "Content-Type": "application/json" } });
|
|
40
37
|
});
|
|
41
38
|
await t.step("test", async () => {
|
|
42
|
-
|
|
39
|
+
assertEquals(await (await getAuthenticatedDocumentLoader({
|
|
43
40
|
keyId: new URL("https://example.com/key2"),
|
|
44
41
|
privateKey: rsaPrivateKey2
|
|
45
|
-
})
|
|
46
|
-
assertEquals(await loader("https://example.com/object"), {
|
|
42
|
+
}))("https://example.com/object"), {
|
|
47
43
|
contextUrl: null,
|
|
48
44
|
documentUrl: "https://example.com/object",
|
|
49
45
|
document: true
|
|
@@ -3,20 +3,19 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import { MemoryKvStore } from "../kv-
|
|
10
|
-
import {
|
|
11
|
-
import { UrlError } from "../url-
|
|
12
|
-
import { test } from "../testing-
|
|
13
|
-
import "../std__assert-
|
|
14
|
-
import { assertRejects } from "../assert_rejects-
|
|
15
|
-
import "../assert_is_error-
|
|
16
|
-
import "../
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { esm_default } from "../esm-DO9PrujO.js";
|
|
6
|
+
import "../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import { t as assert } from "../assert-C-mZuSQl.js";
|
|
9
|
+
import { t as MemoryKvStore } from "../kv-QeuZ51go.js";
|
|
10
|
+
import { d as version, i as getDocumentLoader, l as contexts_default, o as getUserAgent, s as kvCache, t as FetchError } from "../docloader-sGz4vcrK.js";
|
|
11
|
+
import { t as UrlError } from "../url-BdNvnK9P.js";
|
|
12
|
+
import { t as test } from "../testing-qaAD4B0t.js";
|
|
13
|
+
import "../std__assert-BdP_WkD-.js";
|
|
14
|
+
import { t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
|
|
15
|
+
import "../assert_is_error-CIYFACrT.js";
|
|
16
|
+
import { t as assertThrows } from "../assert_throws-CmpfkWEM.js";
|
|
17
|
+
import { t as mockDocumentLoader } from "../docloader-BDSHZfTJ.js";
|
|
18
|
+
import { t as esm_default } from "../esm-BRXvTSrx.js";
|
|
20
19
|
import process from "node:process";
|
|
21
20
|
|
|
22
21
|
//#region runtime/docloader.test.ts
|
|
@@ -287,6 +286,17 @@ test("getDocumentLoader()", async (t) => {
|
|
|
287
286
|
assertEquals(await fetchDocumentLoader2("https://example.com/localhost-redirect"), expected);
|
|
288
287
|
assertEquals(await fetchDocumentLoader2("https://example.com/localhost-link"), expected);
|
|
289
288
|
});
|
|
289
|
+
const maliciousPayload = "<a" + " a=\"b\"".repeat(30) + " ";
|
|
290
|
+
esm_default.get("https://example.com/redos", {
|
|
291
|
+
body: maliciousPayload,
|
|
292
|
+
headers: { "Content-Type": "text/html; charset=utf-8" }
|
|
293
|
+
});
|
|
294
|
+
await t.step("ReDoS resistance (CVE-2025-68475)", async () => {
|
|
295
|
+
const start = performance.now();
|
|
296
|
+
await assertRejects(() => fetchDocumentLoader("https://example.com/redos"), SyntaxError);
|
|
297
|
+
const elapsed = performance.now() - start;
|
|
298
|
+
assert(elapsed < 1e3, `Potential ReDoS vulnerability detected: ${elapsed}ms (expected < 1000ms)`);
|
|
299
|
+
});
|
|
290
300
|
esm_default.hardReset();
|
|
291
301
|
});
|
|
292
302
|
test("kvCache()", async (t) => {
|
|
@@ -313,12 +323,11 @@ test("kvCache()", async (t) => {
|
|
|
313
323
|
type: "Object"
|
|
314
324
|
}
|
|
315
325
|
});
|
|
316
|
-
|
|
326
|
+
assertEquals(await kv.get([
|
|
317
327
|
"_test",
|
|
318
328
|
"cached",
|
|
319
329
|
"https://example.com/object"
|
|
320
|
-
]);
|
|
321
|
-
assertEquals(cache, result);
|
|
330
|
+
]), result);
|
|
322
331
|
await kv.set([
|
|
323
332
|
"_test",
|
|
324
333
|
"cached",
|
|
@@ -328,8 +337,7 @@ test("kvCache()", async (t) => {
|
|
|
328
337
|
documentUrl: "https://example.org/",
|
|
329
338
|
document: { "id": "https://example.org/" }
|
|
330
339
|
});
|
|
331
|
-
|
|
332
|
-
assertEquals(result2, {
|
|
340
|
+
assertEquals(await loader("https://example.org/"), {
|
|
333
341
|
contextUrl: null,
|
|
334
342
|
documentUrl: "https://example.org/",
|
|
335
343
|
document: { "id": "https://example.org/" }
|
|
@@ -343,21 +351,19 @@ test("kvCache()", async (t) => {
|
|
|
343
351
|
documentUrl: "https://example.net/",
|
|
344
352
|
document: { "id": "https://example.net/" }
|
|
345
353
|
});
|
|
346
|
-
|
|
347
|
-
assertEquals(result3, {
|
|
354
|
+
assertEquals(await loader("https://example.net/"), {
|
|
348
355
|
contextUrl: null,
|
|
349
356
|
documentUrl: "https://example.net/",
|
|
350
357
|
document: { "id": "https://example.net/" }
|
|
351
358
|
});
|
|
352
359
|
});
|
|
353
360
|
await t.step("not cached", async () => {
|
|
354
|
-
|
|
361
|
+
assertEquals(await kvCache({
|
|
355
362
|
kv,
|
|
356
363
|
loader: mockDocumentLoader,
|
|
357
364
|
rules: [],
|
|
358
365
|
prefix: ["_test", "not cached"]
|
|
359
|
-
})("https://example.com/object")
|
|
360
|
-
assertEquals(result, {
|
|
366
|
+
})("https://example.com/object"), {
|
|
361
367
|
contextUrl: null,
|
|
362
368
|
documentUrl: "https://example.com/object",
|
|
363
369
|
document: {
|
|
@@ -367,12 +373,11 @@ test("kvCache()", async (t) => {
|
|
|
367
373
|
type: "Object"
|
|
368
374
|
}
|
|
369
375
|
});
|
|
370
|
-
|
|
376
|
+
assertEquals(await kv.get([
|
|
371
377
|
"test2",
|
|
372
378
|
"not cached",
|
|
373
379
|
"https://example.com/object"
|
|
374
|
-
]);
|
|
375
|
-
assertEquals(cache, void 0);
|
|
380
|
+
]), void 0);
|
|
376
381
|
});
|
|
377
382
|
await t.step("maximum cache duration", () => {
|
|
378
383
|
assertThrows(() => kvCache({
|
|
@@ -404,7 +409,7 @@ test("kvCache()", async (t) => {
|
|
|
404
409
|
throw new Error("Failed to delete key");
|
|
405
410
|
}
|
|
406
411
|
}
|
|
407
|
-
|
|
412
|
+
assertEquals(await kvCache({
|
|
408
413
|
kv: new KvStoreThrowsException(),
|
|
409
414
|
loader: mockDocumentLoader,
|
|
410
415
|
rules: [
|
|
@@ -413,8 +418,7 @@ test("kvCache()", async (t) => {
|
|
|
413
418
|
[new URLPattern("https://example.com/*"), Temporal.Duration.from({ days: 30 })]
|
|
414
419
|
],
|
|
415
420
|
prefix: ["_test", "not cached"]
|
|
416
|
-
})("https://example.com/object")
|
|
417
|
-
assertEquals(result, {
|
|
421
|
+
})("https://example.com/object"), {
|
|
418
422
|
contextUrl: null,
|
|
419
423
|
documentUrl: "https://example.com/object",
|
|
420
424
|
document: {
|
|
@@ -443,23 +447,20 @@ test("kvCache()", async (t) => {
|
|
|
443
447
|
});
|
|
444
448
|
const activityStreamsUrl = "https://www.w3.org/ns/activitystreams";
|
|
445
449
|
loaderCalled = false;
|
|
446
|
-
|
|
447
|
-
assertEquals(result, {
|
|
450
|
+
assertEquals(await loader(activityStreamsUrl), {
|
|
448
451
|
contextUrl: null,
|
|
449
452
|
documentUrl: activityStreamsUrl,
|
|
450
453
|
document: contexts_default[activityStreamsUrl]
|
|
451
454
|
});
|
|
452
455
|
assertEquals(loaderCalled, false, "Loader should not be called for preloaded contexts");
|
|
453
|
-
|
|
456
|
+
assertEquals(await kv$1.get([
|
|
454
457
|
"_test",
|
|
455
458
|
"preloaded",
|
|
456
459
|
activityStreamsUrl
|
|
457
|
-
]);
|
|
458
|
-
assertEquals(cachedValue, void 0, "Preloaded contexts should not be cached in KV store");
|
|
460
|
+
]), void 0, "Preloaded contexts should not be cached in KV store");
|
|
459
461
|
const securityUrl = "https://w3id.org/security/v1";
|
|
460
462
|
loaderCalled = false;
|
|
461
|
-
|
|
462
|
-
assertEquals(result2, {
|
|
463
|
+
assertEquals(await loader(securityUrl), {
|
|
463
464
|
contextUrl: null,
|
|
464
465
|
documentUrl: securityUrl,
|
|
465
466
|
document: contexts_default[securityUrl]
|
|
@@ -474,47 +475,46 @@ test("kvCache()", async (t) => {
|
|
|
474
475
|
document: { "mock": "document" }
|
|
475
476
|
});
|
|
476
477
|
assertEquals(loaderCalled, true, "Loader should be called for non-preloaded URLs");
|
|
477
|
-
|
|
478
|
+
assertEquals(await kv$1.get([
|
|
478
479
|
"_test",
|
|
479
480
|
"preloaded",
|
|
480
481
|
nonPreloadedUrl
|
|
481
|
-
]);
|
|
482
|
-
assertEquals(cachedValue2, result3, "Non-preloaded URLs should be cached");
|
|
482
|
+
]), result3, "Non-preloaded URLs should be cached");
|
|
483
483
|
});
|
|
484
484
|
});
|
|
485
485
|
test("getUserAgent()", () => {
|
|
486
486
|
if ("Deno" in globalThis) {
|
|
487
|
-
assertEquals(getUserAgent(), `Fedify/${
|
|
488
|
-
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${
|
|
489
|
-
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${
|
|
487
|
+
assertEquals(getUserAgent(), `Fedify/${version} (Deno/${Deno.version.deno})`);
|
|
488
|
+
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${version}; Deno/${Deno.version.deno})`);
|
|
489
|
+
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${version} (Deno/${Deno.version.deno}; +https://example.com/)`);
|
|
490
490
|
assertEquals(getUserAgent({
|
|
491
491
|
software: "MyApp/1.0.0",
|
|
492
492
|
url: new URL("https://example.com/")
|
|
493
|
-
}), `MyApp/1.0.0 (Fedify/${
|
|
493
|
+
}), `MyApp/1.0.0 (Fedify/${version}; Deno/${Deno.version.deno}; +https://example.com/)`);
|
|
494
494
|
} else if ("Bun" in globalThis) {
|
|
495
|
-
assertEquals(getUserAgent(), `Fedify/${
|
|
496
|
-
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${
|
|
497
|
-
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${
|
|
495
|
+
assertEquals(getUserAgent(), `Fedify/${version} (Bun/${Bun.version})`);
|
|
496
|
+
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${version}; Bun/${Bun.version})`);
|
|
497
|
+
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${version} (Bun/${Bun.version}; +https://example.com/)`);
|
|
498
498
|
assertEquals(getUserAgent({
|
|
499
499
|
software: "MyApp/1.0.0",
|
|
500
500
|
url: new URL("https://example.com/")
|
|
501
|
-
}), `MyApp/1.0.0 (Fedify/${
|
|
501
|
+
}), `MyApp/1.0.0 (Fedify/${version}; Bun/${Bun.version}; +https://example.com/)`);
|
|
502
502
|
} else if (navigator.userAgent === "Cloudflare-Workers") {
|
|
503
|
-
assertEquals(getUserAgent(), `Fedify/${
|
|
504
|
-
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${
|
|
505
|
-
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${
|
|
503
|
+
assertEquals(getUserAgent(), `Fedify/${version} (Cloudflare-Workers)`);
|
|
504
|
+
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${version}; Cloudflare-Workers)`);
|
|
505
|
+
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${version} (Cloudflare-Workers; +https://example.com/)`);
|
|
506
506
|
assertEquals(getUserAgent({
|
|
507
507
|
software: "MyApp/1.0.0",
|
|
508
508
|
url: new URL("https://example.com/")
|
|
509
|
-
}), `MyApp/1.0.0 (Fedify/${
|
|
509
|
+
}), `MyApp/1.0.0 (Fedify/${version}; Cloudflare-Workers; +https://example.com/)`);
|
|
510
510
|
} else {
|
|
511
|
-
assertEquals(getUserAgent(), `Fedify/${
|
|
512
|
-
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${
|
|
513
|
-
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${
|
|
511
|
+
assertEquals(getUserAgent(), `Fedify/${version} (Node.js/${process.versions.node})`);
|
|
512
|
+
assertEquals(getUserAgent({ software: "MyApp/1.0.0" }), `MyApp/1.0.0 (Fedify/${version}; Node.js/${process.versions.node})`);
|
|
513
|
+
assertEquals(getUserAgent({ url: "https://example.com/" }), `Fedify/${version} (Node.js/${process.versions.node}; +https://example.com/)`);
|
|
514
514
|
assertEquals(getUserAgent({
|
|
515
515
|
software: "MyApp/1.0.0",
|
|
516
516
|
url: new URL("https://example.com/")
|
|
517
|
-
}), `MyApp/1.0.0 (Fedify/${
|
|
517
|
+
}), `MyApp/1.0.0 (Fedify/${version}; Node.js/${process.versions.node}; +https://example.com/)`);
|
|
518
518
|
}
|
|
519
519
|
});
|
|
520
520
|
|
package/dist/runtime/key.test.js
CHANGED
|
@@ -3,24 +3,21 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import "../
|
|
10
|
-
import "../
|
|
11
|
-
import "../
|
|
12
|
-
import
|
|
13
|
-
import "../
|
|
14
|
-
import "../
|
|
15
|
-
import "../
|
|
16
|
-
import "../
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import "../
|
|
20
|
-
import "../
|
|
21
|
-
import "../assert_is_error-BTlryvT0.js";
|
|
22
|
-
import "../assert_not_equals-C685gKx6.js";
|
|
23
|
-
import "../assert_throws-YetpVSc-.js";
|
|
6
|
+
import "../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import "../docloader-sGz4vcrK.js";
|
|
9
|
+
import "../url-BdNvnK9P.js";
|
|
10
|
+
import "../multibase-DBcKTV2a.js";
|
|
11
|
+
import { A as exportSpki, M as importPem, N as importPkcs1, P as importSpki, j as importMultibaseKey, k as exportMultibaseKey } from "../vocab-DCHRuBGF.js";
|
|
12
|
+
import "../langstr-pFHBDU4y.js";
|
|
13
|
+
import "../lookup-Bq8vhIG4.js";
|
|
14
|
+
import "../actor-y7shp0CR.js";
|
|
15
|
+
import { i as importJwk, t as exportJwk } from "../key-bMrDyA2T.js";
|
|
16
|
+
import { t as test } from "../testing-qaAD4B0t.js";
|
|
17
|
+
import "../std__assert-BdP_WkD-.js";
|
|
18
|
+
import "../assert_rejects-Bkh5lA1a.js";
|
|
19
|
+
import "../assert_is_error-CIYFACrT.js";
|
|
20
|
+
import "../assert_throws-CmpfkWEM.js";
|
|
24
21
|
|
|
25
22
|
//#region runtime/key.test.ts
|
|
26
23
|
const rsaSpki = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxsRuvCkgJtflBTl4OVsm\nnt/J1mQfZasfJtN33dcZ3d1lJroxmgmMu69zjGEAwkNbMQaWNLqC4eogkJaeJ4RR\n5MHYXkL9nNilVoTkjX5BVit3puzs7XJ7WQnKQgQMI+ezn24GHsZ/v1JIo77lerX5\nk4HNwTNVt+yaZVQWaOMR3+6FwziQR6kd0VuG9/a9dgAnz2cEoORRC1i4W7IZaB1s\nZnh1WbHbevlGd72HSXll5rocPIHn8gq6xpBgpHwRphlRsgn4KHaJ6brXDIJjrnQh\nIe/YUBOGj/ImSEXhRwlFerKsoAVnZ0Hwbfa46qk44TAt8CyoPMWmpK6pt0ng4pQ2\nuwIDAQAB\n-----END PUBLIC KEY-----\n";
|
|
@@ -45,64 +42,45 @@ const ed25519Jwk = {
|
|
|
45
42
|
};
|
|
46
43
|
const ed25519Multibase = "z6MksHj1MJnidCtDiyYW9ugNFftoX9fLK4bornTxmMZ6X7vq";
|
|
47
44
|
test("importSpki()", async () => {
|
|
48
|
-
|
|
49
|
-
assertEquals(await exportJwk(
|
|
50
|
-
const ed25519Key = await importSpki(ed25519Pem);
|
|
51
|
-
assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
|
|
45
|
+
assertEquals(await exportJwk(await importSpki(rsaSpki)), rsaJwk);
|
|
46
|
+
assertEquals(await exportJwk(await importSpki(ed25519Pem)), ed25519Jwk);
|
|
52
47
|
});
|
|
53
48
|
test("exportSpki()", async () => {
|
|
54
|
-
const
|
|
55
|
-
const rsaSpki$1 = await exportSpki(rsaKey);
|
|
49
|
+
const rsaSpki$1 = await exportSpki(await importJwk(rsaJwk, "public"));
|
|
56
50
|
assertEquals(rsaSpki$1, rsaSpki$1);
|
|
57
|
-
|
|
58
|
-
const ed25519Spki = await exportSpki(ed25519Key);
|
|
59
|
-
assertEquals(ed25519Spki, ed25519Pem);
|
|
51
|
+
assertEquals(await exportSpki(await importJwk(ed25519Jwk, "public")), ed25519Pem);
|
|
60
52
|
});
|
|
61
53
|
test("importPkcs1()", async () => {
|
|
62
|
-
|
|
63
|
-
assertEquals(await exportJwk(rsaKey), rsaJwk);
|
|
54
|
+
assertEquals(await exportJwk(await importPkcs1(rsaPkcs1)), rsaJwk);
|
|
64
55
|
});
|
|
65
56
|
test("importPem()", async () => {
|
|
66
|
-
|
|
67
|
-
assertEquals(await exportJwk(
|
|
68
|
-
|
|
69
|
-
assertEquals(await exportJwk(rsaSpkiKey), rsaJwk);
|
|
70
|
-
const ed25519Key = await importPem(ed25519Pem);
|
|
71
|
-
assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
|
|
57
|
+
assertEquals(await exportJwk(await importPem(rsaPkcs1)), rsaJwk);
|
|
58
|
+
assertEquals(await exportJwk(await importPem(rsaSpki)), rsaJwk);
|
|
59
|
+
assertEquals(await exportJwk(await importPem(ed25519Pem)), ed25519Jwk);
|
|
72
60
|
});
|
|
73
61
|
test("importMultibase()", async () => {
|
|
74
|
-
|
|
75
|
-
assertEquals(await exportJwk(
|
|
76
|
-
const ed25519Key = await importMultibaseKey(ed25519Multibase);
|
|
77
|
-
assertEquals(await exportJwk(ed25519Key), ed25519Jwk);
|
|
62
|
+
assertEquals(await exportJwk(await importMultibaseKey(rsaMultibase)), rsaJwk);
|
|
63
|
+
assertEquals(await exportJwk(await importMultibaseKey(ed25519Multibase)), ed25519Jwk);
|
|
78
64
|
});
|
|
79
65
|
test("exportMultibaseKey()", async () => {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
assertEquals(
|
|
83
|
-
const ed25519Key = await importJwk(ed25519Jwk, "public");
|
|
84
|
-
const ed25519Mb = await exportMultibaseKey(ed25519Key);
|
|
85
|
-
assertEquals(ed25519Mb, ed25519Multibase);
|
|
86
|
-
const rsaKey2 = await importJwk({
|
|
66
|
+
assertEquals(await exportMultibaseKey(await importJwk(rsaJwk, "public")), rsaMultibase);
|
|
67
|
+
assertEquals(await exportMultibaseKey(await importJwk(ed25519Jwk, "public")), ed25519Multibase);
|
|
68
|
+
assertEquals(await exportMultibaseKey(await importJwk({
|
|
87
69
|
alg: "RS256",
|
|
88
70
|
ext: true,
|
|
89
71
|
key_ops: ["verify"],
|
|
90
72
|
e: "AQAB",
|
|
91
73
|
kty: "RSA",
|
|
92
74
|
n: "sbX82NTV6IylxCh7MfV4hlyvaniCajuP97GyOqSvTmoEdBOflFvZ06kR_9D6ctt45Fk6hskfnag2GG69NALVH2o4RCR6tQiLRpKcMRtDYE_thEmfBvDzm_VVkOIYfxu-Ipuo9J_S5XDNDjczx2v-3oDh5-CIHkU46hvFeCvpUS-L8TJSbgX0kjVk_m4eIb9wh63rtmD6Uz_KBtCo5mmR4TEtcLZKYdqMp3wCjN-TlgHiz_4oVXWbHUefCEe8rFnX1iQnpDHU49_SaXQoud1jCaexFn25n-Aa8f8bc5Vm-5SeRwidHa6ErvEhTvf1dz6GoNPp2iRvm-wJ1gxwWJEYPQ"
|
|
93
|
-
}, "public");
|
|
94
|
-
|
|
95
|
-
assertEquals(rsaMb2, "z4MXj1wBzi9jUstyPMS4jQqB6KdJaiatPkAtVtGc6bQEQEEsKTic4G7Rou3iBf9vPmT5dbkm9qsZsuVNjq8HCuW1w24nhBFGkRE4cd2Uf2tfrB3N7h4mnyPp1BF3ZttHTYv3DLUPi1zMdkULiow3M1GfXkoC6DoxDUm1jmN6GBj22SjVsr6dxezRVQc7aj9TxE7JLbMH1wh5X3kA58H3DFW8rnYMakFGbca5CB2Jf6CnGQZmL7o5uJAdTwXfy2iiiyPxXEGerMhHwhjTA1mKYobyk2CpeEcmvynADfNZ5MBvcCS7m3XkFCMNUYBS9NQ3fze6vMSUPsNa6GVYmKx2x6JrdEjCk3qRMMmyjnjCMfR4pXbRMZa3i");
|
|
96
|
-
const ed25519Key2 = await importJwk({
|
|
75
|
+
}, "public")), "z4MXj1wBzi9jUstyPMS4jQqB6KdJaiatPkAtVtGc6bQEQEEsKTic4G7Rou3iBf9vPmT5dbkm9qsZsuVNjq8HCuW1w24nhBFGkRE4cd2Uf2tfrB3N7h4mnyPp1BF3ZttHTYv3DLUPi1zMdkULiow3M1GfXkoC6DoxDUm1jmN6GBj22SjVsr6dxezRVQc7aj9TxE7JLbMH1wh5X3kA58H3DFW8rnYMakFGbca5CB2Jf6CnGQZmL7o5uJAdTwXfy2iiiyPxXEGerMhHwhjTA1mKYobyk2CpeEcmvynADfNZ5MBvcCS7m3XkFCMNUYBS9NQ3fze6vMSUPsNa6GVYmKx2x6JrdEjCk3qRMMmyjnjCMfR4pXbRMZa3i");
|
|
76
|
+
assertEquals(await exportMultibaseKey(await importJwk({
|
|
97
77
|
alg: "Ed25519",
|
|
98
78
|
crv: "Ed25519",
|
|
99
79
|
ext: true,
|
|
100
80
|
key_ops: ["verify"],
|
|
101
81
|
kty: "OKP",
|
|
102
82
|
x: "Lm_M42cB3HkUiODQsXRcweM6TByfzEHGO9ND274JcOY"
|
|
103
|
-
}, "public");
|
|
104
|
-
const ed25519Mb2 = await exportMultibaseKey(ed25519Key2);
|
|
105
|
-
assertEquals(ed25519Mb2, "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK");
|
|
83
|
+
}, "public")), "z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK");
|
|
106
84
|
});
|
|
107
85
|
|
|
108
86
|
//#endregion
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import "../
|
|
8
|
-
import "../
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import "../
|
|
12
|
-
import "../
|
|
13
|
-
import "../
|
|
14
|
-
import "../assert_not_equals-C685gKx6.js";
|
|
15
|
-
import "../assert_throws-YetpVSc-.js";
|
|
6
|
+
import "../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import { t as LanguageString } from "../langstr-pFHBDU4y.js";
|
|
9
|
+
import { t as test } from "../testing-qaAD4B0t.js";
|
|
10
|
+
import "../std__assert-BdP_WkD-.js";
|
|
11
|
+
import "../assert_rejects-Bkh5lA1a.js";
|
|
12
|
+
import "../assert_is_error-CIYFACrT.js";
|
|
13
|
+
import "../assert_throws-CmpfkWEM.js";
|
|
16
14
|
import { parseLanguageTag } from "@phensley/language-tag";
|
|
17
15
|
import util from "node:util";
|
|
18
16
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { a as FetchError, c as KvCacheParameters, d as getDocumentLoader, f as getUserAgent, i as DocumentLoaderFactoryOptions, l as RemoteDocument, n as DocumentLoader, o as GetDocumentLoaderOptions, p as kvCache, r as DocumentLoaderFactory, s as GetUserAgentOptions, t as AuthenticatedDocumentLoaderFactory, u as fetchDocumentLoader } from "../docloader-D_MGP37Q.js";
|
|
4
|
+
import { pt as LanguageString } from "../vocab-DoBcp8ow.js";
|
|
5
|
+
import { n as HttpMessageSignaturesSpecDeterminer } from "../http-DFZRNfDP.js";
|
|
5
6
|
import { TracerProvider } from "@opentelemetry/api";
|
|
6
7
|
|
|
7
8
|
//#region runtime/authdocloader.d.ts
|
|
@@ -101,4 +102,4 @@ declare function importMultibaseKey(key: string): Promise<CryptoKey>;
|
|
|
101
102
|
*/
|
|
102
103
|
declare function exportMultibaseKey(key: CryptoKey): Promise<string>;
|
|
103
104
|
//#endregion
|
|
104
|
-
export { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki };
|
|
105
|
+
export { type AuthenticatedDocumentLoaderFactory, type DocumentLoader, type DocumentLoaderFactory, type DocumentLoaderFactoryOptions, FetchError, GetAuthenticatedDocumentLoaderOptions, type GetDocumentLoaderOptions, type GetUserAgentOptions, type KvCacheParameters, LanguageString, type RemoteDocument, exportMultibaseKey, exportSpki, fetchDocumentLoader, getAuthenticatedDocumentLoader, getDocumentLoader, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, kvCache };
|
package/dist/runtime/mod.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import "../lookup-
|
|
8
|
-
import "../key-
|
|
9
|
-
import "../http-
|
|
10
|
-
import { getAuthenticatedDocumentLoader } from "../authdocloader-
|
|
11
|
-
import "../runtime-BSkOVUWM.js";
|
|
5
|
+
import { i as getDocumentLoader, o as getUserAgent, r as fetchDocumentLoader, s as kvCache, t as FetchError } from "../docloader-BU25UQLB.js";
|
|
6
|
+
import { Ct as importPkcs1, St as importPem, bt as exportSpki, vt as LanguageString, wt as importSpki, xt as importMultibaseKey, yt as exportMultibaseKey } from "../actor-OYVgkiZG.js";
|
|
7
|
+
import "../lookup-4uc2jh52.js";
|
|
8
|
+
import "../key-D2HZrCxh.js";
|
|
9
|
+
import "../http-DRePVWfE.js";
|
|
10
|
+
import { t as getAuthenticatedDocumentLoader } from "../authdocloader-C2krvRo1.js";
|
|
12
11
|
|
|
13
12
|
export { FetchError, LanguageString, exportMultibaseKey, exportSpki, fetchDocumentLoader, getAuthenticatedDocumentLoader, getDocumentLoader, getUserAgent, importMultibaseKey, importPem, importPkcs1, importSpki, kvCache };
|
|
@@ -3,16 +3,14 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import "../../
|
|
8
|
-
import "../../
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import "../../
|
|
12
|
-
import "../../
|
|
13
|
-
import "../../
|
|
14
|
-
import "../../assert_not_equals-C685gKx6.js";
|
|
15
|
-
import "../../assert_throws-YetpVSc-.js";
|
|
6
|
+
import "../../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import { a as decodeText, i as names, n as encode, o as encodeText, r as codes, t as decode } from "../../multibase-DBcKTV2a.js";
|
|
9
|
+
import { t as test } from "../../testing-qaAD4B0t.js";
|
|
10
|
+
import "../../std__assert-BdP_WkD-.js";
|
|
11
|
+
import "../../assert_rejects-Bkh5lA1a.js";
|
|
12
|
+
import "../../assert_is_error-CIYFACrT.js";
|
|
13
|
+
import "../../assert_throws-CmpfkWEM.js";
|
|
16
14
|
|
|
17
15
|
//#region runtime/multibase/multibase.test.ts
|
|
18
16
|
test("multibase.encode and decode", async (t) => {
|
|
@@ -329,17 +327,13 @@ test("multibase.encode and decode", async (t) => {
|
|
|
329
327
|
]
|
|
330
328
|
];
|
|
331
329
|
for (const [name, input, expectedOutput] of testCases) await t.step(`Encoding/Decoding ${name} with ${input}`, () => {
|
|
332
|
-
|
|
333
|
-
assertEquals(
|
|
334
|
-
|
|
335
|
-
assertEquals(decoded, encodeText(input), `Decoding ${name} failed`);
|
|
336
|
-
const decodedFromBuffer = decode(encodeText(expectedOutput));
|
|
337
|
-
assertEquals(decodedFromBuffer, encodeText(input), `Decoding buffer of ${name} failed`);
|
|
330
|
+
assertEquals(decodeText(encode(name, encodeText(input))), expectedOutput, `Encoding ${name} failed`);
|
|
331
|
+
assertEquals(decode(expectedOutput), encodeText(input), `Decoding ${name} failed`);
|
|
332
|
+
assertEquals(decode(encodeText(expectedOutput)), encodeText(input), `Decoding buffer of ${name} failed`);
|
|
338
333
|
});
|
|
339
334
|
await t.step("should allow base32pad full alphabet", () => {
|
|
340
335
|
const decoded = decode("ctimaq4ygg2iegci7");
|
|
341
|
-
|
|
342
|
-
assertEquals(decode(encoded), decoded);
|
|
336
|
+
assertEquals(decode(encode("c", decoded)), decoded);
|
|
343
337
|
});
|
|
344
338
|
});
|
|
345
339
|
test("constants", async (t) => {
|
package/dist/runtime/url.test.js
CHANGED
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import "../
|
|
6
|
+
import "../chunk-DvTpRkcT.js";
|
|
7
|
+
import { t as assertEquals } from "../assert_equals-Dy0MG_Zw.js";
|
|
8
|
+
import { t as assert } from "../assert-C-mZuSQl.js";
|
|
9
|
+
import { a as validatePublicUrl, i as isValidPublicIPv6Address, n as expandIPv6Address, r as isValidPublicIPv4Address, t as UrlError } from "../url-BdNvnK9P.js";
|
|
10
|
+
import { t as test } from "../testing-qaAD4B0t.js";
|
|
11
|
+
import { n as assertFalse, t as assertRejects } from "../assert_rejects-Bkh5lA1a.js";
|
|
12
|
+
import "../assert_is_error-CIYFACrT.js";
|
|
12
13
|
|
|
13
14
|
//#region runtime/url.test.ts
|
|
14
15
|
test("validatePublicUrl()", async () => {
|
|
@@ -31,14 +31,9 @@ const PRERELEASE = `(?:-(?<prerelease>${PRERELEASE_IDENTIFIER}(?:\\.${PRERELEASE
|
|
|
31
31
|
*/
|
|
32
32
|
const BUILD_IDENTIFIER = "[0-9A-Za-z-]+";
|
|
33
33
|
/**
|
|
34
|
-
* A plus sign, followed by one or more period-separated build metadata identifiers.
|
|
35
|
-
* @example "+build.meta"
|
|
36
|
-
*/
|
|
37
|
-
const BUILD = `(?:\\+(?<buildmetadata>${BUILD_IDENTIFIER}(?:\\.${BUILD_IDENTIFIER})*))`;
|
|
38
|
-
/**
|
|
39
34
|
* A version, followed optionally by a pre-release version and build metadata.
|
|
40
35
|
*/
|
|
41
|
-
const FULL_VERSION = `v?${VERSION_CORE}${PRERELEASE}?${
|
|
36
|
+
const FULL_VERSION = `v?${VERSION_CORE}${PRERELEASE}?${`(?:\\+(?<buildmetadata>${BUILD_IDENTIFIER}(?:\\.${BUILD_IDENTIFIER})*))`}?`;
|
|
42
37
|
const FULL_REGEXP = /* @__PURE__ */ new RegExp(`^${FULL_VERSION}$`);
|
|
43
38
|
/**
|
|
44
39
|
* Attempt to parse a string as a semantic version, returning a SemVer object.
|
|
@@ -69,17 +64,12 @@ function parseSemVer(value) {
|
|
|
69
64
|
value = value.trim();
|
|
70
65
|
const groups = value.match(FULL_REGEXP)?.groups;
|
|
71
66
|
if (!groups) throw new TypeError(`Cannot parse version: ${value}`);
|
|
72
|
-
const major = parseNumber(groups.major, `Cannot parse version ${value}: invalid major version`);
|
|
73
|
-
const minor = parseNumber(groups.minor, `Cannot parse version ${value}: invalid minor version`);
|
|
74
|
-
const patch = parseNumber(groups.patch, `Cannot parse version ${value}: invalid patch version`);
|
|
75
|
-
const prerelease = groups.prerelease ? parsePrerelease(groups.prerelease) : [];
|
|
76
|
-
const build = groups.buildmetadata ? parseBuild(groups.buildmetadata) : [];
|
|
77
67
|
return {
|
|
78
|
-
major,
|
|
79
|
-
minor,
|
|
80
|
-
patch,
|
|
81
|
-
prerelease,
|
|
82
|
-
build
|
|
68
|
+
major: parseNumber(groups.major, `Cannot parse version ${value}: invalid major version`),
|
|
69
|
+
minor: parseNumber(groups.minor, `Cannot parse version ${value}: invalid minor version`),
|
|
70
|
+
patch: parseNumber(groups.patch, `Cannot parse version ${value}: invalid patch version`),
|
|
71
|
+
prerelease: groups.prerelease ? parsePrerelease(groups.prerelease) : [],
|
|
72
|
+
build: groups.buildmetadata ? parseBuild(groups.buildmetadata) : []
|
|
83
73
|
};
|
|
84
74
|
}
|
|
85
75
|
/**
|
|
@@ -144,4 +134,4 @@ function formatSemVer(version) {
|
|
|
144
134
|
}
|
|
145
135
|
|
|
146
136
|
//#endregion
|
|
147
|
-
export {
|
|
137
|
+
export { parseSemVer as n, formatSemVer as t };
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { doubleKnock } from "./http-
|
|
6
|
+
import { d as version, u as name } from "./docloader-sGz4vcrK.js";
|
|
7
|
+
import { n as doubleKnock } from "./http-BhES0Sg9.js";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
9
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
10
10
|
|
|
@@ -44,7 +44,7 @@ function extractInboxes({ recipients, preferSharedInbox, excludeBaseUris }) {
|
|
|
44
44
|
*/
|
|
45
45
|
function sendActivity(options) {
|
|
46
46
|
const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
|
|
47
|
-
return tracerProvider.getTracer(
|
|
47
|
+
return tracerProvider.getTracer(name, version).startActiveSpan("activitypub.send_activity", {
|
|
48
48
|
kind: SpanKind.CLIENT,
|
|
49
49
|
attributes: { "activitypub.shared_inbox": options.sharedInbox ?? false }
|
|
50
50
|
}, async (span) => {
|
|
@@ -124,4 +124,4 @@ async function sendActivityInternal({ activity, activityId, keys, inbox, headers
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
//#endregion
|
|
127
|
-
export {
|
|
127
|
+
export { sendActivity as n, extractInboxes as t };
|