@fedify/fedify 2.0.8 → 2.0.9

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.
Files changed (203) hide show
  1. package/dist/{assert-MZs1qjMx.js → assert-ddO5KLpe.mjs} +5 -9
  2. package/dist/{assert_equals-DSbWqCm3.js → assert_equals-Ew3jOFa3.mjs} +55 -69
  3. package/dist/{assert_instance_of-DHz7EHNU.js → assert_instance_of-C4Ri6VuN.mjs} +5 -9
  4. package/dist/{assert_not_equals-C80BG-_5.js → assert_not_equals--wG9hV7u.mjs} +6 -13
  5. package/dist/{assert_rejects-Ce45JcFg.js → assert_rejects-B-qJtC9Z.mjs} +6 -11
  6. package/dist/{assert_throws-BNXdRGWP.js → assert_throws-4NwKEy2q.mjs} +5 -10
  7. package/dist/{builder-B5cKln9v.js → builder-DDoQaGOu.mjs} +32 -41
  8. package/dist/{chunk-CGaQZ11T.cjs → chunk-DDcVe30Y.cjs} +23 -24
  9. package/dist/{chunk-DJNbSFdH.js → chunk-nlSIicah.js} +8 -8
  10. package/dist/{client-CoCIaTNO.js → client-A1UrnX6I.mjs} +9 -13
  11. package/dist/{client-BxMZiQaD.d.ts → client-AtlibPOU.d.ts} +1 -1
  12. package/dist/{client-C97KOq3x.d.cts → client-z-8dc-e1.d.cts} +1 -1
  13. package/dist/{collection-CcnIw1qY.js → collection-ChgDTHLz.mjs} +7 -12
  14. package/dist/compat/mod.cjs +5 -8
  15. package/dist/compat/mod.d.cts +78 -6
  16. package/dist/compat/mod.d.ts +78 -6
  17. package/dist/compat/mod.js +4 -8
  18. package/dist/compat/transformers.test.mjs +62 -0
  19. package/dist/{context-D3QkEtZd.d.cts → context-CNIt-Qn7.d.cts} +9 -18
  20. package/dist/{context-DZJhUmzF.d.ts → context-Dyg7P1qW.d.ts} +9 -18
  21. package/dist/{context-pa9aIrwp.js → context-Juj6bdHC.mjs} +7 -11
  22. package/dist/deno-CuVDEdyj.mjs +8 -0
  23. package/dist/{docloader-CBHh0rC5.js → docloader-BPq9yzC_.mjs} +8 -14
  24. package/dist/{esm-nLm00z9V.js → esm-DVILvP5e.mjs} +50 -89
  25. package/dist/federation/builder.test.d.mts +2 -0
  26. package/dist/federation/{builder.test.js → builder.test.mjs} +19 -38
  27. package/dist/federation/collection.test.d.mts +2 -0
  28. package/dist/federation/collection.test.mjs +21 -0
  29. package/dist/federation/handler.test.d.mts +2 -0
  30. package/dist/federation/{handler.test.js → handler.test.mjs} +26 -56
  31. package/dist/federation/idempotency.test.d.mts +2 -0
  32. package/dist/federation/{idempotency.test.js → idempotency.test.mjs} +31 -62
  33. package/dist/federation/inbox.test.d.mts +2 -0
  34. package/dist/federation/{inbox.test.js → inbox.test.mjs} +8 -12
  35. package/dist/federation/keycache.test.d.mts +2 -0
  36. package/dist/federation/{keycache.test.js → keycache.test.mjs} +11 -15
  37. package/dist/federation/kv.test.d.mts +2 -0
  38. package/dist/federation/{kv.test.js → kv.test.mjs} +11 -22
  39. package/dist/federation/middleware.test.d.mts +2 -0
  40. package/dist/federation/{middleware.test.js → middleware.test.mjs} +146 -225
  41. package/dist/federation/mod.cjs +327 -16
  42. package/dist/federation/mod.d.cts +3 -6
  43. package/dist/federation/mod.d.ts +3 -6
  44. package/dist/federation/mod.js +322 -13
  45. package/dist/federation/mq.test.d.mts +2 -0
  46. package/dist/federation/{mq.test.js → mq.test.mjs} +21 -35
  47. package/dist/federation/negotiation.test.d.mts +2 -0
  48. package/dist/federation/{negotiation.test.js → negotiation.test.mjs} +9 -16
  49. package/dist/federation/retry.test.d.mts +2 -0
  50. package/dist/federation/{retry.test.js → retry.test.mjs} +8 -11
  51. package/dist/federation/router.test.d.mts +2 -0
  52. package/dist/federation/{router.test.js → router.test.mjs} +11 -16
  53. package/dist/federation/send.test.d.mts +2 -0
  54. package/dist/federation/{send.test.js → send.test.mjs} +22 -29
  55. package/dist/federation/webfinger.test.d.mts +2 -0
  56. package/dist/federation/{webfinger.test.js → webfinger.test.mjs} +22 -55
  57. package/dist/{http-DkHdFfrc.d.ts → http-B2wiNmSo.d.ts} +1 -6
  58. package/dist/{http-C_RwU_oN.js → http-Bz7avX57.js} +25 -156
  59. package/dist/{http-Cz3MlXAZ.d.cts → http-C_tEAiZj.d.cts} +1 -6
  60. package/dist/{http-Br3-1dRf.js → http-DI213UHg.mjs} +17 -33
  61. package/dist/{http-DGs_78tx.cjs → http-DKBDoudA.cjs} +110 -235
  62. package/dist/{inbox-3bZUqDLE.js → inbox-Bdn-CSRd.mjs} +18 -26
  63. package/dist/{key-D7Y_J9kt.js → key-DzJf84o7.mjs} +12 -19
  64. package/dist/{keycache-BASM0rrX.js → keycache-DaQ3ndaJ.mjs} +5 -9
  65. package/dist/{keys-ZbcByPg9.js → keys-CtZLJq76.mjs} +5 -9
  66. package/dist/{kv-QzKcOQgP.js → kv-BrZHNugx.mjs} +6 -10
  67. package/dist/{kv-BL4nlICN.d.cts → kv-CbLNp3zQ.d.cts} +1 -1
  68. package/dist/{kv-DXEUEP6z.d.ts → kv-GFYnFoOl.d.ts} +1 -1
  69. package/dist/{kv-cache-CMM5VJsc.js → kv-cache-DBd7BezJ.js} +6 -13
  70. package/dist/{kv-cache-9PANi4tA.cjs → kv-cache-Dj1Q7TiW.cjs} +27 -34
  71. package/dist/{kv-cache-El7We5sy.js → kv-cache-OWmRLHir.mjs} +4 -8
  72. package/dist/{ld-Bjq9Z4St.js → ld-DczS1fLK.mjs} +17 -31
  73. package/dist/middleware-B5CiOImA.mjs +5 -0
  74. package/dist/{middleware-Bj30TZll.js → middleware-BKNu57ZI.js} +320 -363
  75. package/dist/middleware-C36TOX-2.cjs +4 -0
  76. package/dist/{middleware-CQeA5yF7.cjs → middleware-CyjmpK70.cjs} +513 -564
  77. package/dist/{middleware-DozhKfB6.js → middleware-DoHz9oIo.mjs} +260 -292
  78. package/dist/{mod-DPkRU3EK.d.cts → mod-1xhgsHef.d.cts} +2 -2
  79. package/dist/{mod-DUWcVv49.d.ts → mod-BGtYJZKu.d.ts} +2 -2
  80. package/dist/{mod-DXsQakeS.d.cts → mod-Bld7oeqf.d.cts} +3 -3
  81. package/dist/{mod-DnSsduJF.d.ts → mod-BnAKGh2w.d.ts} +2 -2
  82. package/dist/{mod-CwZXZJ9d.d.ts → mod-DTOUyCce.d.ts} +3 -3
  83. package/dist/{mod-Di3W5OdP.d.cts → mod-DWoQffTD.d.cts} +2 -2
  84. package/dist/mod.cjs +29 -68
  85. package/dist/mod.d.cts +11 -14
  86. package/dist/mod.d.ts +11 -15
  87. package/dist/mod.js +17 -65
  88. package/dist/{negotiation-5NPJL6zp.js → negotiation-BehA2uul.mjs} +7 -11
  89. package/dist/nodeinfo/client.test.d.mts +2 -0
  90. package/dist/nodeinfo/{client.test.js → client.test.mjs} +22 -40
  91. package/dist/nodeinfo/handler.test.d.mts +2 -0
  92. package/dist/nodeinfo/{handler.test.js → handler.test.mjs} +13 -42
  93. package/dist/nodeinfo/mod.cjs +5 -8
  94. package/dist/nodeinfo/mod.d.cts +2 -3
  95. package/dist/nodeinfo/mod.d.ts +2 -3
  96. package/dist/nodeinfo/mod.js +4 -8
  97. package/dist/nodeinfo/types.test.d.mts +2 -0
  98. package/dist/nodeinfo/{types.test.js → types.test.mjs} +9 -16
  99. package/dist/otel/exporter.test.d.mts +2 -0
  100. package/dist/otel/{exporter.test.js → exporter.test.mjs} +117 -169
  101. package/dist/otel/mod.cjs +15 -20
  102. package/dist/otel/mod.d.cts +2 -2
  103. package/dist/otel/mod.d.ts +2 -2
  104. package/dist/otel/mod.js +8 -14
  105. package/dist/{owner-gd0Q9FuU.d.ts → owner-74ARJ5TL.d.ts} +1 -1
  106. package/dist/{owner-1AbPBOOZ.d.cts → owner-CptqhsOy.d.cts} +1 -1
  107. package/dist/{owner-CImU2dKz.js → owner-DXMGUEOr.mjs} +11 -16
  108. package/dist/{proof-BygvN4r5.js → proof-C-7NljBU.js} +32 -58
  109. package/dist/{proof-DLL0MLmV.js → proof-CEOujj0L.mjs} +21 -33
  110. package/dist/{proof-UhA5do8k.cjs → proof-DMu-6A_w.cjs} +133 -157
  111. package/dist/{retry-D4GJ670a.js → retry-Ddbq3AcK.mjs} +4 -7
  112. package/dist/{router-D9eI0s4b.js → router-CrMLXoOr.mjs} +4 -8
  113. package/dist/runtime/mod.cjs +11 -13
  114. package/dist/runtime/mod.d.cts +6 -2
  115. package/dist/runtime/mod.d.ts +0 -1
  116. package/dist/runtime/mod.js +4 -7
  117. package/dist/{send-DbW03azY.js → send-DIfrLTB_.mjs} +8 -13
  118. package/dist/sig/http.test.d.mts +2 -0
  119. package/dist/sig/{http.test.js → http.test.mjs} +117 -199
  120. package/dist/sig/key.test.d.mts +2 -0
  121. package/dist/sig/{key.test.js → key.test.mjs} +11 -18
  122. package/dist/sig/ld.test.d.mts +2 -0
  123. package/dist/sig/{ld.test.js → ld.test.mjs} +22 -35
  124. package/dist/sig/mod.cjs +6 -9
  125. package/dist/sig/mod.d.cts +3 -3
  126. package/dist/sig/mod.d.ts +3 -3
  127. package/dist/sig/mod.js +5 -9
  128. package/dist/sig/owner.test.d.mts +2 -0
  129. package/dist/sig/{owner.test.js → owner.test.mjs} +19 -34
  130. package/dist/sig/proof.test.d.mts +2 -0
  131. package/dist/sig/{proof.test.js → proof.test.mjs} +16 -27
  132. package/dist/{std__assert-DWivtrGR.js → std__assert-Duiq_YC9.mjs} +12 -24
  133. package/dist/testing/{mod.d.ts → mod.d.mts} +26 -78
  134. package/dist/testing/mod.mjs +6 -0
  135. package/dist/{transformers-3g8GZwkZ.cjs → transformers-NeAONrAq.cjs} +20 -25
  136. package/dist/{transformers-C3FLHUd6.js → transformers-ve6e2xcg.js} +3 -7
  137. package/dist/{types-CPz01LGH.js → types-C37hquWI.mjs} +4 -7
  138. package/dist/{types-Cd_hszr_.cjs → types-KC4QAoxe.cjs} +29 -34
  139. package/dist/{types-C93Ob9cU.js → types-hvL8ElAs.js} +8 -13
  140. package/dist/utils/docloader.test.d.mts +2 -0
  141. package/dist/utils/{docloader.test.js → docloader.test.mjs} +14 -24
  142. package/dist/utils/kv-cache.test.d.mts +2 -0
  143. package/dist/utils/{kv-cache.test.js → kv-cache.test.mjs} +25 -40
  144. package/dist/utils/mod.cjs +5 -9
  145. package/dist/utils/mod.d.cts +1 -3
  146. package/dist/utils/mod.d.ts +1 -3
  147. package/dist/utils/mod.js +4 -9
  148. package/dist/vocab/cjs.test.d.mts +2 -0
  149. package/dist/vocab/cjs.test.mjs +14 -0
  150. package/dist/vocab/mod.cjs +10 -12
  151. package/dist/vocab/mod.js +3 -5
  152. package/package.json +7 -7
  153. package/dist/compat/transformers.test.d.ts +0 -3
  154. package/dist/compat/transformers.test.js +0 -87
  155. package/dist/compat-Bb4NuTUO.js +0 -4
  156. package/dist/compat-DmDDELst.cjs +0 -4
  157. package/dist/deno-4w047OFk.js +0 -121
  158. package/dist/federation/builder.test.d.ts +0 -3
  159. package/dist/federation/collection.test.d.ts +0 -3
  160. package/dist/federation/collection.test.js +0 -32
  161. package/dist/federation/handler.test.d.ts +0 -3
  162. package/dist/federation/idempotency.test.d.ts +0 -3
  163. package/dist/federation/inbox.test.d.ts +0 -3
  164. package/dist/federation/keycache.test.d.ts +0 -3
  165. package/dist/federation/kv.test.d.ts +0 -3
  166. package/dist/federation/middleware.test.d.ts +0 -3
  167. package/dist/federation/mq.test.d.ts +0 -3
  168. package/dist/federation/negotiation.test.d.ts +0 -3
  169. package/dist/federation/retry.test.d.ts +0 -3
  170. package/dist/federation/router.test.d.ts +0 -3
  171. package/dist/federation/send.test.d.ts +0 -3
  172. package/dist/federation/webfinger.test.d.ts +0 -3
  173. package/dist/federation-Bp3HI26G.cjs +0 -350
  174. package/dist/federation-DaMfqRm4.js +0 -332
  175. package/dist/middleware-B73ZyDmk.js +0 -12
  176. package/dist/middleware-Dr61i4Jo.cjs +0 -12
  177. package/dist/middleware-_1PYruC5.js +0 -26
  178. package/dist/mod-Bh8mqlYw.d.cts +0 -9
  179. package/dist/mod-D6HodEq7.d.ts +0 -7
  180. package/dist/mod-DVwHUI_x.d.cts +0 -80
  181. package/dist/mod-DosD6NsG.d.ts +0 -82
  182. package/dist/mod-gq_Xfdz8.d.cts +0 -1
  183. package/dist/nodeinfo/client.test.d.ts +0 -3
  184. package/dist/nodeinfo/handler.test.d.ts +0 -3
  185. package/dist/nodeinfo/types.test.d.ts +0 -3
  186. package/dist/nodeinfo-DoESQxq5.js +0 -4
  187. package/dist/nodeinfo-DuMYTpbZ.cjs +0 -4
  188. package/dist/otel/exporter.test.d.ts +0 -3
  189. package/dist/runtime-c2Njxsry.cjs +0 -17
  190. package/dist/runtime-poamPCMb.js +0 -13
  191. package/dist/sig/http.test.d.ts +0 -3
  192. package/dist/sig/key.test.d.ts +0 -3
  193. package/dist/sig/ld.test.d.ts +0 -3
  194. package/dist/sig/owner.test.d.ts +0 -3
  195. package/dist/sig/proof.test.d.ts +0 -3
  196. package/dist/sig-BNhspNOf.js +0 -4
  197. package/dist/sig-vX39WyWI.cjs +0 -4
  198. package/dist/testing/mod.js +0 -10
  199. package/dist/utils/docloader.test.d.ts +0 -3
  200. package/dist/utils/kv-cache.test.d.ts +0 -3
  201. package/dist/utils-BQ9KqEK9.cjs +0 -4
  202. package/dist/utils-Dn5OPdSW.js +0 -4
  203. /package/dist/{mod-AGjRfPjT.d.ts → compat/transformers.test.d.mts} +0 -0
@@ -1,131 +1,17 @@
1
-
2
- const { Temporal } = require("@js-temporal/polyfill");
3
- const { URLPattern } = require("urlpattern-polyfill");
4
-
5
- const require_chunk = require('./chunk-CGaQZ11T.cjs');
6
- const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
7
- const __fedify_vocab = require_chunk.__toESM(require("@fedify/vocab"));
8
- const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
9
- const byte_encodings_hex = require_chunk.__toESM(require("byte-encodings/hex"));
10
- const __fedify_vocab_runtime = require_chunk.__toESM(require("@fedify/vocab-runtime"));
11
- const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@opentelemetry/semantic-conventions"));
12
- const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
13
- const structured_field_values = require_chunk.__toESM(require("structured-field-values"));
14
-
1
+ const { Temporal } = require("@js-temporal/polyfill");
2
+ const { URLPattern } = require("urlpattern-polyfill");
3
+ require("./chunk-DDcVe30Y.cjs");
4
+ let _logtape_logtape = require("@logtape/logtape");
5
+ let _fedify_vocab = require("@fedify/vocab");
6
+ let _opentelemetry_api = require("@opentelemetry/api");
7
+ let byte_encodings_hex = require("byte-encodings/hex");
8
+ let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
9
+ let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
10
+ let byte_encodings_base64 = require("byte-encodings/base64");
11
+ let structured_field_values = require("structured-field-values");
15
12
  //#region deno.json
16
13
  var name = "@fedify/fedify";
17
- var version = "2.0.8";
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
- "./runtime": "./src/runtime/mod.ts",
26
- "./sig": "./src/sig/mod.ts",
27
- "./utils": "./src/utils/mod.ts",
28
- "./vocab": "./src/vocab/mod.ts"
29
- };
30
- var imports = {
31
- "@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
32
- "@std/assert": "jsr:@std/assert@^0.226.0",
33
- "@std/url": "jsr:@std/url@^0.225.1",
34
- "asn1js": "npm:asn1js@^3.0.7",
35
- "fast-check": "npm:fast-check@^3.22.0",
36
- "fetch-mock": "npm:fetch-mock@^12.5.2",
37
- "json-canon": "npm:json-canon@^1.0.1",
38
- "jsonld": "npm:jsonld@^9.0.0",
39
- "pkijs": "npm:pkijs@^3.3.3",
40
- "structured-field-values": "npm:structured-field-values@^2.0.4",
41
- "uri-template-router": "npm:uri-template-router@^1.0.0",
42
- "url-template": "npm:url-template@^3.1.1"
43
- };
44
- var exclude = [
45
- ".test-report.xml",
46
- "apidoc/",
47
- "dist/",
48
- "node_modules/",
49
- "npm/",
50
- "pnpm-lock.yaml",
51
- "src/cfworkers/dist/",
52
- "src/cfworkers/fixtures/",
53
- "src/cfworkers/imports.ts",
54
- "src/cfworkers/README.md",
55
- "src/cfworkers/server.ts",
56
- "src/cfworkers/server.js",
57
- "src/cfworkers/server.js.map"
58
- ];
59
- var publish = { "exclude": [
60
- "**/*.test.ts",
61
- "src/testing/",
62
- "tsdown.config.ts",
63
- "scripts/",
64
- "wrangler.toml"
65
- ] };
66
- var tasks = {
67
- "codegen": "deno task -f @fedify/vocab compile",
68
- "cache": {
69
- "command": "deno cache src/mod.ts",
70
- "dependencies": ["codegen"]
71
- },
72
- "check": {
73
- "command": "deno fmt --check && deno lint && deno check src/**/*.ts",
74
- "dependencies": ["codegen"]
75
- },
76
- "test": {
77
- "command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
78
- "dependencies": ["codegen"]
79
- },
80
- "coverage": "deno task test --clean --coverage && deno coverage --html coverage",
81
- "bench": {
82
- "command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
83
- "dependencies": ["codegen"]
84
- },
85
- "apidoc": {
86
- "command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
87
- "dependencies": ["codegen"]
88
- },
89
- "publish": {
90
- "command": "deno publish",
91
- "dependencies": ["codegen"]
92
- },
93
- "pnpm:install": "pnpm install --silent",
94
- "pnpm:build": {
95
- "command": "pnpm exec tsdown",
96
- "dependencies": ["pnpm:build-vocab"]
97
- },
98
- "test:node": {
99
- "command": "cd dist/ && node --test",
100
- "dependencies": ["pnpm:build"]
101
- },
102
- "test:bun": {
103
- "command": "cd dist/ && bun test --timeout 60000",
104
- "dependencies": ["pnpm:build"]
105
- },
106
- "test:cfworkers": {
107
- "command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
108
- "dependencies": ["pnpm:build"]
109
- },
110
- "test-all": { "dependencies": [
111
- "check",
112
- "test",
113
- "test:node",
114
- "test:bun",
115
- "test:cfworkers"
116
- ] }
117
- };
118
- var deno_default = {
119
- name,
120
- version,
121
- license,
122
- exports: exports$1,
123
- imports,
124
- exclude,
125
- publish,
126
- tasks
127
- };
128
-
14
+ var version = "2.0.9";
129
15
  //#endregion
130
16
  //#region src/sig/key.ts
131
17
  /**
@@ -141,8 +27,7 @@ function validateCryptoKey(key, type) {
141
27
  if (!key.extractable) throw new TypeError("The key is not extractable.");
142
28
  if (key.algorithm.name !== "RSASSA-PKCS1-v1_5" && key.algorithm.name !== "Ed25519") throw new TypeError("Currently only RSASSA-PKCS1-v1_5 and Ed25519 keys are supported. More algorithms will be added in the future!");
143
29
  if (key.algorithm.name === "RSASSA-PKCS1-v1_5") {
144
- const algorithm = key.algorithm;
145
- if (algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
30
+ if (key.algorithm.hash.name !== "SHA-256") throw new TypeError("For compatibility with the existing Fediverse software (e.g., Mastodon), hash algorithm for RSASSA-PKCS1-v1_5 keys must be SHA-256.");
146
31
  }
147
32
  }
148
33
  /**
@@ -153,7 +38,7 @@ function validateCryptoKey(key, type) {
153
38
  * @throws {TypeError} If the algorithm is unsupported.
154
39
  */
155
40
  function generateCryptoKeyPair(algorithm) {
156
- if (algorithm == null) (0, __logtape_logtape.getLogger)([
41
+ if (algorithm == null) (0, _logtape_logtape.getLogger)([
157
42
  "fedify",
158
43
  "sig",
159
44
  "key"
@@ -221,11 +106,10 @@ async function importJwk(jwk, type) {
221
106
  * @since 1.3.0
222
107
  */
223
108
  function fetchKey(keyId, cls, options = {}) {
224
- const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
225
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
109
+ const tracer = (options.tracerProvider ?? _opentelemetry_api.trace.getTracerProvider()).getTracer(name, version);
226
110
  keyId = typeof keyId === "string" ? new URL(keyId) : keyId;
227
111
  return tracer.startActiveSpan("activitypub.fetch_key", {
228
- kind: __opentelemetry_api.SpanKind.CLIENT,
112
+ kind: _opentelemetry_api.SpanKind.CLIENT,
229
113
  attributes: {
230
114
  "http.method": "GET",
231
115
  "url.full": keyId.href,
@@ -242,7 +126,7 @@ function fetchKey(keyId, cls, options = {}) {
242
126
  return result;
243
127
  } catch (e) {
244
128
  span.setStatus({
245
- code: __opentelemetry_api.SpanStatusCode.ERROR,
129
+ code: _opentelemetry_api.SpanStatusCode.ERROR,
246
130
  message: String(e)
247
131
  });
248
132
  throw e;
@@ -252,7 +136,7 @@ function fetchKey(keyId, cls, options = {}) {
252
136
  });
253
137
  }
254
138
  async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, keyCache, tracerProvider } = {}) {
255
- const logger = (0, __logtape_logtape.getLogger)([
139
+ const logger = (0, _logtape_logtape.getLogger)([
256
140
  "fedify",
257
141
  "sig",
258
142
  "key"
@@ -278,8 +162,7 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
278
162
  logger.debug("Fetching key {keyId} to verify signature...", { keyId });
279
163
  let document;
280
164
  try {
281
- const remoteDocument = await (documentLoader ?? (0, __fedify_vocab_runtime.getDocumentLoader)())(keyId);
282
- document = remoteDocument.document;
165
+ document = (await (documentLoader ?? (0, _fedify_vocab_runtime.getDocumentLoader)())(keyId)).document;
283
166
  } catch (_) {
284
167
  logger.debug("Failed to fetch key {keyId}.", { keyId });
285
168
  await keyCache?.set(cacheKey, null);
@@ -290,7 +173,7 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
290
173
  }
291
174
  let object;
292
175
  try {
293
- object = await __fedify_vocab.Object.fromJsonLd(document, {
176
+ object = await _fedify_vocab.Object.fromJsonLd(document, {
294
177
  documentLoader,
295
178
  contextLoader,
296
179
  tracerProvider
@@ -303,8 +186,8 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
303
186
  contextLoader,
304
187
  tracerProvider
305
188
  });
306
- } catch (e$1) {
307
- if (e$1 instanceof TypeError) {
189
+ } catch (e) {
190
+ if (e instanceof TypeError) {
308
191
  logger.debug("Failed to verify; key {keyId} returned an invalid object.", { keyId });
309
192
  await keyCache?.set(cacheKey, null);
310
193
  return {
@@ -312,13 +195,13 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
312
195
  cached: false
313
196
  };
314
197
  }
315
- throw e$1;
198
+ throw e;
316
199
  }
317
200
  }
318
201
  let key = null;
319
202
  if (object instanceof cls) key = object;
320
- else if ((0, __fedify_vocab.isActor)(object)) {
321
- const keys = cls === __fedify_vocab.CryptographicKey ? object.getPublicKeys({
203
+ else if ((0, _fedify_vocab.isActor)(object)) {
204
+ const keys = cls === _fedify_vocab.CryptographicKey ? object.getPublicKeys({
322
205
  documentLoader,
323
206
  contextLoader,
324
207
  tracerProvider
@@ -375,7 +258,6 @@ async function fetchKeyInternal(keyId, cls, { documentLoader, contextLoader, key
375
258
  cached: false
376
259
  };
377
260
  }
378
-
379
261
  //#endregion
380
262
  //#region src/sig/http.ts
381
263
  const DEFAULT_MAX_REDIRECTION = 20;
@@ -390,24 +272,22 @@ const DEFAULT_MAX_REDIRECTION = 20;
390
272
  */
391
273
  async function signRequest(request, privateKey, keyId, options = {}) {
392
274
  validateCryptoKey(privateKey, "private");
393
- const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
394
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
395
- return await tracer.startActiveSpan("http_signatures.sign", async (span) => {
275
+ return await (options.tracerProvider ?? _opentelemetry_api.trace.getTracerProvider()).getTracer(name, version).startActiveSpan("http_signatures.sign", async (span) => {
396
276
  try {
397
277
  const spec = options.spec ?? "draft-cavage-http-signatures-12";
398
278
  let signed;
399
279
  if (spec === "rfc9421") signed = await signRequestRfc9421(request, privateKey, keyId, span, options.currentTime, options.body);
400
280
  else signed = await signRequestDraft(request, privateKey, keyId, span, options.currentTime, options.body);
401
281
  if (span.isRecording()) {
402
- span.setAttribute(__opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, signed.method);
403
- span.setAttribute(__opentelemetry_semantic_conventions.ATTR_URL_FULL, signed.url);
404
- for (const [name$1, value] of signed.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name$1), value);
282
+ span.setAttribute(_opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, signed.method);
283
+ span.setAttribute(_opentelemetry_semantic_conventions.ATTR_URL_FULL, signed.url);
284
+ for (const [name, value] of signed.headers) span.setAttribute((0, _opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name), value);
405
285
  span.setAttribute("http_signatures.key_id", keyId.href);
406
286
  }
407
287
  return signed;
408
288
  } catch (error) {
409
289
  span.setStatus({
410
- code: __opentelemetry_api.SpanStatusCode.ERROR,
290
+ code: _opentelemetry_api.SpanStatusCode.ERROR,
411
291
  message: String(error)
412
292
  });
413
293
  throw error;
@@ -429,8 +309,8 @@ async function signRequestDraft(request, privateKey, keyId, span, currentTime, b
429
309
  }
430
310
  if (!headers.has("Date")) headers.set("Date", currentTime == null ? (/* @__PURE__ */ new Date()).toUTCString() : new Date(currentTime.toString()).toUTCString());
431
311
  const serialized = [["(request-target)", `${request.method.toLowerCase()} ${url.pathname}`], ...headers];
432
- const headerNames = serialized.map(([name$1]) => name$1);
433
- const message = serialized.map(([name$1, value]) => `${name$1}: ${value.trim()}`).join("\n");
312
+ const headerNames = serialized.map(([name]) => name);
313
+ const message = serialized.map(([name, value]) => `${name}: ${value.trim()}`).join("\n");
434
314
  const signature = await crypto.subtle.sign("RSASSA-PKCS1-v1_5", privateKey, new TextEncoder().encode(message));
435
315
  const sigHeader = `keyId="${keyId.href}",algorithm="rsa-sha256",headers="${headerNames.join(" ")}",signature="${(0, byte_encodings_base64.encodeBase64)(signature)}"`;
436
316
  headers.set("Signature", sigHeader);
@@ -487,9 +367,7 @@ function createRfc9421SignatureBase(request, components, parameters) {
487
367
  * @returns The formatted signature string.
488
368
  */
489
369
  function formatRfc9421Signature(signature, components, parameters) {
490
- const signatureInputValue = `sig1=("${components.join("\" \"")}");${parameters}`;
491
- const signatureValue = `sig1=:${(0, byte_encodings_base64.encodeBase64)(signature)}:`;
492
- return [signatureInputValue, signatureValue];
370
+ return [`sig1=("${components.join("\" \"")}");${parameters}`, `sig1=:${(0, byte_encodings_base64.encodeBase64)(signature)}:`];
493
371
  }
494
372
  /**
495
373
  * Parse RFC 9421 Signature-Input header.
@@ -501,7 +379,7 @@ function parseRfc9421SignatureInput(signatureInput) {
501
379
  try {
502
380
  dict = (0, structured_field_values.decodeDict)(signatureInput);
503
381
  } catch (error) {
504
- (0, __logtape_logtape.getLogger)([
382
+ (0, _logtape_logtape.getLogger)([
505
383
  "fedify",
506
384
  "sig",
507
385
  "http"
@@ -536,7 +414,7 @@ function parseRfc9421Signature(signature) {
536
414
  try {
537
415
  dict = (0, structured_field_values.decodeDict)(signature);
538
416
  } catch (error) {
539
- (0, __logtape_logtape.getLogger)([
417
+ (0, _logtape_logtape.getLogger)([
540
418
  "fedify",
541
419
  "sig",
542
420
  "http"
@@ -619,13 +497,11 @@ const supportedHashAlgorithms = {
619
497
  * could not be verified.
620
498
  */
621
499
  async function verifyRequest(request, options = {}) {
622
- const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
623
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
624
- return await tracer.startActiveSpan("http_signatures.verify", async (span) => {
500
+ return await (options.tracerProvider ?? _opentelemetry_api.trace.getTracerProvider()).getTracer(name, version).startActiveSpan("http_signatures.verify", async (span) => {
625
501
  if (span.isRecording()) {
626
- span.setAttribute(__opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, request.method);
627
- span.setAttribute(__opentelemetry_semantic_conventions.ATTR_URL_FULL, request.url);
628
- for (const [name$1, value] of request.headers) span.setAttribute((0, __opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name$1), value);
502
+ span.setAttribute(_opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_METHOD, request.method);
503
+ span.setAttribute(_opentelemetry_semantic_conventions.ATTR_URL_FULL, request.url);
504
+ for (const [name, value] of request.headers) span.setAttribute((0, _opentelemetry_semantic_conventions.ATTR_HTTP_REQUEST_HEADER)(name), value);
629
505
  }
630
506
  try {
631
507
  let spec = options.spec;
@@ -633,11 +509,11 @@ async function verifyRequest(request, options = {}) {
633
509
  let key;
634
510
  if (spec === "rfc9421") key = await verifyRequestRfc9421(request, span, options);
635
511
  else key = await verifyRequestDraft(request, span, options);
636
- if (key == null) span.setStatus({ code: __opentelemetry_api.SpanStatusCode.ERROR });
512
+ if (key == null) span.setStatus({ code: _opentelemetry_api.SpanStatusCode.ERROR });
637
513
  return key;
638
514
  } catch (error) {
639
515
  span.setStatus({
640
- code: __opentelemetry_api.SpanStatusCode.ERROR,
516
+ code: _opentelemetry_api.SpanStatusCode.ERROR,
641
517
  message: String(error)
642
518
  });
643
519
  throw error;
@@ -647,7 +523,7 @@ async function verifyRequest(request, options = {}) {
647
523
  });
648
524
  }
649
525
  async function verifyRequestDraft(request, span, { documentLoader, contextLoader, timeWindow, currentTime, keyCache, tracerProvider } = {}) {
650
- const logger = (0, __logtape_logtape.getLogger)([
526
+ const logger = (0, _logtape_logtape.getLogger)([
651
527
  "fedify",
652
528
  "sig",
653
529
  "http"
@@ -792,7 +668,7 @@ async function verifyRequestDraft(request, span, { documentLoader, contextLoader
792
668
  const { keyId, headers, signature } = sigValues;
793
669
  span?.setAttribute("http_signatures.key_id", keyId);
794
670
  if ("algorithm" in sigValues) span?.setAttribute("http_signatures.algorithm", sigValues.algorithm);
795
- const { key, cached } = await fetchKey(new URL(keyId), __fedify_vocab.CryptographicKey, {
671
+ const { key, cached } = await fetchKey(new URL(keyId), _fedify_vocab.CryptographicKey, {
796
672
  documentLoader,
797
673
  contextLoader,
798
674
  keyCache,
@@ -808,11 +684,10 @@ async function verifyRequestDraft(request, span, { documentLoader, contextLoader
808
684
  logger.debug("Failed to verify; required headers missing in the Signature header: {headers}.", { headers });
809
685
  return null;
810
686
  }
811
- 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");
687
+ 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");
812
688
  const sig = (0, byte_encodings_base64.decodeBase64)(signature);
813
689
  span?.setAttribute("http_signatures.signature", (0, byte_encodings_hex.encodeHex)(sig));
814
- const verified = await crypto.subtle.verify("RSASSA-PKCS1-v1_5", key.publicKey, sig, new TextEncoder().encode(message));
815
- if (!verified) {
690
+ if (!await crypto.subtle.verify("RSASSA-PKCS1-v1_5", key.publicKey, sig, new TextEncoder().encode(message))) {
816
691
  if (cached) {
817
692
  logger.debug("Failed to verify with the cached key {keyId}; signature {signature} is invalid. Retrying with the freshly fetched key...", {
818
693
  keyId,
@@ -826,7 +701,7 @@ async function verifyRequestDraft(request, span, { documentLoader, contextLoader
826
701
  currentTime,
827
702
  keyCache: {
828
703
  get: () => Promise.resolve(void 0),
829
- set: async (keyId$1, key$1) => await keyCache?.set(keyId$1, key$1)
704
+ set: async (keyId, key) => await keyCache?.set(keyId, key)
830
705
  }
831
706
  });
832
707
  }
@@ -901,7 +776,7 @@ async function verifyRfc9421ContentDigest(digestHeader, body) {
901
776
  return false;
902
777
  }
903
778
  async function verifyRequestRfc9421(request, span, { documentLoader, contextLoader, timeWindow, currentTime, keyCache, tracerProvider } = {}) {
904
- const logger = (0, __logtape_logtape.getLogger)([
779
+ const logger = (0, _logtape_logtape.getLogger)([
905
780
  "fedify",
906
781
  "sig",
907
782
  "http"
@@ -976,16 +851,14 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
976
851
  logger.debug("Failed to verify; Content-Digest header required but not found.", { components: sigInput.components });
977
852
  continue;
978
853
  }
979
- const body = await request.arrayBuffer();
980
- const digestValid = await verifyRfc9421ContentDigest(contentDigestHeader, body);
981
- if (!digestValid) {
854
+ if (!await verifyRfc9421ContentDigest(contentDigestHeader, await request.arrayBuffer())) {
982
855
  logger.debug("Failed to verify; Content-Digest verification failed.", { contentDigest: contentDigestHeader });
983
856
  continue;
984
857
  }
985
858
  }
986
859
  span?.setAttribute("http_signatures.key_id", sigInput.keyId);
987
860
  span?.setAttribute("http_signatures.created", sigInput.created.toString());
988
- const { key, cached } = await fetchKey(new URL(sigInput.keyId), __fedify_vocab.CryptographicKey, {
861
+ const { key, cached } = await fetchKey(new URL(sigInput.keyId), _fedify_vocab.CryptographicKey, {
989
862
  documentLoader,
990
863
  contextLoader,
991
864
  keyCache,
@@ -1024,8 +897,7 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
1024
897
  const signatureBaseBytes = new TextEncoder().encode(signatureBase);
1025
898
  span?.setAttribute("http_signatures.signature", (0, byte_encodings_hex.encodeHex)(sigBytes));
1026
899
  try {
1027
- const verified = await crypto.subtle.verify(algorithm, key.publicKey, sigBytes.slice(), signatureBaseBytes);
1028
- if (verified) {
900
+ if (await crypto.subtle.verify(algorithm, key.publicKey, sigBytes.slice(), signatureBaseBytes)) {
1029
901
  validKey = key;
1030
902
  break;
1031
903
  } else if (cached) {
@@ -1037,7 +909,7 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
1037
909
  currentTime,
1038
910
  keyCache: {
1039
911
  get: () => Promise.resolve(void 0),
1040
- set: async (keyId, key$1) => await keyCache?.set(keyId, key$1)
912
+ set: async (keyId, key) => await keyCache?.set(keyId, key)
1041
913
  },
1042
914
  spec: "rfc9421"
1043
915
  });
@@ -1109,17 +981,16 @@ async function doubleKnockInternal(request, identity, options, redirected = 0, v
1109
981
  signal
1110
982
  });
1111
983
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
1112
- if (redirected >= DEFAULT_MAX_REDIRECTION) throw new __fedify_vocab_runtime.FetchError(request.url, `Too many redirections (${redirected + 1})`);
1113
- const location = response.headers.get("Location");
1114
- const redirectRequest = createRedirectRequest(request, location, body);
1115
- if (visited.has(redirectRequest.url)) throw new __fedify_vocab_runtime.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
984
+ if (redirected >= DEFAULT_MAX_REDIRECTION) throw new _fedify_vocab_runtime.FetchError(request.url, `Too many redirections (${redirected + 1})`);
985
+ const redirectRequest = createRedirectRequest(request, response.headers.get("Location"), body);
986
+ if (visited.has(redirectRequest.url)) throw new _fedify_vocab_runtime.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
1116
987
  return doubleKnockInternal(redirectRequest, identity, {
1117
988
  ...options,
1118
989
  body
1119
990
  }, redirected + 1, visited);
1120
991
  } else if (response.status === 400 || response.status === 401 || response.status > 401) {
1121
992
  const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
1122
- (0, __logtape_logtape.getLogger)([
993
+ (0, _logtape_logtape.getLogger)([
1123
994
  "fedify",
1124
995
  "sig",
1125
996
  "http"
@@ -1140,10 +1011,9 @@ async function doubleKnockInternal(request, identity, options, redirected = 0, v
1140
1011
  signal
1141
1012
  });
1142
1013
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
1143
- if (redirected >= DEFAULT_MAX_REDIRECTION) throw new __fedify_vocab_runtime.FetchError(request.url, `Too many redirections (${redirected + 1})`);
1144
- const location = response.headers.get("Location");
1145
- const redirectRequest = createRedirectRequest(request, location, body);
1146
- if (visited.has(redirectRequest.url)) throw new __fedify_vocab_runtime.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
1014
+ if (redirected >= DEFAULT_MAX_REDIRECTION) throw new _fedify_vocab_runtime.FetchError(request.url, `Too many redirections (${redirected + 1})`);
1015
+ const redirectRequest = createRedirectRequest(request, response.headers.get("Location"), body);
1016
+ if (visited.has(redirectRequest.url)) throw new _fedify_vocab_runtime.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
1147
1017
  return doubleKnockInternal(redirectRequest, identity, {
1148
1018
  ...options,
1149
1019
  body
@@ -1179,59 +1049,64 @@ function timingSafeEqual(a, b) {
1179
1049
  result |= lenA ^ lenB;
1180
1050
  return result === 0;
1181
1051
  }
1182
-
1183
1052
  //#endregion
1184
- Object.defineProperty(exports, 'deno_default', {
1185
- enumerable: true,
1186
- get: function () {
1187
- return deno_default;
1188
- }
1053
+ Object.defineProperty(exports, "doubleKnock", {
1054
+ enumerable: true,
1055
+ get: function() {
1056
+ return doubleKnock;
1057
+ }
1058
+ });
1059
+ Object.defineProperty(exports, "exportJwk", {
1060
+ enumerable: true,
1061
+ get: function() {
1062
+ return exportJwk;
1063
+ }
1064
+ });
1065
+ Object.defineProperty(exports, "fetchKey", {
1066
+ enumerable: true,
1067
+ get: function() {
1068
+ return fetchKey;
1069
+ }
1189
1070
  });
1190
- Object.defineProperty(exports, 'doubleKnock', {
1191
- enumerable: true,
1192
- get: function () {
1193
- return doubleKnock;
1194
- }
1071
+ Object.defineProperty(exports, "generateCryptoKeyPair", {
1072
+ enumerable: true,
1073
+ get: function() {
1074
+ return generateCryptoKeyPair;
1075
+ }
1195
1076
  });
1196
- Object.defineProperty(exports, 'exportJwk', {
1197
- enumerable: true,
1198
- get: function () {
1199
- return exportJwk;
1200
- }
1077
+ Object.defineProperty(exports, "importJwk", {
1078
+ enumerable: true,
1079
+ get: function() {
1080
+ return importJwk;
1081
+ }
1201
1082
  });
1202
- Object.defineProperty(exports, 'fetchKey', {
1203
- enumerable: true,
1204
- get: function () {
1205
- return fetchKey;
1206
- }
1083
+ Object.defineProperty(exports, "name", {
1084
+ enumerable: true,
1085
+ get: function() {
1086
+ return name;
1087
+ }
1207
1088
  });
1208
- Object.defineProperty(exports, 'generateCryptoKeyPair', {
1209
- enumerable: true,
1210
- get: function () {
1211
- return generateCryptoKeyPair;
1212
- }
1089
+ Object.defineProperty(exports, "signRequest", {
1090
+ enumerable: true,
1091
+ get: function() {
1092
+ return signRequest;
1093
+ }
1213
1094
  });
1214
- Object.defineProperty(exports, 'importJwk', {
1215
- enumerable: true,
1216
- get: function () {
1217
- return importJwk;
1218
- }
1095
+ Object.defineProperty(exports, "validateCryptoKey", {
1096
+ enumerable: true,
1097
+ get: function() {
1098
+ return validateCryptoKey;
1099
+ }
1219
1100
  });
1220
- Object.defineProperty(exports, 'signRequest', {
1221
- enumerable: true,
1222
- get: function () {
1223
- return signRequest;
1224
- }
1101
+ Object.defineProperty(exports, "verifyRequest", {
1102
+ enumerable: true,
1103
+ get: function() {
1104
+ return verifyRequest;
1105
+ }
1225
1106
  });
1226
- Object.defineProperty(exports, 'validateCryptoKey', {
1227
- enumerable: true,
1228
- get: function () {
1229
- return validateCryptoKey;
1230
- }
1107
+ Object.defineProperty(exports, "version", {
1108
+ enumerable: true,
1109
+ get: function() {
1110
+ return version;
1111
+ }
1231
1112
  });
1232
- Object.defineProperty(exports, 'verifyRequest', {
1233
- enumerable: true,
1234
- get: function () {
1235
- return verifyRequest;
1236
- }
1237
- });