@fedify/fedify 2.0.0-dev.1875 → 2.0.0-dev.196
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/LICENSE +1 -1
- package/README.md +68 -35
- package/dist/{builder-CLT_zIyw.js → builder-R1Sfe-tb.js} +5 -3
- package/dist/{client-BsGzbnV-.d.ts → client-CUTUGgvJ.d.ts} +18 -18
- package/dist/{client-pY7-3icS.js → client-Dg7OfUDA.js} +28 -23
- package/dist/{client-94iWEfQa.d.cts → client-by-PEGAJ.d.cts} +18 -18
- package/dist/compat/mod.cjs +1 -1
- package/dist/compat/mod.d.cts +6 -11
- package/dist/compat/mod.d.ts +6 -11
- package/dist/compat/mod.js +1 -1
- package/dist/compat/transformers.test.js +22 -21
- package/dist/context-Bns6uTJq.js +109 -0
- package/dist/{context-DG0huGW-.d.ts → context-C7vzWilY.d.ts} +200 -65
- package/dist/{context-DJ8aSy2Q.d.cts → context-CrB9RFy5.d.cts} +200 -65
- package/dist/deno-i60L3ZJW.js +117 -0
- package/dist/{testing-CW4N8vgf.js → dist-B5f6a8Tt.js} +90 -110
- package/dist/{docloader-BkhI_RcC.js → docloader-BuOglEYx.js} +3 -3
- package/dist/{esm-DOqAYjlY.js → esm-DGl7uK1r.js} +32 -17
- package/dist/federation/builder.test.js +7 -5
- package/dist/federation/collection.test.js +2 -3
- package/dist/federation/handler.test.js +110 -22
- package/dist/federation/idempotency.test.js +23 -22
- package/dist/federation/inbox.test.js +4 -3
- package/dist/federation/keycache.test.js +4 -4
- package/dist/federation/kv.test.js +56 -3
- package/dist/federation/middleware.test.js +95 -93
- package/dist/federation/mod.cjs +8 -10
- package/dist/federation/mod.d.cts +7 -12
- package/dist/federation/mod.d.ts +7 -12
- package/dist/federation/mod.js +8 -11
- package/dist/federation/mq.test.js +5 -4
- package/dist/federation/negotiation.test.js +2 -3
- package/dist/federation/retry.test.js +2 -3
- package/dist/federation/router.test.js +2 -2
- package/dist/federation/send.test.js +51 -9
- package/dist/{webfinger/handler.test.js → federation/webfinger.test.js} +24 -22
- package/dist/{federation-CRpdnOMS.cjs → federation-B431K2gm.cjs} +22 -0
- package/dist/{federation-jcR8-ZxP.js → federation-BbZwNNWj.js} +28 -6
- package/dist/{http-DmUiHemJ.js → http-B5BgMxiO.js} +119 -9
- package/dist/{http-DarlEN23.cjs → http-B_jtB30-.cjs} +132 -16
- package/dist/{http-M8k5mKc0.d.cts → http-ClB3pLcL.d.cts} +1 -1
- package/dist/{http-BbO0ejuk.d.ts → http-DLBDPal9.d.ts} +1 -1
- package/dist/{http-BIYwcgTd.js → http-uzkhnm0W.js} +3 -2
- package/dist/{inbox-Dbt8hLxb.js → inbox-CxrUTds4.js} +2 -1
- package/dist/{key-BcT6cdMK.js → key-DBHCloAO.js} +3 -3
- package/dist/{keycache-B8aIeTgt.js → keycache-DRxpZ5r9.js} +1 -1
- package/dist/{keys-Bs-0Hapk.js → keys-ZbcByPg9.js} +1 -1
- package/dist/{kv-Bxr0Q87_.d.cts → kv-B4vFhIYL.d.cts} +30 -1
- package/dist/{kv-BKNZ-Tb-.d.ts → kv-CYySNrsn.d.ts} +30 -1
- package/dist/{kv-CRZrzyXm.js → kv-QzKcOQgP.js} +22 -0
- package/dist/{kv-cache-DN9pfMBe.js → kv-cache-BEeqyGER.js} +14 -1
- package/dist/{kv-cache-B5TLf2fI.js → kv-cache-BqWqxam4.js} +2 -2
- package/dist/{kv-cache-BWWu8RyL.cjs → kv-cache-DY6hQ8Rf.cjs} +2 -2
- package/dist/{ld-DR6mmQjt.js → ld-CZgNIUGN.js} +4 -3
- package/dist/{middleware-B09KVcU4.cjs → middleware-BaoVtoMl.cjs} +210 -194
- package/dist/{middleware-B_rzGWsn.js → middleware-BqPcChYv.js} +164 -154
- package/dist/middleware-CnrWiFJI.cjs +12 -0
- package/dist/{middleware-Aqt52eK0.js → middleware-CxwWsgSo.js} +162 -165
- package/dist/middleware-DoFisLae.js +26 -0
- package/dist/middleware-ZN9cd_L8.js +12 -0
- package/dist/{mod-0noXw66R.d.cts → mod-0p9zUdzg.d.cts} +6 -6
- package/dist/mod-0qnPv4EC.d.cts +62 -0
- package/dist/{mod-DgdBYYa0.d.cts → mod-BrS8tiad.d.cts} +2 -2
- package/dist/mod-C3SOvTD1.d.ts +64 -0
- package/dist/{mod-DJcZDvjA.d.cts → mod-D6pS5_xJ.d.cts} +4 -4
- package/dist/{mod-B2iOw50L.d.ts → mod-jOa7W503.d.ts} +2 -2
- package/dist/{mod-BoHnwOCs.d.ts → mod-waqu-BL_.d.ts} +4 -4
- package/dist/{mod-B9M-8jm2.d.ts → mod-xc20HhMD.d.ts} +6 -6
- package/dist/mod.cjs +11 -93
- package/dist/mod.d.cts +11 -16
- package/dist/mod.d.ts +11 -16
- package/dist/mod.js +11 -15
- package/dist/nodeinfo/client.test.js +3 -4
- package/dist/nodeinfo/handler.test.js +22 -21
- package/dist/nodeinfo/mod.cjs +2 -2
- package/dist/nodeinfo/mod.d.cts +2 -2
- package/dist/nodeinfo/mod.d.ts +2 -2
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/types.test.js +2 -3
- package/dist/otel/exporter.test.js +893 -0
- package/dist/otel/mod.cjs +256 -0
- package/dist/otel/mod.d.cts +230 -0
- package/dist/otel/mod.d.ts +232 -0
- package/dist/otel/mod.js +255 -0
- package/dist/{owner-DEgLiB7Z.js → owner-BDvRiO5T.js} +44 -8
- package/dist/{owner-kQRGVXG1.d.ts → owner-BgI8C-VY.d.ts} +1 -2
- package/dist/{owner-B4HbyP8s.d.cts → owner-C-zfmVAD.d.cts} +1 -2
- package/dist/{proof-AhMjXzru.js → proof-DzFse-Bn.js} +46 -11
- package/dist/{proof-p3cmdfis.js → proof-XEPY5YKg.js} +3 -2
- package/dist/{proof-CbB_yXKu.cjs → proof-vmNsq1AQ.cjs} +63 -28
- package/dist/router-D9eI0s4b.js +118 -0
- package/dist/{send-CcKJ-npK.js → send-BdhhZ2MN.js} +9 -4
- package/dist/sig/http.test.js +6 -7
- package/dist/sig/key.test.js +5 -5
- package/dist/sig/ld.test.js +6 -6
- package/dist/sig/mod.cjs +3 -5
- package/dist/sig/mod.d.cts +3 -5
- package/dist/sig/mod.d.ts +3 -5
- package/dist/sig/mod.js +3 -5
- package/dist/sig/owner.test.js +29 -6
- package/dist/sig/proof.test.js +6 -6
- package/dist/testing/mod.d.ts +70 -6999
- package/dist/testing/mod.js +4 -3
- package/dist/{transformers-CoBS-oFG.cjs → transformers-BjBg6Lag.cjs} +2 -2
- package/dist/{transformers-BFT6d7J5.js → transformers-N_ip_y4P.js} +2 -2
- package/dist/{types-BtUjyi5y.js → types-8l28uC8o.js} +30 -25
- package/dist/{types-CWgzGaqk.cjs → types-B6z6CqIz.cjs} +30 -25
- package/dist/{types-C2XVl6gj.js → types-CPz01LGH.js} +3 -3
- package/dist/utils/docloader.test.js +7 -8
- package/dist/utils/kv-cache.test.js +5 -3
- package/dist/utils/mod.cjs +3 -5
- package/dist/utils/mod.d.cts +3 -4
- package/dist/utils/mod.d.ts +3 -4
- package/dist/utils/mod.js +3 -5
- package/package.json +25 -67
- package/dist/actor-BQuDqoKQ.cjs +0 -42079
- package/dist/actor-CmPnJ0G7.js +0 -146
- package/dist/actor-CtTW_fTc.js +0 -41647
- package/dist/actor-DqFajh9s.d.ts +0 -130
- package/dist/actor-f2NtjyCg.d.cts +0 -128
- package/dist/denokv-CCssOzMJ.js +0 -57
- package/dist/fixtures/activitypub.academy/users/brauca_darradiul.json +0 -83
- package/dist/fixtures/example.com/announce.json +0 -6
- package/dist/fixtures/example.com/collection.json +0 -19
- package/dist/fixtures/example.com/create.json +0 -6
- package/dist/fixtures/example.com/cross-origin-actor.json +0 -6
- package/dist/fixtures/example.com/hong-gildong.json +0 -11
- package/dist/fixtures/example.com/invite.json +0 -7
- package/dist/fixtures/example.com/key.json +0 -7
- package/dist/fixtures/example.com/key2.json +0 -6
- package/dist/fixtures/example.com/object.json +0 -6
- package/dist/fixtures/example.com/orderedcollectionpage.json +0 -24
- package/dist/fixtures/example.com/paged/a.json +0 -13
- package/dist/fixtures/example.com/paged/b.json +0 -16
- package/dist/fixtures/example.com/paged-collection.json +0 -6
- package/dist/fixtures/example.com/person.json +0 -22
- package/dist/fixtures/example.com/person2.json +0 -40
- package/dist/fixtures/example.com/test.json +0 -5
- package/dist/fixtures/example.com/users/handle.json +0 -16
- package/dist/fixtures/example.com/wrong-type.json +0 -3
- package/dist/fixtures/media.example.com/avatars/test-avatar.jpg.json +0 -6
- package/dist/fixtures/oeee.cafe/ap/users/3609fd4e-d51d-4db8-9f04-4189815864dd.json +0 -24
- package/dist/fixtures/remote.domain/users/bob.json +0 -20
- package/dist/fixtures/server.example/users/alice.json +0 -20
- package/dist/fixtures/w3id.org/identity/v1.json +0 -152
- package/dist/fixtures/w3id.org/security/data-integrity/v1.json +0 -74
- package/dist/fixtures/w3id.org/security/multikey/v1.json +0 -35
- package/dist/fixtures/w3id.org/security/v1.json +0 -50
- package/dist/fixtures/wizard.casa/users/hongminhee.json +0 -69
- package/dist/fixtures/www.w3.org/ns/activitystreams.json +0 -379
- package/dist/fixtures/www.w3.org/ns/did/v1.json +0 -58
- package/dist/lookup-Bhv7efZB.js +0 -42183
- package/dist/lookup-DdpqU9Gb.js +0 -258
- package/dist/lookup-EHJhdA8l.cjs +0 -270
- package/dist/middleware-C_Sa9J23.cjs +0 -15
- package/dist/middleware-DGwP3i-w.js +0 -15
- package/dist/middleware-Xyxj43cy.js +0 -26
- package/dist/mod-BlVovdcy.d.ts +0 -309
- package/dist/mod-BxRCHTz-.d.cts +0 -307
- package/dist/mod-C2tOeRkN.d.cts +0 -1
- package/dist/mod-C58MZ7Wx.d.cts +0 -113
- package/dist/mod-Ds0mpFZU.d.ts +0 -115
- package/dist/mod-xIj-IT58.d.ts +0 -2
- package/dist/mq-CUKlBw08.d.ts +0 -143
- package/dist/mq-DcJPkXD5.d.cts +0 -140
- package/dist/src/vocab/accept.yaml +0 -15
- package/dist/src/vocab/activity.yaml +0 -98
- package/dist/src/vocab/add.yaml +0 -16
- package/dist/src/vocab/announce.yaml +0 -30
- package/dist/src/vocab/application.yaml +0 -324
- package/dist/src/vocab/arrive.yaml +0 -15
- package/dist/src/vocab/article.yaml +0 -46
- package/dist/src/vocab/audio.yaml +0 -11
- package/dist/src/vocab/block.yaml +0 -16
- package/dist/src/vocab/chatmessage.yaml +0 -50
- package/dist/src/vocab/collection.yaml +0 -154
- package/dist/src/vocab/collectionpage.yaml +0 -55
- package/dist/src/vocab/create.yaml +0 -28
- package/dist/src/vocab/dataintegrityproof.yaml +0 -56
- package/dist/src/vocab/delete.yaml +0 -27
- package/dist/src/vocab/didservice.yaml +0 -22
- package/dist/src/vocab/dislike.yaml +0 -14
- package/dist/src/vocab/document.yaml +0 -31
- package/dist/src/vocab/emoji.yaml +0 -12
- package/dist/src/vocab/emojireact.yaml +0 -17
- package/dist/src/vocab/endpoints.yaml +0 -85
- package/dist/src/vocab/event.yaml +0 -11
- package/dist/src/vocab/export.yaml +0 -9
- package/dist/src/vocab/flag.yaml +0 -15
- package/dist/src/vocab/follow.yaml +0 -19
- package/dist/src/vocab/group.yaml +0 -324
- package/dist/src/vocab/hashtag.yaml +0 -14
- package/dist/src/vocab/ignore.yaml +0 -14
- package/dist/src/vocab/image.yaml +0 -9
- package/dist/src/vocab/intransitiveactivity.yaml +0 -15
- package/dist/src/vocab/invite.yaml +0 -14
- package/dist/src/vocab/join.yaml +0 -14
- package/dist/src/vocab/key.yaml +0 -28
- package/dist/src/vocab/leave.yaml +0 -14
- package/dist/src/vocab/like.yaml +0 -16
- package/dist/src/vocab/link.yaml +0 -101
- package/dist/src/vocab/listen.yaml +0 -12
- package/dist/src/vocab/mention.yaml +0 -9
- package/dist/src/vocab/move.yaml +0 -15
- package/dist/src/vocab/multikey.yaml +0 -36
- package/dist/src/vocab/note.yaml +0 -48
- package/dist/src/vocab/object.yaml +0 -404
- package/dist/src/vocab/offer.yaml +0 -15
- package/dist/src/vocab/orderedcollection.yaml +0 -39
- package/dist/src/vocab/orderedcollectionpage.yaml +0 -50
- package/dist/src/vocab/organization.yaml +0 -324
- package/dist/src/vocab/page.yaml +0 -11
- package/dist/src/vocab/person.yaml +0 -324
- package/dist/src/vocab/place.yaml +0 -75
- package/dist/src/vocab/profile.yaml +0 -26
- package/dist/src/vocab/propertyvalue.yaml +0 -32
- package/dist/src/vocab/question.yaml +0 -103
- package/dist/src/vocab/read.yaml +0 -13
- package/dist/src/vocab/reject.yaml +0 -14
- package/dist/src/vocab/relationship.yaml +0 -52
- package/dist/src/vocab/remove.yaml +0 -14
- package/dist/src/vocab/service.yaml +0 -324
- package/dist/src/vocab/source.yaml +0 -26
- package/dist/src/vocab/tentativeaccept.yaml +0 -14
- package/dist/src/vocab/tentativereject.yaml +0 -14
- package/dist/src/vocab/tombstone.yaml +0 -24
- package/dist/src/vocab/travel.yaml +0 -16
- package/dist/src/vocab/undo.yaml +0 -26
- package/dist/src/vocab/update.yaml +0 -58
- package/dist/src/vocab/video.yaml +0 -11
- package/dist/src/vocab/view.yaml +0 -13
- package/dist/testing/docloader.test.js +0 -22
- package/dist/vocab/actor.test.js +0 -5963
- package/dist/vocab/lookup.test.d.ts +0 -3
- package/dist/vocab/lookup.test.js +0 -454
- package/dist/vocab/mod.cjs +0 -86
- package/dist/vocab/mod.d.cts +0 -4
- package/dist/vocab/mod.d.ts +0 -6
- package/dist/vocab/mod.js +0 -9
- package/dist/vocab/type.test.d.ts +0 -3
- package/dist/vocab/type.test.js +0 -24
- package/dist/vocab/vocab.test.d.ts +0 -3
- package/dist/vocab/vocab.test.js +0 -9397
- package/dist/vocab-BCWe1Ih5.d.ts +0 -14905
- package/dist/vocab-CeDBzu-f.d.cts +0 -14903
- package/dist/vocab-CuAJ4Tbh.js +0 -255
- package/dist/vocab-DCYaqGPG.cjs +0 -291
- package/dist/webfinger/handler.test.d.ts +0 -3
- package/dist/webfinger/lookup.test.d.ts +0 -3
- package/dist/webfinger/lookup.test.js +0 -193
- package/dist/webfinger/mod.cjs +0 -8
- package/dist/webfinger/mod.d.cts +0 -2
- package/dist/webfinger/mod.d.ts +0 -4
- package/dist/webfinger/mod.js +0 -8
- package/dist/webfinger-C72Y8lrh.js +0 -4
- package/dist/webfinger-vAtLmxOF.cjs +0 -4
- 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 -177
- package/dist/x/hono.cjs +0 -61
- package/dist/x/hono.d.cts +0 -53
- package/dist/x/hono.d.ts +0 -55
- package/dist/x/hono.js +0 -60
- package/dist/x/sveltekit.cjs +0 -69
- package/dist/x/sveltekit.d.cts +0 -45
- package/dist/x/sveltekit.d.ts +0 -47
- package/dist/x/sveltekit.js +0 -68
- /package/dist/{collection-BzWsN9pB.js → collection-CcnIw1qY.js} +0 -0
- /package/dist/{testing/docloader.test.d.ts → federation/webfinger.test.d.ts} +0 -0
- /package/dist/{mod-CVgZgliM.d.ts → mod-1E3W847c.d.ts} +0 -0
- /package/dist/{mod-B-hUPT2N.d.cts → mod-C81L6_lQ.d.cts} +0 -0
- /package/dist/{negotiation-C4nFufNk.js → negotiation-5NPJL6zp.js} +0 -0
- /package/dist/{nodeinfo-BnthBobC.js → nodeinfo-BlLsRSiT.js} +0 -0
- /package/dist/{nodeinfo-CdN0rEnZ.cjs → nodeinfo-DuMYTpbZ.cjs} +0 -0
- /package/dist/{vocab/actor.test.d.ts → otel/exporter.test.d.ts} +0 -0
- /package/dist/{retry-CfF8Gn4d.js → retry-D4GJ670a.js} +0 -0
- /package/dist/{sig-C34-oHBl.js → sig-CwuONEzF.js} +0 -0
- /package/dist/{sig-YYj5tCnr.cjs → sig-DeXX2xnj.cjs} +0 -0
- /package/dist/{utils-DyRU1gdZ.cjs → utils-Db0ZmjcD.cjs} +0 -0
- /package/dist/{utils-D-Va7aXC.js → utils-Wranxuoe.js} +0 -0
|
@@ -3,16 +3,126 @@
|
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
|
-
const require_lookup = require('./lookup-EHJhdA8l.cjs');
|
|
7
|
-
const require_actor = require('./actor-BQuDqoKQ.cjs');
|
|
8
6
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
7
|
+
const __fedify_vocab = require_chunk.__toESM(require("@fedify/vocab"));
|
|
9
8
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
10
|
-
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
|
11
9
|
const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
|
|
12
10
|
const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@opentelemetry/semantic-conventions"));
|
|
13
11
|
const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
|
|
14
12
|
const structured_field_values = require_chunk.__toESM(require("structured-field-values"));
|
|
13
|
+
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
|
14
|
+
|
|
15
|
+
//#region deno.json
|
|
16
|
+
var name = "@fedify/fedify";
|
|
17
|
+
var version = "2.0.0-dev.196+c3cfc0a9";
|
|
18
|
+
var license = "MIT";
|
|
19
|
+
var exports$1 = {
|
|
20
|
+
".": "./src/mod.ts",
|
|
21
|
+
"./compat": "./src/compat/mod.ts",
|
|
22
|
+
"./federation": "./src/federation/mod.ts",
|
|
23
|
+
"./nodeinfo": "./src/nodeinfo/mod.ts",
|
|
24
|
+
"./otel": "./src/otel/mod.ts",
|
|
25
|
+
"./sig": "./src/sig/mod.ts",
|
|
26
|
+
"./utils": "./src/utils/mod.ts"
|
|
27
|
+
};
|
|
28
|
+
var imports = {
|
|
29
|
+
"@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
|
|
30
|
+
"@opentelemetry/core": "npm:@opentelemetry/core@^2.0.0",
|
|
31
|
+
"@opentelemetry/sdk-trace-base": "npm:@opentelemetry/sdk-trace-base@^2.0.0",
|
|
32
|
+
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@^1.27.0",
|
|
33
|
+
"@std/assert": "jsr:@std/assert@^0.226.0",
|
|
34
|
+
"@std/url": "jsr:@std/url@^0.225.1",
|
|
35
|
+
"asn1js": "npm:asn1js@^3.0.7",
|
|
36
|
+
"fast-check": "npm:fast-check@^3.22.0",
|
|
37
|
+
"fetch-mock": "npm:fetch-mock@^12.5.2",
|
|
38
|
+
"json-canon": "npm:json-canon@^1.0.1",
|
|
39
|
+
"jsonld": "npm:jsonld@^9.0.0",
|
|
40
|
+
"multicodec": "npm:multicodec@^3.2.1",
|
|
41
|
+
"pkijs": "npm:pkijs@^3.3.3",
|
|
42
|
+
"structured-field-values": "npm:structured-field-values@^2.0.4",
|
|
43
|
+
"uri-template-router": "npm:uri-template-router@^1.0.0",
|
|
44
|
+
"url-template": "npm:url-template@^3.1.1"
|
|
45
|
+
};
|
|
46
|
+
var exclude = [
|
|
47
|
+
".test-report.xml",
|
|
48
|
+
"apidoc/",
|
|
49
|
+
"dist/",
|
|
50
|
+
"node_modules/",
|
|
51
|
+
"npm/",
|
|
52
|
+
"pnpm-lock.yaml",
|
|
53
|
+
"src/cfworkers/dist/",
|
|
54
|
+
"src/cfworkers/fixtures/",
|
|
55
|
+
"src/cfworkers/imports.ts",
|
|
56
|
+
"src/cfworkers/README.md",
|
|
57
|
+
"src/cfworkers/server.ts",
|
|
58
|
+
"src/cfworkers/server.js",
|
|
59
|
+
"src/cfworkers/server.js.map"
|
|
60
|
+
];
|
|
61
|
+
var publish = { "exclude": ["**/*.test.ts", "src/testing/"] };
|
|
62
|
+
var tasks = {
|
|
63
|
+
"codegen": "deno task -f @fedify/vocab compile",
|
|
64
|
+
"cache": {
|
|
65
|
+
"command": "deno cache src/mod.ts",
|
|
66
|
+
"dependencies": ["codegen"]
|
|
67
|
+
},
|
|
68
|
+
"check": {
|
|
69
|
+
"command": "deno fmt --check && deno lint && deno check src/**/*.ts",
|
|
70
|
+
"dependencies": ["codegen"]
|
|
71
|
+
},
|
|
72
|
+
"test": {
|
|
73
|
+
"command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
|
|
74
|
+
"dependencies": ["codegen"]
|
|
75
|
+
},
|
|
76
|
+
"coverage": "deno task test --clean --coverage && deno coverage --html coverage",
|
|
77
|
+
"bench": {
|
|
78
|
+
"command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
|
|
79
|
+
"dependencies": ["codegen"]
|
|
80
|
+
},
|
|
81
|
+
"apidoc": {
|
|
82
|
+
"command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
|
|
83
|
+
"dependencies": ["codegen"]
|
|
84
|
+
},
|
|
85
|
+
"publish": {
|
|
86
|
+
"command": "deno publish",
|
|
87
|
+
"dependencies": ["codegen"]
|
|
88
|
+
},
|
|
89
|
+
"pnpm:install": "pnpm install --silent",
|
|
90
|
+
"pnpm:build": {
|
|
91
|
+
"command": "pnpm exec tsdown",
|
|
92
|
+
"dependencies": ["pnpm:build-vocab"]
|
|
93
|
+
},
|
|
94
|
+
"test:node": {
|
|
95
|
+
"command": "cd dist/ && node --test",
|
|
96
|
+
"dependencies": ["pnpm:build"]
|
|
97
|
+
},
|
|
98
|
+
"test:bun": {
|
|
99
|
+
"command": "cd dist/ && bun test --timeout 60000",
|
|
100
|
+
"dependencies": ["pnpm:build"]
|
|
101
|
+
},
|
|
102
|
+
"test:cfworkers": {
|
|
103
|
+
"command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
|
|
104
|
+
"dependencies": ["pnpm:build"]
|
|
105
|
+
},
|
|
106
|
+
"test-all": { "dependencies": [
|
|
107
|
+
"check",
|
|
108
|
+
"test",
|
|
109
|
+
"test:node",
|
|
110
|
+
"test:bun",
|
|
111
|
+
"test:cfworkers"
|
|
112
|
+
] }
|
|
113
|
+
};
|
|
114
|
+
var deno_default = {
|
|
115
|
+
name,
|
|
116
|
+
version,
|
|
117
|
+
license,
|
|
118
|
+
exports: exports$1,
|
|
119
|
+
imports,
|
|
120
|
+
exclude,
|
|
121
|
+
publish,
|
|
122
|
+
tasks
|
|
123
|
+
};
|
|
15
124
|
|
|
125
|
+
//#endregion
|
|
16
126
|
//#region src/sig/key.ts
|
|
17
127
|
/**
|
|
18
128
|
* Checks if the given key is valid and supported. No-op if the key is valid,
|
|
@@ -108,7 +218,7 @@ async function importJwk(jwk, type) {
|
|
|
108
218
|
*/
|
|
109
219
|
function fetchKey(keyId, cls, options = {}) {
|
|
110
220
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
111
|
-
const tracer = tracerProvider.getTracer(
|
|
221
|
+
const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
|
|
112
222
|
keyId = typeof keyId === "string" ? new URL(keyId) : keyId;
|
|
113
223
|
return tracer.startActiveSpan("activitypub.fetch_key", {
|
|
114
224
|
kind: __opentelemetry_api.SpanKind.CLIENT,
|
|
@@ -176,7 +286,7 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
|
|
|
176
286
|
}
|
|
177
287
|
let object;
|
|
178
288
|
try {
|
|
179
|
-
object = await
|
|
289
|
+
object = await __fedify_vocab.Object.fromJsonLd(document, {
|
|
180
290
|
documentLoader,
|
|
181
291
|
contextLoader,
|
|
182
292
|
tracerProvider
|
|
@@ -203,8 +313,8 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
|
|
|
203
313
|
}
|
|
204
314
|
let key = null;
|
|
205
315
|
if (object instanceof cls) key = object;
|
|
206
|
-
else if (
|
|
207
|
-
const keys = cls ===
|
|
316
|
+
else if ((0, __fedify_vocab.isActor)(object)) {
|
|
317
|
+
const keys = cls === __fedify_vocab.CryptographicKey ? object.getPublicKeys({
|
|
208
318
|
documentLoader,
|
|
209
319
|
contextLoader,
|
|
210
320
|
tracerProvider
|
|
@@ -276,7 +386,7 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
|
|
|
276
386
|
async function signRequest(request, privateKey, keyId, options = {}) {
|
|
277
387
|
validateCryptoKey(privateKey, "private");
|
|
278
388
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
279
|
-
const tracer = tracerProvider.getTracer(
|
|
389
|
+
const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
|
|
280
390
|
return await tracer.startActiveSpan("http_signatures.sign", async (span) => {
|
|
281
391
|
try {
|
|
282
392
|
const spec = options.spec ?? "draft-cavage-http-signatures-12";
|
|
@@ -286,7 +396,7 @@ async function signRequest(request, privateKey, keyId, options = {}) {
|
|
|
286
396
|
if (span.isRecording()) {
|
|
287
397
|
span.setAttribute(__opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, signed.method);
|
|
288
398
|
span.setAttribute(__opentelemetry_semantic_conventions.ATTR_URL_FULL, signed.url);
|
|
289
|
-
for (const [name, value] of signed.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name), value);
|
|
399
|
+
for (const [name$1, value] of signed.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name$1), value);
|
|
290
400
|
span.setAttribute("http_signatures.key_id", keyId.href);
|
|
291
401
|
}
|
|
292
402
|
return signed;
|
|
@@ -314,8 +424,8 @@ async function signRequestDraft(request, privateKey, keyId, span, currentTime, b
|
|
|
314
424
|
}
|
|
315
425
|
if (!headers.has("Date")) headers.set("Date", currentTime == null ? (/* @__PURE__ */ new Date()).toUTCString() : new Date(currentTime.toString()).toUTCString());
|
|
316
426
|
const serialized = [["(request-target)", `${request.method.toLowerCase()} ${url.pathname}`], ...headers];
|
|
317
|
-
const headerNames = serialized.map(([name]) => name);
|
|
318
|
-
const message = serialized.map(([name, value]) => `${name}: ${value.trim()}`).join("\n");
|
|
427
|
+
const headerNames = serialized.map(([name$1]) => name$1);
|
|
428
|
+
const message = serialized.map(([name$1, value]) => `${name$1}: ${value.trim()}`).join("\n");
|
|
319
429
|
const signature = await crypto.subtle.sign("RSASSA-PKCS1-v1_5", privateKey, new TextEncoder().encode(message));
|
|
320
430
|
const sigHeader = `keyId="${keyId.href}",algorithm="rsa-sha256",headers="${headerNames.join(" ")}",signature="${(0, byte_encodings_base64.encodeBase64)(signature)}"`;
|
|
321
431
|
headers.set("Signature", sigHeader);
|
|
@@ -505,12 +615,12 @@ const supportedHashAlgorithms = {
|
|
|
505
615
|
*/
|
|
506
616
|
async function verifyRequest(request, options = {}) {
|
|
507
617
|
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
|
508
|
-
const tracer = tracerProvider.getTracer(
|
|
618
|
+
const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
|
|
509
619
|
return await tracer.startActiveSpan("http_signatures.verify", async (span) => {
|
|
510
620
|
if (span.isRecording()) {
|
|
511
621
|
span.setAttribute(__opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, request.method);
|
|
512
622
|
span.setAttribute(__opentelemetry_semantic_conventions.ATTR_URL_FULL, request.url);
|
|
513
|
-
for (const [name, value] of request.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name), value);
|
|
623
|
+
for (const [name$1, value] of request.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name$1), value);
|
|
514
624
|
}
|
|
515
625
|
try {
|
|
516
626
|
let spec = options.spec;
|
|
@@ -677,7 +787,7 @@ async function verifyRequestDraft(request, span, { documentLoader, contextLoader
|
|
|
677
787
|
const { keyId, headers, signature } = sigValues;
|
|
678
788
|
span?.setAttribute("http_signatures.key_id", keyId);
|
|
679
789
|
if ("algorithm" in sigValues) span?.setAttribute("http_signatures.algorithm", sigValues.algorithm);
|
|
680
|
-
const { key, cached } = await fetchKey(new URL(keyId),
|
|
790
|
+
const { key, cached } = await fetchKey(new URL(keyId), __fedify_vocab.CryptographicKey, {
|
|
681
791
|
documentLoader,
|
|
682
792
|
contextLoader,
|
|
683
793
|
keyCache,
|
|
@@ -693,7 +803,7 @@ async function verifyRequestDraft(request, span, { documentLoader, contextLoader
|
|
|
693
803
|
logger.debug("Failed to verify; required headers missing in the Signature header: {headers}.", { headers });
|
|
694
804
|
return null;
|
|
695
805
|
}
|
|
696
|
-
const message = headerNames.map((name) => `${name}: ` + (name === "(request-target)" ? `${request.method.toLowerCase()} ${new URL(request.url).pathname}` : name === "(created)" ? sigValues.created ?? "" : name === "(expires)" ? sigValues.expires ?? "" : name === "host" ? request.headers.get("host") ?? new URL(request.url).host : request.headers.get(name))).join("\n");
|
|
806
|
+
const message = headerNames.map((name$1) => `${name$1}: ` + (name$1 === "(request-target)" ? `${request.method.toLowerCase()} ${new URL(request.url).pathname}` : name$1 === "(created)" ? sigValues.created ?? "" : name$1 === "(expires)" ? sigValues.expires ?? "" : name$1 === "host" ? request.headers.get("host") ?? new URL(request.url).host : request.headers.get(name$1))).join("\n");
|
|
697
807
|
const sig = (0, byte_encodings_base64.decodeBase64)(signature);
|
|
698
808
|
span?.setAttribute("http_signatures.signature", (0, byte_encodings_hex.encodeHex)(sig));
|
|
699
809
|
const verified = await crypto.subtle.verify("RSASSA-PKCS1-v1_5", key.publicKey, sig, new TextEncoder().encode(message));
|
|
@@ -870,7 +980,7 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
|
|
|
870
980
|
}
|
|
871
981
|
span?.setAttribute("http_signatures.key_id", sigInput.keyId);
|
|
872
982
|
span?.setAttribute("http_signatures.created", sigInput.created.toString());
|
|
873
|
-
const { key, cached } = await fetchKey(new URL(sigInput.keyId),
|
|
983
|
+
const { key, cached } = await fetchKey(new URL(sigInput.keyId), __fedify_vocab.CryptographicKey, {
|
|
874
984
|
documentLoader,
|
|
875
985
|
contextLoader,
|
|
876
986
|
keyCache,
|
|
@@ -1056,6 +1166,12 @@ function timingSafeEqual(a, b) {
|
|
|
1056
1166
|
}
|
|
1057
1167
|
|
|
1058
1168
|
//#endregion
|
|
1169
|
+
Object.defineProperty(exports, 'deno_default', {
|
|
1170
|
+
enumerable: true,
|
|
1171
|
+
get: function () {
|
|
1172
|
+
return deno_default;
|
|
1173
|
+
}
|
|
1174
|
+
});
|
|
1059
1175
|
Object.defineProperty(exports, 'doubleKnock', {
|
|
1060
1176
|
enumerable: true,
|
|
1061
1177
|
get: function () {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Temporal } from "@js-temporal/polyfill";
|
|
2
2
|
import { URLPattern } from "urlpattern-polyfill";
|
|
3
|
-
import { CryptographicKey, Multikey } from "
|
|
3
|
+
import { CryptographicKey, Multikey } from "@fedify/vocab";
|
|
4
4
|
import { TracerProvider } from "@opentelemetry/api";
|
|
5
5
|
import { DocumentLoader } from "@fedify/vocab-runtime";
|
|
6
6
|
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
|
6
|
+
import { deno_default } from "./deno-i60L3ZJW.js";
|
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-DBHCloAO.js";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
|
+
import { CryptographicKey } from "@fedify/vocab";
|
|
9
10
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
10
11
|
import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
|
|
11
12
|
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { deno_default } from "./deno-i60L3ZJW.js";
|
|
7
7
|
import { getLogger } from "@logtape/logtape";
|
|
8
|
+
import { Activity, getTypeId } from "@fedify/vocab";
|
|
8
9
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
|
9
10
|
|
|
10
11
|
//#region src/federation/inbox.ts
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { isActor } from "./actor-CmPnJ0G7.js";
|
|
8
|
-
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
|
6
|
+
import { deno_default } from "./deno-i60L3ZJW.js";
|
|
9
7
|
import { getLogger } from "@logtape/logtape";
|
|
8
|
+
import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
|
|
9
|
+
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
|
10
10
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
11
11
|
|
|
12
12
|
//#region src/sig/key.ts
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, Multikey } from "
|
|
6
|
+
import { CryptographicKey, Multikey } from "@fedify/vocab";
|
|
7
7
|
|
|
8
8
|
//#region src/federation/keycache.ts
|
|
9
9
|
var KvKeyCache = class {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, Multikey } from "
|
|
6
|
+
import { CryptographicKey, Multikey } from "@fedify/vocab";
|
|
7
7
|
import { importSpki } from "@fedify/vocab-runtime";
|
|
8
8
|
|
|
9
9
|
//#region src/testing/keys.ts
|
|
@@ -16,6 +16,21 @@ interface KvStoreSetOptions {
|
|
|
16
16
|
*/
|
|
17
17
|
ttl?: Temporal.Duration;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* An entry returned by the {@link KvStore.list} method.
|
|
21
|
+
*
|
|
22
|
+
* @since 1.10.0
|
|
23
|
+
*/
|
|
24
|
+
interface KvStoreListEntry {
|
|
25
|
+
/**
|
|
26
|
+
* The key of the entry.
|
|
27
|
+
*/
|
|
28
|
+
readonly key: KvKey;
|
|
29
|
+
/**
|
|
30
|
+
* The value of the entry.
|
|
31
|
+
*/
|
|
32
|
+
readonly value: unknown;
|
|
33
|
+
}
|
|
19
34
|
/**
|
|
20
35
|
* An abstract interface for a key–value store.
|
|
21
36
|
*
|
|
@@ -51,6 +66,16 @@ interface KvStore {
|
|
|
51
66
|
* @since 1.8.0
|
|
52
67
|
*/
|
|
53
68
|
cas?: (key: KvKey, expectedValue: unknown, newValue: unknown, options?: KvStoreSetOptions) => Promise<boolean>;
|
|
69
|
+
/**
|
|
70
|
+
* Lists all entries in the store that match the given prefix.
|
|
71
|
+
* If no prefix is given, all entries are returned.
|
|
72
|
+
* @param prefix The prefix to filter keys by. If not specified, all entries
|
|
73
|
+
* are returned.
|
|
74
|
+
* @returns An async iterable of entries matching the prefix.
|
|
75
|
+
* @since 1.10.0
|
|
76
|
+
* @since 2.0.0 This method is now required instead of optional.
|
|
77
|
+
*/
|
|
78
|
+
list(prefix?: KvKey): AsyncIterable<KvStoreListEntry>;
|
|
54
79
|
}
|
|
55
80
|
/**
|
|
56
81
|
* A key–value store that stores values in memory.
|
|
@@ -76,6 +101,10 @@ declare class MemoryKvStore implements KvStore {
|
|
|
76
101
|
* {@inheritDoc KvStore.cas}
|
|
77
102
|
*/
|
|
78
103
|
cas(key: KvKey, expectedValue: unknown, newValue: unknown, options?: KvStoreSetOptions): Promise<boolean>;
|
|
104
|
+
/**
|
|
105
|
+
* {@inheritDoc KvStore.list}
|
|
106
|
+
*/
|
|
107
|
+
list(prefix?: KvKey): AsyncIterable<KvStoreListEntry>;
|
|
79
108
|
}
|
|
80
109
|
//#endregion
|
|
81
|
-
export { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore };
|
|
110
|
+
export { KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore };
|
|
@@ -19,6 +19,21 @@ interface KvStoreSetOptions {
|
|
|
19
19
|
*/
|
|
20
20
|
ttl?: Temporal.Duration;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* An entry returned by the {@link KvStore.list} method.
|
|
24
|
+
*
|
|
25
|
+
* @since 1.10.0
|
|
26
|
+
*/
|
|
27
|
+
interface KvStoreListEntry {
|
|
28
|
+
/**
|
|
29
|
+
* The key of the entry.
|
|
30
|
+
*/
|
|
31
|
+
readonly key: KvKey;
|
|
32
|
+
/**
|
|
33
|
+
* The value of the entry.
|
|
34
|
+
*/
|
|
35
|
+
readonly value: unknown;
|
|
36
|
+
}
|
|
22
37
|
/**
|
|
23
38
|
* An abstract interface for a key–value store.
|
|
24
39
|
*
|
|
@@ -54,6 +69,16 @@ interface KvStore {
|
|
|
54
69
|
* @since 1.8.0
|
|
55
70
|
*/
|
|
56
71
|
cas?: (key: KvKey, expectedValue: unknown, newValue: unknown, options?: KvStoreSetOptions) => Promise<boolean>;
|
|
72
|
+
/**
|
|
73
|
+
* Lists all entries in the store that match the given prefix.
|
|
74
|
+
* If no prefix is given, all entries are returned.
|
|
75
|
+
* @param prefix The prefix to filter keys by. If not specified, all entries
|
|
76
|
+
* are returned.
|
|
77
|
+
* @returns An async iterable of entries matching the prefix.
|
|
78
|
+
* @since 1.10.0
|
|
79
|
+
* @since 2.0.0 This method is now required instead of optional.
|
|
80
|
+
*/
|
|
81
|
+
list(prefix?: KvKey): AsyncIterable<KvStoreListEntry>;
|
|
57
82
|
}
|
|
58
83
|
/**
|
|
59
84
|
* A key–value store that stores values in memory.
|
|
@@ -79,6 +104,10 @@ declare class MemoryKvStore implements KvStore {
|
|
|
79
104
|
* {@inheritDoc KvStore.cas}
|
|
80
105
|
*/
|
|
81
106
|
cas(key: KvKey, expectedValue: unknown, newValue: unknown, options?: KvStoreSetOptions): Promise<boolean>;
|
|
107
|
+
/**
|
|
108
|
+
* {@inheritDoc KvStore.list}
|
|
109
|
+
*/
|
|
110
|
+
list(prefix?: KvKey): AsyncIterable<KvStoreListEntry>;
|
|
82
111
|
}
|
|
83
112
|
//#endregion
|
|
84
|
-
export { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore };
|
|
113
|
+
export { KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore };
|
|
@@ -68,6 +68,28 @@ var MemoryKvStore = class {
|
|
|
68
68
|
this.#values[encodedKey] = [newValue, expiration];
|
|
69
69
|
return Promise.resolve(true);
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* {@inheritDoc KvStore.list}
|
|
73
|
+
*/
|
|
74
|
+
async *list(prefix) {
|
|
75
|
+
const now = Temporal.Now.instant();
|
|
76
|
+
for (const [encodedKey, entry] of Object.entries(this.#values)) {
|
|
77
|
+
const key = JSON.parse(encodedKey);
|
|
78
|
+
if (prefix != null) {
|
|
79
|
+
if (key.length < prefix.length) continue;
|
|
80
|
+
if (!prefix.every((p, i) => key[i] === p)) continue;
|
|
81
|
+
}
|
|
82
|
+
const [value, expiration] = entry;
|
|
83
|
+
if (expiration != null && now.until(expiration).sign < 0) {
|
|
84
|
+
delete this.#values[encodedKey];
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
yield {
|
|
88
|
+
key,
|
|
89
|
+
value
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
71
93
|
};
|
|
72
94
|
|
|
73
95
|
//#endregion
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { preloadedContexts } from "@fedify/vocab-runtime";
|
|
7
6
|
import { getLogger } from "@logtape/logtape";
|
|
7
|
+
import { preloadedContexts } from "@fedify/vocab-runtime";
|
|
8
8
|
|
|
9
9
|
//#region src/utils/kv-cache.ts
|
|
10
10
|
const logger = getLogger([
|
|
@@ -28,6 +28,19 @@ var MockKvStore = class {
|
|
|
28
28
|
cas(..._) {
|
|
29
29
|
return Promise.resolve(false);
|
|
30
30
|
}
|
|
31
|
+
async *list(prefix) {
|
|
32
|
+
for (const [encodedKey, value] of Object.entries(this.#values)) {
|
|
33
|
+
const key = JSON.parse(encodedKey);
|
|
34
|
+
if (prefix != null) {
|
|
35
|
+
if (key.length < prefix.length) continue;
|
|
36
|
+
if (!prefix.every((p, i) => key[i] === p)) continue;
|
|
37
|
+
}
|
|
38
|
+
yield {
|
|
39
|
+
key,
|
|
40
|
+
value
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
}
|
|
31
44
|
};
|
|
32
45
|
/**
|
|
33
46
|
* Decorates a {@link DocumentLoader} with a cache backed by a {@link Deno.Kv}.
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
|
|
5
|
-
import { doubleKnock, validateCryptoKey } from "./http-
|
|
5
|
+
import { doubleKnock, validateCryptoKey } from "./http-B5BgMxiO.js";
|
|
6
6
|
import { getLogger } from "@logtape/logtape";
|
|
7
|
-
import { UrlError, createActivityPubRequest, getDocumentLoader, getRemoteDocument, logRequest, preloadedContexts, validatePublicUrl } from "@fedify/vocab-runtime";
|
|
8
7
|
import { curry } from "es-toolkit";
|
|
8
|
+
import { UrlError, createActivityPubRequest, getDocumentLoader, getRemoteDocument, logRequest, preloadedContexts, validatePublicUrl } from "@fedify/vocab-runtime";
|
|
9
9
|
|
|
10
10
|
//#region src/utils/docloader.ts
|
|
11
11
|
const logger$1 = getLogger([
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
|
-
const require_http = require('./http-
|
|
6
|
+
const require_http = require('./http-B_jtB30-.cjs');
|
|
7
7
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
8
|
-
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
|
9
8
|
const es_toolkit = require_chunk.__toESM(require("es-toolkit"));
|
|
9
|
+
const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
|
|
10
10
|
|
|
11
11
|
//#region src/utils/docloader.ts
|
|
12
12
|
const logger$1 = (0, __logtape_logtape.getLogger)([
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import {
|
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
|
8
|
-
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
|
6
|
+
import { deno_default } from "./deno-i60L3ZJW.js";
|
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-DBHCloAO.js";
|
|
9
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
|
+
import { Activity, CryptographicKey, Object as Object$1, getTypeId } from "@fedify/vocab";
|
|
10
|
+
import { getDocumentLoader } from "@fedify/vocab-runtime";
|
|
10
11
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
11
12
|
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
|
12
13
|
import { encodeHex } from "byte-encodings/hex";
|