@fedify/fedify 2.0.8 → 2.0.10

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-opzCVeXZ.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-CrjRl2cm.mjs +8 -0
  23. package/dist/{docloader-CBHh0rC5.js → docloader-35wi0JO1.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-BGjkvEDc.js} +25 -156
  59. package/dist/{http-Cz3MlXAZ.d.cts → http-C_tEAiZj.d.cts} +1 -6
  60. package/dist/{http-DGs_78tx.cjs → http-DLnqzOtY.cjs} +110 -235
  61. package/dist/{http-Br3-1dRf.js → http-VQAKycaZ.mjs} +17 -33
  62. package/dist/{inbox-3bZUqDLE.js → inbox-B6DfJ3h9.mjs} +18 -26
  63. package/dist/{key-D7Y_J9kt.js → key-C9oV7wk8.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-9PANi4tA.cjs → kv-cache-BAEaVRvi.cjs} +27 -34
  70. package/dist/{kv-cache-El7We5sy.js → kv-cache-OWmRLHir.mjs} +4 -8
  71. package/dist/{kv-cache-CMM5VJsc.js → kv-cache-QxhhotWv.js} +6 -13
  72. package/dist/{ld-Bjq9Z4St.js → ld-BfEccFSP.mjs} +17 -31
  73. package/dist/{middleware-Bj30TZll.js → middleware-Bc4sY_YW.js} +320 -363
  74. package/dist/middleware-CGkdTPmX.mjs +5 -0
  75. package/dist/{middleware-CQeA5yF7.cjs → middleware-Dj7uT9F8.cjs} +513 -564
  76. package/dist/middleware-DuFvBMT2.cjs +4 -0
  77. package/dist/{middleware-DozhKfB6.js → middleware-ReZIkikn.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-CImU2dKz.js → owner-CRLqJlP_.mjs} +11 -16
  107. package/dist/{owner-1AbPBOOZ.d.cts → owner-CptqhsOy.d.cts} +1 -1
  108. package/dist/{proof-DLL0MLmV.js → proof-9SGtq4tE.mjs} +21 -33
  109. package/dist/{proof-UhA5do8k.cjs → proof-B4SaJCmK.cjs} +133 -157
  110. package/dist/{proof-BygvN4r5.js → proof-DvQ28mUJ.js} +32 -58
  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-DN2ywoe8.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 +8 -8
  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
package/dist/otel/mod.js CHANGED
@@ -1,10 +1,7 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
1
+ import "@js-temporal/polyfill";
2
+ import "urlpattern-polyfill";
5
3
  import { getLogger } from "@logtape/logtape";
6
4
  import { ExportResultCode } from "@opentelemetry/core";
7
-
8
5
  //#region src/otel/exporter.ts
9
6
  /**
10
7
  * A SpanExporter that persists ActivityPub activity traces to a
@@ -89,8 +86,7 @@ var FedifySpanExporter = class {
89
86
  const records = this.#extractRecords(span);
90
87
  for (const record of records) storeOperations.push(this.#storeRecord(record));
91
88
  }
92
- const results = await Promise.allSettled(storeOperations);
93
- const rejected = results.filter((r) => r.status === "rejected");
89
+ const rejected = (await Promise.allSettled(storeOperations)).filter((r) => r.status === "rejected");
94
90
  if (rejected.length > 0) throw new AggregateError(rejected.map((r) => r.reason), "Failed to store one or more trace activity records.");
95
91
  }
96
92
  #extractRecords(span) {
@@ -189,12 +185,11 @@ var FedifySpanExporter = class {
189
185
  }
190
186
  async #setWithCasRetry(key, transform, options) {
191
187
  if (this.#kv.cas != null) for (let attempt = 0; attempt < 3; attempt++) {
192
- const existing$1 = await this.#kv.get(key);
193
- const newValue$1 = transform(existing$1);
194
- if (await this.#kv.cas(key, existing$1, newValue$1, options)) return;
188
+ const existing = await this.#kv.get(key);
189
+ const newValue = transform(existing);
190
+ if (await this.#kv.cas(key, existing, newValue, options)) return;
195
191
  }
196
- const existing = await this.#kv.get(key);
197
- const newValue = transform(existing);
192
+ const newValue = transform(await this.#kv.get(key));
198
193
  await this.#kv.set(key, newValue, options);
199
194
  }
200
195
  async #updateTraceSummary(record, options) {
@@ -250,6 +245,5 @@ var FedifySpanExporter = class {
250
245
  */
251
246
  async shutdown() {}
252
247
  };
253
-
254
248
  //#endregion
255
- export { FedifySpanExporter };
249
+ export { FedifySpanExporter };
@@ -65,4 +65,4 @@ interface GetKeyOwnerOptions {
65
65
  */
66
66
  declare function getKeyOwner(keyId: URL | CryptographicKey, options: GetKeyOwnerOptions): Promise<Actor | null>;
67
67
  //#endregion
68
- export { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner };
68
+ export { getKeyOwner as i, GetKeyOwnerOptions as n, doesActorOwnKey as r, DoesActorOwnKeyOptions as t };
@@ -1,13 +1,11 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { deno_default } from "./deno-4w047OFk.js";
1
+ import "@js-temporal/polyfill";
2
+ import "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
4
+ import { n as version, t as name } from "./deno-CrjRl2cm.mjs";
5
+ import "./key-C9oV7wk8.mjs";
7
6
  import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
8
- import { getDocumentLoader } from "@fedify/vocab-runtime";
9
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
10
-
8
+ import { getDocumentLoader } from "@fedify/vocab-runtime";
11
9
  //#region src/sig/owner.ts
12
10
  /**
13
11
  * Checks if the actor of the given activity owns the specified key.
@@ -17,9 +15,7 @@ import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
17
15
  * @returns Whether the actor is the owner of the key.
18
16
  */
19
17
  async function doesActorOwnKey(activity, key, options) {
20
- const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
21
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
22
- return await tracer.startActiveSpan("activitypub.verify_key_ownership", {
18
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer(name, version).startActiveSpan("activitypub.verify_key_ownership", {
23
19
  kind: SpanKind.INTERNAL,
24
20
  attributes: {
25
21
  "activitypub.actor.id": activity.actorId?.href ?? "",
@@ -100,9 +96,9 @@ async function getKeyOwner(keyId, options) {
100
96
  contextLoader,
101
97
  tracerProvider
102
98
  });
103
- } catch (e$1) {
104
- if (e$1 instanceof TypeError) return null;
105
- throw e$1;
99
+ } catch (e) {
100
+ if (e instanceof TypeError) return null;
101
+ throw e;
106
102
  }
107
103
  }
108
104
  }
@@ -120,6 +116,5 @@ async function getKeyOwner(keyId, options) {
120
116
  for (const kid of owner.publicKeyIds) if (kid.href === keyId.href) return owner;
121
117
  return null;
122
118
  }
123
-
124
119
  //#endregion
125
- export { doesActorOwnKey, getKeyOwner };
120
+ export { getKeyOwner as n, doesActorOwnKey as t };
@@ -63,4 +63,4 @@ interface GetKeyOwnerOptions {
63
63
  */
64
64
  declare function getKeyOwner(keyId: URL | CryptographicKey, options: GetKeyOwnerOptions): Promise<Actor | null>;
65
65
  //#endregion
66
- export { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner };
66
+ export { getKeyOwner as i, GetKeyOwnerOptions as n, doesActorOwnKey as r, DoesActorOwnKeyOptions as t };
@@ -1,16 +1,13 @@
1
-
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
- globalThis.addEventListener = () => {};
5
-
6
- import { deno_default } from "./deno-4w047OFk.js";
7
- import { fetchKey, validateCryptoKey } from "./key-D7Y_J9kt.js";
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
4
+ import { n as version, t as name } from "./deno-CrjRl2cm.mjs";
5
+ import { a as validateCryptoKey, n as fetchKey } from "./key-C9oV7wk8.mjs";
8
6
  import { Activity, DataIntegrityProof, Multikey, getTypeId } from "@fedify/vocab";
9
- import { getLogger } from "@logtape/logtape";
10
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
+ import { getLogger } from "@logtape/logtape";
11
9
  import { encodeHex } from "byte-encodings/hex";
12
10
  import serialize from "json-canon";
13
-
14
11
  //#region src/sig/proof.ts
15
12
  const logger = getLogger([
16
13
  "fedify",
@@ -27,29 +24,27 @@ const logger = getLogger([
27
24
  * @throws {TypeError} If the private key is invalid or unsupported.
28
25
  * @since 0.10.0
29
26
  */
30
- async function createProof(object, privateKey, keyId, { contextLoader, context: context$1, created } = {}) {
27
+ async function createProof(object, privateKey, keyId, { contextLoader, context, created } = {}) {
31
28
  validateCryptoKey(privateKey, "private");
32
29
  if (privateKey.algorithm.name !== "Ed25519") throw new TypeError("Unsupported algorithm: " + privateKey.algorithm.name);
33
- const objectWithoutProofs = object.clone({ proofs: [] });
34
- const compactMsg = await objectWithoutProofs.toJsonLd({
30
+ const compactMsg = await object.clone({ proofs: [] }).toJsonLd({
35
31
  format: "compact",
36
32
  contextLoader,
37
- context: context$1
33
+ context
38
34
  });
39
35
  const msgCanon = serialize(compactMsg);
40
36
  const encoder = new TextEncoder();
41
37
  const msgBytes = encoder.encode(msgCanon);
42
38
  const msgDigest = await crypto.subtle.digest("SHA-256", msgBytes);
43
39
  created ??= Temporal.Now.instant();
44
- const proofConfig = {
40
+ const proofCanon = serialize({
45
41
  "@context": compactMsg["@context"],
46
42
  type: "DataIntegrityProof",
47
43
  cryptosuite: "eddsa-jcs-2022",
48
44
  verificationMethod: keyId.href,
49
45
  proofPurpose: "assertionMethod",
50
46
  created: created.toString()
51
- };
52
- const proofCanon = serialize(proofConfig);
47
+ });
53
48
  const proofBytes = encoder.encode(proofCanon);
54
49
  const proofDigest = await crypto.subtle.digest("SHA-256", proofBytes);
55
50
  const digest = new Uint8Array(proofDigest.byteLength + msgDigest.byteLength);
@@ -75,13 +70,11 @@ async function createProof(object, privateKey, keyId, { contextLoader, context:
75
70
  * @since 0.10.0
76
71
  */
77
72
  async function signObject(object, privateKey, keyId, options = {}) {
78
- const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
79
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
80
- return await tracer.startActiveSpan("object_integrity_proofs.sign", { attributes: { "activitypub.object.type": getTypeId(object).href } }, async (span) => {
73
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer(name, version).startActiveSpan("object_integrity_proofs.sign", { attributes: { "activitypub.object.type": getTypeId(object).href } }, async (span) => {
81
74
  try {
82
75
  if (object.id != null) span.setAttribute("activitypub.object.id", object.id.href);
83
76
  const existingProofs = [];
84
- for await (const proof$1 of object.getProofs(options)) existingProofs.push(proof$1);
77
+ for await (const proof of object.getProofs(options)) existingProofs.push(proof);
85
78
  const proof = await createProof(object, privateKey, keyId, options);
86
79
  if (span.isRecording()) {
87
80
  if (proof.cryptosuite != null) span.setAttribute("object_integrity_proofs.cryptosuite", proof.cryptosuite);
@@ -111,9 +104,7 @@ async function signObject(object, privateKey, keyId, options = {}) {
111
104
  * @since 0.10.0
112
105
  */
113
106
  async function verifyProof(jsonLd, proof, options = {}) {
114
- const tracerProvider = options.tracerProvider ?? trace.getTracerProvider();
115
- const tracer = tracerProvider.getTracer(deno_default.name, deno_default.version);
116
- return await tracer.startActiveSpan("object_integrity_proofs.verify", async (span) => {
107
+ return await (options.tracerProvider ?? trace.getTracerProvider()).getTracer(name, version).startActiveSpan("object_integrity_proofs.verify", async (span) => {
117
108
  if (span.isRecording()) {
118
109
  if (proof.cryptosuite != null) span.setAttribute("object_integrity_proofs.cryptosuite", proof.cryptosuite);
119
110
  if (proof.verificationMethodId != null) span.setAttribute("object_integrity_proofs.key_id", proof.verificationMethodId.href);
@@ -137,15 +128,14 @@ async function verifyProof(jsonLd, proof, options = {}) {
137
128
  async function verifyProofInternal(jsonLd, proof, options) {
138
129
  if (typeof jsonLd !== "object" || proof.cryptosuite !== "eddsa-jcs-2022" || proof.verificationMethodId == null || proof.proofPurpose !== "assertionMethod" || proof.proofValue == null || proof.created == null) return null;
139
130
  const publicKeyPromise = fetchKey(proof.verificationMethodId, Multikey, options);
140
- const proofConfig = {
131
+ const proofCanon = serialize({
141
132
  "@context": jsonLd["@context"],
142
133
  type: "DataIntegrityProof",
143
134
  cryptosuite: proof.cryptosuite,
144
135
  verificationMethod: proof.verificationMethodId.href,
145
136
  proofPurpose: proof.proofPurpose,
146
137
  created: proof.created.toString()
147
- };
148
- const proofCanon = serialize(proofConfig);
138
+ });
149
139
  const encoder = new TextEncoder();
150
140
  const proofBytes = encoder.encode(proofCanon);
151
141
  const proofDigest = await crypto.subtle.digest("SHA-256", proofBytes);
@@ -196,8 +186,7 @@ async function verifyProofInternal(jsonLd, proof, options) {
196
186
  });
197
187
  return null;
198
188
  }
199
- const verified = await crypto.subtle.verify("Ed25519", publicKey.publicKey, proof.proofValue.slice(), digest);
200
- if (!verified) {
189
+ if (!await crypto.subtle.verify("Ed25519", publicKey.publicKey, proof.proofValue.slice(), digest)) {
201
190
  if (fetchedKey.cached) {
202
191
  logger.debug("Failed to verify the proof with the cached key {keyId}; retrying with the freshly fetched key...", {
203
192
  keyId: proof.verificationMethodId.href,
@@ -234,7 +223,7 @@ async function verifyProofInternal(jsonLd, proof, options) {
234
223
  * @since 0.10.0
235
224
  */
236
225
  async function verifyObject(cls, jsonLd, options = {}) {
237
- const logger$1 = getLogger([
226
+ const logger = getLogger([
238
227
  "fedify",
239
228
  "sig",
240
229
  "proof"
@@ -246,17 +235,16 @@ async function verifyObject(cls, jsonLd, options = {}) {
246
235
  const key = await verifyProof(jsonLd, proof, options);
247
236
  if (key === null) return null;
248
237
  if (key.controllerId == null) {
249
- logger$1.debug("Key {keyId} does not have a controller.", { keyId: key.id?.href });
238
+ logger.debug("Key {keyId} does not have a controller.", { keyId: key.id?.href });
250
239
  continue;
251
240
  }
252
241
  attributions.delete(key.controllerId.href);
253
242
  }
254
243
  if (attributions.size > 0) {
255
- logger$1.debug("Some attributions are not authenticated by the proofs: {attributions}.", { attributions: [...attributions] });
244
+ logger.debug("Some attributions are not authenticated by the proofs: {attributions}.", { attributions: [...attributions] });
256
245
  return null;
257
246
  }
258
247
  return object;
259
248
  }
260
-
261
249
  //#endregion
262
- export { createProof, signObject, verifyObject, verifyProof };
250
+ export { verifyProof as i, signObject as n, verifyObject as r, createProof as t };