@fedify/fedify 2.4.0-dev.2077 → 2.4.0-dev.2084

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 (68) hide show
  1. package/dist/{builder-i3jxVe9m.mjs → builder-BGlpUocK.mjs} +2 -2
  2. package/dist/compat/transformers.test.mjs +1 -1
  3. package/dist/{compound-proof-Cayy-ECj.mjs → compound-proof-B6Aj2kGY.mjs} +1 -1
  4. package/dist/{deno-Djkzd-G_.mjs → deno-Dn-py9Zy.mjs} +1 -1
  5. package/dist/{docloader-dA0RswUV.mjs → docloader-BUq5bYJr.mjs} +2 -2
  6. package/dist/federation/builder.test.mjs +1 -1
  7. package/dist/federation/compound-fanout.test.mjs +3 -3
  8. package/dist/federation/handler-compound-proof.test.mjs +3 -3
  9. package/dist/federation/handler.test.mjs +5 -5
  10. package/dist/federation/hashlink-media.test.mjs +2 -2
  11. package/dist/federation/idempotency.test.mjs +2 -2
  12. package/dist/federation/metrics.test.mjs +1 -1
  13. package/dist/federation/middleware.test.mjs +7 -7
  14. package/dist/federation/mod.cjs +1 -1
  15. package/dist/federation/mod.js +1 -1
  16. package/dist/federation/outgoing-proof.test.mjs +5 -5
  17. package/dist/federation/portable-gateway-keys.test.mjs +3 -3
  18. package/dist/federation/portable-inbox.test.mjs +401 -6
  19. package/dist/federation/portable.test.mjs +3 -3
  20. package/dist/federation/send.test.mjs +3 -3
  21. package/dist/federation/tasks/enqueue.test.mjs +1 -1
  22. package/dist/federation/tasks/tasks.test.mjs +2 -2
  23. package/dist/federation/temporal.test.mjs +1 -1
  24. package/dist/federation/webfinger.test.mjs +1 -1
  25. package/dist/{federation-CFd0Jhhv.cjs → federation-BLGx8JUH.cjs} +115 -12
  26. package/dist/{http-aqh3yFdM.js → http-4PCCvhsU.js} +1 -1
  27. package/dist/{http-CCJ97Jql.mjs → http-B0VRNipE.mjs} +4 -4
  28. package/dist/{http-Dvy_IwRa.cjs → http-B5q1CHtL.cjs} +1 -1
  29. package/dist/{key-IxTTC8Yf.mjs → key-BJrp524f.mjs} +2 -2
  30. package/dist/{kv-cache-Y6SDRSX6.js → kv-cache-1KUmAPH7.js} +1 -1
  31. package/dist/{kv-cache-Bwwbh-xR.mjs → kv-cache-C4C3LyYW.mjs} +1 -1
  32. package/dist/{kv-cache-BP69NV0P.cjs → kv-cache-Dhhhrryv.cjs} +1 -1
  33. package/dist/{ld-l0B9nREb.mjs → ld-BmFz5NLA.mjs} +3 -3
  34. package/dist/{metrics-D1p6hv4z.mjs → metrics-Beod6tzO.mjs} +1 -1
  35. package/dist/{middleware-BDjCUHMS.mjs → middleware-B7CNsyqt.mjs} +1 -1
  36. package/dist/{middleware-BMgzqBtr.mjs → middleware-BKeQYPm0.mjs} +125 -22
  37. package/dist/{middleware-SSfryVzY.js → middleware-D_9pNYe9.js} +115 -12
  38. package/dist/mod.cjs +5 -5
  39. package/dist/mod.js +5 -5
  40. package/dist/nodeinfo/handler.test.mjs +1 -1
  41. package/dist/{owner-BpOxL5PG.cjs → owner-BQFZtFV4.cjs} +1 -1
  42. package/dist/{owner-DGbYmXqU.mjs → owner-CsKVgMzk.mjs} +3 -3
  43. package/dist/{owner-jH1z_YfD.js → owner-_pbbgLJK.js} +1 -1
  44. package/dist/{portable-key-CCwJGSsU.mjs → portable-key-B4R-CiIV.mjs} +2 -2
  45. package/dist/{proof-CVL7JnZd.mjs → proof-ozG4HfcQ.mjs} +4 -4
  46. package/dist/{send-Ejy1jOz9.mjs → send-ClPt8nYu.mjs} +3 -3
  47. package/dist/sig/compound-proof-discovery.test.mjs +1 -1
  48. package/dist/sig/compound-proof-producer.test.mjs +1 -1
  49. package/dist/sig/compound-proof-verification.test.mjs +2 -2
  50. package/dist/sig/compound-proof.test.mjs +2 -2
  51. package/dist/sig/http.test.mjs +2 -2
  52. package/dist/sig/key.test.mjs +1 -1
  53. package/dist/sig/ld.test.mjs +2 -2
  54. package/dist/sig/mod.cjs +3 -3
  55. package/dist/sig/mod.js +3 -3
  56. package/dist/sig/owner.test.mjs +1 -1
  57. package/dist/sig/portable-collection.test.mjs +2 -2
  58. package/dist/sig/portable-key.test.mjs +3 -3
  59. package/dist/sig/proof.test.mjs +3 -3
  60. package/dist/{sig-Dpy1B1Ad.js → sig-DhdomAN0.js} +2 -2
  61. package/dist/{sig-xoqy3ATq.cjs → sig-k3C8sF7g.cjs} +2 -2
  62. package/dist/{temporal-DNJ1cNpr.mjs → temporal-Ba0EAZAI.mjs} +1 -1
  63. package/dist/testing/kv.test.mjs +1 -1
  64. package/dist/utils/docloader.test.mjs +2 -2
  65. package/dist/utils/kv-cache.test.mjs +1 -1
  66. package/dist/utils/mod.cjs +1 -1
  67. package/dist/utils/mod.js +1 -1
  68. package/package.json +6 -6
@@ -2,10 +2,10 @@ import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { t as __exportAll } from "./rolldown-runtime-BC-Eo5Mj.js";
4
4
  import { r as getDefaultActivityTransformers } from "./transformers-DAtXl_Kc.js";
5
- import { $ as recordCollectionPageItems, C as hasSignature, D as signJsonLd, E as isInvalidUrlTypeError, H as hasPortableActor, J as getRemoteHost, K as getDurationMs, L as importJwk, M as exportJwk, O as verifyCompactJsonLd, Q as recordCollectionDispatchDuration, R as validateCryptoKey, S as getNormalizationContextLoader, T as isClearlyMalformedContextReference, U as isCompatibleKeyId, V as getGatewayKeyBase, W as isPortableUri, X as isAbortError, Y as instrumentDocumentLoader, Z as recordCircuitBreakerStateChange, _ as assertSafeJsonLd, a as verifyRequestDetailed, at as recordOutboxActivity, c as hasProofLike, ct as registerQueueDepthGauge, d as verifyObject, et as recordCollectionRequest, f as verifyPortableObjectProof, g as InvalidContextReferenceError, ht as version, i as verifyRequest, it as recordInboxActivity, j as wrapContextLoaderForJsonLd, l as signObject, lt as normalizeOutgoingActivityJsonLd, mt as name, n as parseRfc9421SignatureInput, ot as recordOutboxEnqueue, p as verifyPortableObjectProofPolicy, q as getFederationMetrics, rt as recordFanoutRecipients, st as recordWebFingerHandle, t as doubleKnock, tt as recordCollectionTotalItems, u as verifyMapLocalProof, ut as formatAcceptSignature, w as hasSignatureLike, x as detachSignature, y as compactJsonLd } from "./http-aqh3yFdM.js";
5
+ import { $ as recordCollectionPageItems, B as getCanonicalPortableId, C as hasSignature, D as signJsonLd, E as isInvalidUrlTypeError, H as hasPortableActor, J as getRemoteHost, K as getDurationMs, L as importJwk, M as exportJwk, O as verifyCompactJsonLd, Q as recordCollectionDispatchDuration, R as validateCryptoKey, S as getNormalizationContextLoader, T as isClearlyMalformedContextReference, U as isCompatibleKeyId, V as getGatewayKeyBase, W as isPortableUri, X as isAbortError, Y as instrumentDocumentLoader, Z as recordCircuitBreakerStateChange, _ as assertSafeJsonLd, a as verifyRequestDetailed, at as recordOutboxActivity, c as hasProofLike, ct as registerQueueDepthGauge, d as verifyObject, et as recordCollectionRequest, f as verifyPortableObjectProof, g as InvalidContextReferenceError, ht as version, i as verifyRequest, it as recordInboxActivity, j as wrapContextLoaderForJsonLd, l as signObject, lt as normalizeOutgoingActivityJsonLd, mt as name, n as parseRfc9421SignatureInput, ot as recordOutboxEnqueue, p as verifyPortableObjectProofPolicy, q as getFederationMetrics, rt as recordFanoutRecipients, st as recordWebFingerHandle, t as doubleKnock, tt as recordCollectionTotalItems, u as verifyMapLocalProof, ut as formatAcceptSignature, w as hasSignatureLike, x as detachSignature, y as compactJsonLd } from "./http-4PCCvhsU.js";
6
6
  import { a as MAX_BODY_SIZE, i as BodyTooLargeError, n as getNodeInfo, o as readBoundedText, t as nodeInfoToJson } from "./types-C_cNlNVK.js";
7
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-jH1z_YfD.js";
8
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-Y6SDRSX6.js";
7
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-_pbbgLJK.js";
8
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-1KUmAPH7.js";
9
9
  import { getLogger, withContext } from "@logtape/logtape";
10
10
  import { Router, RouterError, assertPath } from "@fedify/uri-template";
11
11
  import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, Tombstone, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
@@ -4965,6 +4965,7 @@ function resolvePortableInboxRecipient(actor, { authority, canonicalInboxId, loc
4965
4965
  return {
4966
4966
  status: "accepted",
4967
4967
  recipient: {
4968
+ actorId: id,
4968
4969
  inboxId,
4969
4970
  canonicalInboxId,
4970
4971
  gateways
@@ -4998,8 +4999,11 @@ function canonicalize(iri) {
4998
4999
  * Forwarding is therefore best effort. Without {@link KvStore.cas}, nothing is
4999
5000
  * forwarded.
5000
5001
  *
5001
- * Forwarded requests are not signed with HTTP Signatures; the receiving
5002
- * gateways authenticate the activity by its own proof.
5002
+ * Forwarded requests are signed with HTTP Signatures by the RSA key among
5003
+ * {@link ForwardPortableInboxActivityParameters.getKeys}, if any, so that
5004
+ * servers requiring HTTP Signatures accept them, and are sent unsigned
5005
+ * otherwise. Either way, the receiving gateways authenticate the activity by
5006
+ * its own proof.
5003
5007
  * @param parameters The parameters.
5004
5008
  * @returns The target inbox URLs that the activity was handed off to.
5005
5009
  */
@@ -5071,20 +5075,59 @@ function getForwardingTargets(recipient, excludedOrigins) {
5071
5075
  }
5072
5076
  return targets;
5073
5077
  }
5074
- async function forwardImmediately({ activity, activityId, activityType, allowPrivateAddress, options, meterProvider, tracerProvider }, inboxes) {
5078
+ /**
5079
+ * Resolves the key that signs forwarded requests: the first RSASSA-PKCS1-v1_5
5080
+ * key, as {@link sendActivity} signs requests only with such a key. Since
5081
+ * the targets have already been claimed, the activity is forwarded unsigned
5082
+ * rather than not at all if the key cannot be resolved or used.
5083
+ */
5084
+ async function resolveForwardingKey({ getKeys, activityId }) {
5085
+ if (getKeys == null) return null;
5086
+ const logger = getLogger([
5087
+ "fedify",
5088
+ "federation",
5089
+ "inbox"
5090
+ ]);
5091
+ let key;
5092
+ try {
5093
+ key = (await getKeys()).find((k) => k.privateKey.algorithm.name === "RSASSA-PKCS1-v1_5");
5094
+ } catch (error) {
5095
+ logger.error("Failed to get the gateway keys to sign forwarded requests with; forwarding activity {activityId} without HTTP Signatures:\n{error}", {
5096
+ activityId: activityId.href,
5097
+ error
5098
+ });
5099
+ return null;
5100
+ }
5101
+ if (key == null) return null;
5102
+ try {
5103
+ validateCryptoKey(key.privateKey, "private");
5104
+ } catch (error) {
5105
+ if (!(error instanceof TypeError)) throw error;
5106
+ logger.warn("The gateway key {keyId} cannot sign forwarded requests; forwarding activity {activityId} without HTTP Signatures:\n{error}", {
5107
+ keyId: key.keyId.href,
5108
+ activityId: activityId.href,
5109
+ error
5110
+ });
5111
+ return null;
5112
+ }
5113
+ return key;
5114
+ }
5115
+ async function forwardImmediately(parameters, inboxes) {
5116
+ const { activity, activityId, activityType, allowPrivateAddress, specDeterminer, options, meterProvider, tracerProvider } = parameters;
5075
5117
  const logger = getLogger([
5076
5118
  "fedify",
5077
5119
  "federation",
5078
5120
  "inbox"
5079
5121
  ]);
5080
5122
  const deadline = (options ?? resolvePortableInboxForwardingOptions()).deadline.total("millisecond");
5081
- const sends = inboxes.map((inbox) => sendActivity({
5123
+ const forwarding = resolveForwardingKey(parameters).then((key) => Promise.all(inboxes.map((inbox) => sendActivity({
5082
5124
  activity,
5083
5125
  activityId: activityId.href,
5084
5126
  activityType,
5085
- keys: [],
5127
+ keys: key == null ? [] : [key],
5086
5128
  inbox,
5087
5129
  allowPrivateAddress,
5130
+ specDeterminer,
5088
5131
  meterProvider,
5089
5132
  tracerProvider
5090
5133
  }).catch((error) => {
@@ -5093,9 +5136,9 @@ async function forwardImmediately({ activity, activityId, activityType, allowPri
5093
5136
  inbox: inbox.href,
5094
5137
  error
5095
5138
  });
5096
- }));
5139
+ }))));
5097
5140
  let timer;
5098
- const timedOut = await Promise.race([Promise.all(sends).then(() => false), new Promise((resolve) => {
5141
+ const timedOut = await Promise.race([forwarding.then(() => false), new Promise((resolve) => {
5099
5142
  timer = setTimeout(() => resolve(true), deadline);
5100
5143
  })]);
5101
5144
  clearTimeout(timer);
@@ -5104,12 +5147,27 @@ async function forwardImmediately({ activity, activityId, activityType, allowPri
5104
5147
  deadline
5105
5148
  });
5106
5149
  }
5107
- async function enqueueForwarding({ activity, activityId, activityType, baseUrl, startQueue, meterProvider }, outboxQueue, inboxes) {
5150
+ async function enqueueForwarding(parameters, outboxQueue, inboxes) {
5151
+ const { activity, activityId, activityType, baseUrl, startQueue, meterProvider } = parameters;
5108
5152
  const logger = getLogger([
5109
5153
  "fedify",
5110
5154
  "federation",
5111
5155
  "inbox"
5112
5156
  ]);
5157
+ const key = await resolveForwardingKey(parameters);
5158
+ const keys = [];
5159
+ if (key != null) try {
5160
+ keys.push({
5161
+ keyId: key.keyId.href,
5162
+ privateKey: await exportJwk(key.privateKey)
5163
+ });
5164
+ } catch (error) {
5165
+ logger.error("Failed to export the gateway key {keyId}; forwarding activity {activityId} without HTTP Signatures:\n{error}", {
5166
+ keyId: key.keyId.href,
5167
+ activityId: activityId.href,
5168
+ error
5169
+ });
5170
+ }
5113
5171
  startQueue?.();
5114
5172
  const started = (/* @__PURE__ */ new Date()).toISOString();
5115
5173
  const traceContext = {};
@@ -5119,7 +5177,7 @@ async function enqueueForwarding({ activity, activityId, activityType, baseUrl,
5119
5177
  type: "outbox",
5120
5178
  id: crypto.randomUUID(),
5121
5179
  baseUrl,
5122
- keys: [],
5180
+ keys,
5123
5181
  activity,
5124
5182
  activityId: activityId.href,
5125
5183
  activityType,
@@ -7799,6 +7857,8 @@ var FederationImpl = class extends FederationBuilderImpl {
7799
7857
  outboxQueue: this.outboxQueue,
7800
7858
  startQueue: this.manuallyStartQueue ? void 0 : () => this._startQueueInternal(contextData),
7801
7859
  allowPrivateAddress: this.allowPrivateAddress,
7860
+ getKeys: () => this.#getPortableGatewayKeyPairs(context, identifier, recipient),
7861
+ specDeterminer: new KvSpecDeterminer(this.kv, this.kvPrefixes.httpMessageSignaturesSpec, this.firstKnock, { specTtl: this.httpMessageSignaturesSpecTtl }),
7802
7862
  options: this.portableInboxForwarding,
7803
7863
  meterProvider: this.meterProvider,
7804
7864
  tracerProvider: this.tracerProvider
@@ -7807,6 +7867,49 @@ var FederationImpl = class extends FederationBuilderImpl {
7807
7867
  }
7808
7868
  });
7809
7869
  }
7870
+ /**
7871
+ * Gets this server's gateway key pairs for the portable actor that owns
7872
+ * a portable inbox, which sign the activities forwarded from the inbox.
7873
+ * @param context The context.
7874
+ * @param identifier The identifier of the portable actor.
7875
+ * @param recipient The portable inbox.
7876
+ * @returns The key pairs, or an empty array if the actor has no gateway
7877
+ * keys on this server.
7878
+ */
7879
+ async #getPortableGatewayKeyPairs(context, identifier, recipient) {
7880
+ const logger = getLogger([
7881
+ "fedify",
7882
+ "federation",
7883
+ "inbox"
7884
+ ]);
7885
+ if (this.actorCallbacks?.keyPairsDispatcher == null || this.actorCallbacks.portableActorIdMapper == null) {
7886
+ logger.debug("Forwarding activities from the portable inbox {inbox} without HTTP Signatures, as gateway keys need both a key pairs dispatcher and a portable actor ID mapper.", { inbox: recipient.canonicalInboxId });
7887
+ return [];
7888
+ }
7889
+ const actorId = getCanonicalPortableId(recipient.actorId);
7890
+ if (actorId == null) return [];
7891
+ const keyPairs = await context.getActorKeyPairs(identifier);
7892
+ for (const { cryptographicKey } of keyPairs) {
7893
+ const owner = cryptographicKey.ownerId;
7894
+ const canonicalOwner = owner == null ? null : getCanonicalPortableId(owner);
7895
+ if (canonicalOwner === actorId) continue;
7896
+ if (canonicalOwner == null) logger.debug("Forwarding activities from the portable inbox {inbox} without HTTP Signatures, as the key pairs of the actor {identifier} are not the gateway keys of a portable actor.", {
7897
+ inbox: recipient.canonicalInboxId,
7898
+ identifier
7899
+ });
7900
+ else logger.warn("Forwarding activities from the portable inbox {inbox} without HTTP Signatures, as the key pairs of the actor {identifier} are the gateway keys of {owner}, not of the recipient {actorId}.", {
7901
+ inbox: recipient.canonicalInboxId,
7902
+ identifier,
7903
+ owner: canonicalOwner,
7904
+ actorId
7905
+ });
7906
+ return [];
7907
+ }
7908
+ return keyPairs.map(({ keyId, privateKey }) => ({
7909
+ keyId,
7910
+ privateKey
7911
+ }));
7912
+ }
7810
7913
  async #fetchHashlinkMedia(request, media, { onNotFound, contextData, span, metricState }) {
7811
7914
  metricState.endpoint = "hashlink_media";
7812
7915
  metricState.routeTemplate = HASHLINK_MEDIA_ROUTE_TEMPLATE;
package/dist/mod.cjs CHANGED
@@ -3,14 +3,14 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("./rolldown-runtime-Dmm3t92W.cjs");
4
4
  const require_transformers = require("./transformers-BalCrSsr.cjs");
5
5
  require("./compat/mod.cjs");
6
- const require_http = require("./http-Dvy_IwRa.cjs");
7
- const require_federation = require("./federation-CFd0Jhhv.cjs");
6
+ const require_http = require("./http-B5q1CHtL.cjs");
7
+ const require_federation = require("./federation-BLGx8JUH.cjs");
8
8
  const require_types = require("./types-Be2zbyeG.cjs");
9
- const require_owner = require("./owner-BpOxL5PG.cjs");
10
- const require_kv_cache = require("./kv-cache-BP69NV0P.cjs");
9
+ const require_owner = require("./owner-BQFZtFV4.cjs");
10
+ const require_kv_cache = require("./kv-cache-Dhhhrryv.cjs");
11
11
  require("./nodeinfo/mod.cjs");
12
12
  require("./runtime/mod.cjs");
13
- const require_sig = require("./sig-xoqy3ATq.cjs");
13
+ const require_sig = require("./sig-k3C8sF7g.cjs");
14
14
  require("./utils/mod.cjs");
15
15
  //#endregion
16
16
  exports.CircuitBreaker = require_federation.CircuitBreaker;
package/dist/mod.js CHANGED
@@ -3,15 +3,15 @@ import { URLPattern } from "urlpattern-polyfill";
3
3
  import "./rolldown-runtime-BC-Eo5Mj.js";
4
4
  import { n as autoIdAssigner, r as getDefaultActivityTransformers, t as actorDehydrator } from "./transformers-DAtXl_Kc.js";
5
5
  import "./compat/mod.js";
6
- import { A as verifySignature, D as signJsonLd, F as fetchKeyDetailed, I as generateCryptoKeyPair, L as importJwk, M as exportJwk, P as fetchKey, a as verifyRequestDetailed, b as createSignature, c as hasProofLike, d as verifyObject, dt as fulfillAcceptSignature, f as verifyPortableObjectProof, ft as parseAcceptSignature, h as verifyProof, i as verifyRequest, k as verifyJsonLd, l as signObject, pt as validateAcceptSignature, r as signRequest, s as createProof, ut as formatAcceptSignature, v as attachSignature, w as hasSignatureLike, x as detachSignature } from "./http-aqh3yFdM.js";
7
- import { a as respondWithObject, c as digest, d as parseCircuitBreakerKvState, f as createFederationBuilder, i as SendActivityError, l as CircuitBreaker, n as handleWebFinger, o as respondWithObjectIfAcceptable, r as createExponentialBackoffPolicy, s as buildCollectionSynchronizationHeader, t as createFederation, u as normalizeCircuitBreakerOptions } from "./middleware-SSfryVzY.js";
6
+ import { A as verifySignature, D as signJsonLd, F as fetchKeyDetailed, I as generateCryptoKeyPair, L as importJwk, M as exportJwk, P as fetchKey, a as verifyRequestDetailed, b as createSignature, c as hasProofLike, d as verifyObject, dt as fulfillAcceptSignature, f as verifyPortableObjectProof, ft as parseAcceptSignature, h as verifyProof, i as verifyRequest, k as verifyJsonLd, l as signObject, pt as validateAcceptSignature, r as signRequest, s as createProof, ut as formatAcceptSignature, v as attachSignature, w as hasSignatureLike, x as detachSignature } from "./http-4PCCvhsU.js";
7
+ import { a as respondWithObject, c as digest, d as parseCircuitBreakerKvState, f as createFederationBuilder, i as SendActivityError, l as CircuitBreaker, n as handleWebFinger, o as respondWithObjectIfAcceptable, r as createExponentialBackoffPolicy, s as buildCollectionSynchronizationHeader, t as createFederation, u as normalizeCircuitBreakerOptions } from "./middleware-D_9pNYe9.js";
8
8
  import { n as getNodeInfo, r as parseNodeInfo, t as nodeInfoToJson } from "./types-C_cNlNVK.js";
9
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-jH1z_YfD.js";
10
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-Y6SDRSX6.js";
9
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-_pbbgLJK.js";
10
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-1KUmAPH7.js";
11
11
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue, Router, RouterError } from "./federation/mod.js";
12
12
  import "./nodeinfo/mod.js";
13
13
  import "./runtime/mod.js";
14
- import { t as verifyPortableObject } from "./sig-Dpy1B1Ad.js";
14
+ import { t as verifyPortableObject } from "./sig-DhdomAN0.js";
15
15
  import "./utils/mod.js";
16
16
  export * from "@fedify/vocab-runtime";
17
17
  //#endregion
@@ -5,7 +5,7 @@ import { r as createRequestContext } from "../context-DlZhxdFT.mjs";
5
5
  import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
7
7
  import "../std__assert-DvMDRPes.mjs";
8
- import { S as handleNodeInfoJrd, o as createFederation, x as handleNodeInfo } from "../middleware-BMgzqBtr.mjs";
8
+ import { S as handleNodeInfoJrd, o as createFederation, x as handleNodeInfo } from "../middleware-BKeQYPm0.mjs";
9
9
  import { test } from "@fedify/fixture";
10
10
  //#region src/nodeinfo/handler.test.ts
11
11
  test("handleNodeInfo()", async () => {
@@ -1,5 +1,5 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
- const require_http = require("./http-Dvy_IwRa.cjs");
2
+ const require_http = require("./http-B5q1CHtL.cjs");
3
3
  let _logtape_logtape = require("@logtape/logtape");
4
4
  let _fedify_vocab = require("@fedify/vocab");
5
5
  let _opentelemetry_api = require("@opentelemetry/api");
@@ -1,9 +1,9 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Djkzd-G_.mjs";
5
- import { c as verifyKeyOwnership, f as isCompatibleKeyId, h as isSamePublicKey$1, l as getCanonicalPortableId, n as fetchActorDocument, t as exportJwk } from "./key-IxTTC8Yf.mjs";
6
- import { t as fetchPortableGatewayKey } from "./portable-key-CCwJGSsU.mjs";
4
+ import { n as version, t as name } from "./deno-Dn-py9Zy.mjs";
5
+ import { c as verifyKeyOwnership, f as isCompatibleKeyId, h as isSamePublicKey$1, l as getCanonicalPortableId, n as fetchActorDocument, t as exportJwk } from "./key-BJrp524f.mjs";
6
+ import { t as fetchPortableGatewayKey } from "./portable-key-B4R-CiIV.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
9
9
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { B as getCanonicalPortableId, G as isSamePublicKey$1, M as exportJwk, N as fetchActorDocument, U as isCompatibleKeyId, ht as version, mt as name, o as fetchPortableGatewayKey, z as verifyKeyOwnership } from "./http-aqh3yFdM.js";
3
+ import { B as getCanonicalPortableId, G as isSamePublicKey$1, M as exportJwk, N as fetchActorDocument, U as isCompatibleKeyId, ht as version, mt as name, o as fetchPortableGatewayKey, z as verifyKeyOwnership } from "./http-4PCCvhsU.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
6
6
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { h as isSamePublicKey, l as getCanonicalPortableId, p as isPortableActorDocument } from "./key-IxTTC8Yf.mjs";
5
- import { c as verifyPortableObjectProofWithRoot } from "./proof-CVL7JnZd.mjs";
4
+ import { h as isSamePublicKey, l as getCanonicalPortableId, p as isPortableActorDocument } from "./key-BJrp524f.mjs";
5
+ import { c as verifyPortableObjectProofWithRoot } from "./proof-ozG4HfcQ.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { CryptographicKey, Multikey, Object as Object$1 } from "@fedify/vocab";
8
8
  import { getDocumentLoader, isGatewayUrl } from "@fedify/vocab-runtime";
@@ -1,12 +1,12 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Djkzd-G_.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-D1p6hv4z.mjs";
6
- import { r as fetchKey, s as validateCryptoKey } from "./key-IxTTC8Yf.mjs";
4
+ import { n as version, t as name } from "./deno-Dn-py9Zy.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-Beod6tzO.mjs";
6
+ import { r as fetchKey, s as validateCryptoKey } from "./key-BJrp524f.mjs";
7
7
  import { n as preloadedOnlyDocumentLoader } from "./public-audience--klBIOk1.mjs";
8
8
  import { r as normalizeOutgoingActivityJsonLd } from "./outgoing-jsonld-4IJqPYos.mjs";
9
- import { c as getNormalizationContextLoader } from "./ld-l0B9nREb.mjs";
9
+ import { c as getNormalizationContextLoader } from "./ld-BmFz5NLA.mjs";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { Activity, DataIntegrityProof, Multikey, getTypeId } from "@fedify/vocab";
12
12
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,9 +1,9 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Djkzd-G_.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics } from "./metrics-D1p6hv4z.mjs";
6
- import { n as doubleKnock } from "./http-CCJ97Jql.mjs";
4
+ import { n as version, t as name } from "./deno-Dn-py9Zy.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics } from "./metrics-Beod6tzO.mjs";
6
+ import { n as doubleKnock } from "./http-B0VRNipE.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
9
9
  import { FetchError, UrlError, validatePublicUrl } from "@fedify/vocab-runtime";
@@ -3,7 +3,7 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
5
5
  import "../std__assert-DvMDRPes.mjs";
6
- import { i as inspectCompoundPortableObjectApplicability, n as discoverCompoundProofDocuments } from "../compound-proof-Cayy-ECj.mjs";
6
+ import { i as inspectCompoundPortableObjectApplicability, n as discoverCompoundProofDocuments } from "../compound-proof-B6Aj2kGY.mjs";
7
7
  import { t as map_local_create_note_default } from "../map-local-create-note-B0SeXJms.mjs";
8
8
  import { test } from "@fedify/fixture";
9
9
  //#region src/sig/compound-proof-discovery.test.ts
@@ -3,7 +3,7 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
5
5
  import "../std__assert-DvMDRPes.mjs";
6
- import { i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "../compound-proof-Cayy-ECj.mjs";
6
+ import { i as inspectCompoundPortableObjectApplicability, r as findUnsupportedCompoundProofShape, t as containsCompoundPortableObject } from "../compound-proof-B6Aj2kGY.mjs";
7
7
  import { test } from "@fedify/fixture";
8
8
  //#region src/sig/compound-proof-producer.test.ts
9
9
  const portableId = "ap+ef61://did:key:z6MkAlice/objects/1";
@@ -4,8 +4,8 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
5
5
  import "../std__assert-DvMDRPes.mjs";
6
6
  import { t as assert } from "../assert-D1Eafmd_.mjs";
7
- import { i as verifyMapLocalProof, s as verifyPortableObjectProofPolicy } from "../proof-CVL7JnZd.mjs";
8
- import { a as verifyCompoundPortableObjectProofs, o as verifyCompoundProofDocuments } from "../compound-proof-Cayy-ECj.mjs";
7
+ import { i as verifyMapLocalProof, s as verifyPortableObjectProofPolicy } from "../proof-ozG4HfcQ.mjs";
8
+ import { a as verifyCompoundPortableObjectProofs, o as verifyCompoundProofDocuments } from "../compound-proof-B6Aj2kGY.mjs";
9
9
  import { t as map_local_create_note_default } from "../map-local-create-note-B0SeXJms.mjs";
10
10
  import { t as map_local_context_conflict_default } from "../map-local-context-conflict-DOYEEJ3u.mjs";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
@@ -6,9 +6,9 @@ import "../std__assert-DvMDRPes.mjs";
6
6
  import { t as assert } from "../assert-D1Eafmd_.mjs";
7
7
  import { n as preloadedOnlyDocumentLoader } from "../public-audience--klBIOk1.mjs";
8
8
  import { r as normalizeOutgoingActivityJsonLd } from "../outgoing-jsonld-4IJqPYos.mjs";
9
- import { l as verifyProof, r as signObject } from "../proof-CVL7JnZd.mjs";
9
+ import { l as verifyProof, r as signObject } from "../proof-ozG4HfcQ.mjs";
10
10
  import { n as ed25519PrivateKey, r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
11
- import { o as verifyCompoundProofDocuments } from "../compound-proof-Cayy-ECj.mjs";
11
+ import { o as verifyCompoundProofDocuments } from "../compound-proof-B6Aj2kGY.mjs";
12
12
  import { t as map_local_create_note_default } from "../map-local-create-note-B0SeXJms.mjs";
13
13
  import { t as map_local_context_conflict_default } from "../map-local-context-conflict-DOYEEJ3u.mjs";
14
14
  import { Create, DataIntegrityProof, Note, Question } from "@fedify/vocab";
@@ -11,8 +11,8 @@ import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
11
11
  import "../std__assert-DvMDRPes.mjs";
12
12
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
13
13
  import { t as assert } from "../assert-D1Eafmd_.mjs";
14
- import { t as exportJwk } from "../key-IxTTC8Yf.mjs";
15
- import { a as parseRfc9421Signature, c as timingSafeEqual, i as formatRfc9421SignatureParameters, l as verifyRequest, n as doubleKnock, o as parseRfc9421SignatureInput, r as formatRfc9421Signature, s as signRequest, t as createRfc9421SignatureBase, u as verifyRequestDetailed } from "../http-CCJ97Jql.mjs";
14
+ import { t as exportJwk } from "../key-BJrp524f.mjs";
15
+ import { a as parseRfc9421Signature, c as timingSafeEqual, i as formatRfc9421SignatureParameters, l as verifyRequest, n as doubleKnock, o as parseRfc9421SignatureInput, r as formatRfc9421Signature, s as signRequest, t as createRfc9421SignatureBase, u as verifyRequestDetailed } from "../http-B0VRNipE.mjs";
16
16
  import { i as rsaPrivateKey2, l as rsaPublicKey5, o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
17
17
  import { createTestMeterProvider, createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
18
18
  import { FetchError, exportSpki } from "@fedify/vocab-runtime";
@@ -6,7 +6,7 @@ import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
6
6
  import "../std__assert-DvMDRPes.mjs";
7
7
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
8
8
  import { t as assert } from "../assert-D1Eafmd_.mjs";
9
- import { a as generateCryptoKeyPair, i as fetchKeyDetailed, o as importJwk, r as fetchKey, s as validateCryptoKey, t as exportJwk } from "../key-IxTTC8Yf.mjs";
9
+ import { a as generateCryptoKeyPair, i as fetchKeyDetailed, o as importJwk, r as fetchKey, s as validateCryptoKey, t as exportJwk } from "../key-BJrp524f.mjs";
10
10
  import { c as rsaPublicKey3, i as rsaPrivateKey2, o as rsaPublicKey1, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
11
11
  import { CryptographicKey, Multikey } from "@fedify/vocab";
12
12
  import { createTestMeterProvider, createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
@@ -8,8 +8,8 @@ import { t as assertInstanceOf } from "../assert_instance_of-mrXWWNY-.mjs";
8
8
  import { t as assertThrows } from "../assert_throws-BYITOvPO.mjs";
9
9
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
10
10
  import { t as assert } from "../assert-D1Eafmd_.mjs";
11
- import { a as generateCryptoKeyPair } from "../key-IxTTC8Yf.mjs";
12
- import { a as compactJsonLd, f as isInvalidUrlTypeError, g as verifySignature, h as verifyJsonLd, i as attachSignature, n as UnsafeJsonLdError, o as createSignature, p as signJsonLd, s as detachSignature, u as hasSignatureLike } from "../ld-l0B9nREb.mjs";
11
+ import { a as generateCryptoKeyPair } from "../key-BJrp524f.mjs";
12
+ import { a as compactJsonLd, f as isInvalidUrlTypeError, g as verifySignature, h as verifyJsonLd, i as attachSignature, n as UnsafeJsonLdError, o as createSignature, p as signJsonLd, s as detachSignature, u as hasSignatureLike } from "../ld-BmFz5NLA.mjs";
13
13
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
14
14
  import { CryptographicKey } from "@fedify/vocab";
15
15
  import { createTestMeterProvider, mockDocumentLoader, test } from "@fedify/fixture";
package/dist/sig/mod.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_http = require("../http-Dvy_IwRa.cjs");
4
- const require_owner = require("../owner-BpOxL5PG.cjs");
5
- const require_sig = require("../sig-xoqy3ATq.cjs");
3
+ const require_http = require("../http-B5q1CHtL.cjs");
4
+ const require_owner = require("../owner-BQFZtFV4.cjs");
5
+ const require_sig = require("../sig-k3C8sF7g.cjs");
6
6
  exports.attachSignature = require_http.attachSignature;
7
7
  exports.createProof = require_http.createProof;
8
8
  exports.createSignature = require_http.createSignature;
package/dist/sig/mod.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { A as verifySignature, D as signJsonLd, F as fetchKeyDetailed, I as generateCryptoKeyPair, L as importJwk, M as exportJwk, P as fetchKey, a as verifyRequestDetailed, b as createSignature, c as hasProofLike, d as verifyObject, dt as fulfillAcceptSignature, f as verifyPortableObjectProof, ft as parseAcceptSignature, h as verifyProof, i as verifyRequest, k as verifyJsonLd, l as signObject, pt as validateAcceptSignature, r as signRequest, s as createProof, ut as formatAcceptSignature, v as attachSignature, w as hasSignatureLike, x as detachSignature } from "../http-aqh3yFdM.js";
4
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-jH1z_YfD.js";
5
- import { t as verifyPortableObject } from "../sig-Dpy1B1Ad.js";
3
+ import { A as verifySignature, D as signJsonLd, F as fetchKeyDetailed, I as generateCryptoKeyPair, L as importJwk, M as exportJwk, P as fetchKey, a as verifyRequestDetailed, b as createSignature, c as hasProofLike, d as verifyObject, dt as fulfillAcceptSignature, f as verifyPortableObjectProof, ft as parseAcceptSignature, h as verifyProof, i as verifyRequest, k as verifyJsonLd, l as signObject, pt as validateAcceptSignature, r as signRequest, s as createProof, ut as formatAcceptSignature, v as attachSignature, w as hasSignatureLike, x as detachSignature } from "../http-4PCCvhsU.js";
4
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-_pbbgLJK.js";
5
+ import { t as verifyPortableObject } from "../sig-DhdomAN0.js";
6
6
  export { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, exportJwk, fetchKey, fetchKeyDetailed, formatAcceptSignature, fulfillAcceptSignature, generateCryptoKeyPair, getKeyOwner, hasProofLike, hasSignatureLike, importJwk, parseAcceptSignature, signJsonLd, signObject, signRequest, validateAcceptSignature, verifyJsonLd, verifyObject, verifyPortableObject, verifyPortableObjectProof, verifyProof, verifyRequest, verifyRequestDetailed, verifySignature };
@@ -6,7 +6,7 @@ import { t as assertFalse } from "../assert_false-CPdRnc3E.mjs";
6
6
  import "../std__assert-DvMDRPes.mjs";
7
7
  import { t as assert } from "../assert-D1Eafmd_.mjs";
8
8
  import { o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
9
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-DGbYmXqU.mjs";
9
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-CsKVgMzk.mjs";
10
10
  import { Create, CryptographicKey, lookupObject } from "@fedify/vocab";
11
11
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
12
12
  //#region src/sig/owner.test.ts
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "../deno-Djkzd-G_.mjs";
5
- import { c as verifyPortableObjectProofWithRoot, o as verifyPortableObjectProof } from "../proof-CVL7JnZd.mjs";
4
+ import { n as version, t as name } from "../deno-Dn-py9Zy.mjs";
5
+ import { c as verifyPortableObjectProofWithRoot, o as verifyPortableObjectProof } from "../proof-ozG4HfcQ.mjs";
6
6
  import { n as ed25519PrivateKey, r as ed25519PublicKey } from "../keys-DIJNHW-Y.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { Collection, CollectionPage, Note, Object as Object$1, OrderedCollection, Person, isActor, traverseCollection } from "@fedify/vocab";
@@ -1,10 +1,10 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { r as fetchKey } from "../key-IxTTC8Yf.mjs";
5
- import { l as verifyRequest, s as signRequest } from "../http-CCJ97Jql.mjs";
4
+ import { r as fetchKey } from "../key-BJrp524f.mjs";
5
+ import { l as verifyRequest, s as signRequest } from "../http-B0VRNipE.mjs";
6
6
  import { c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
7
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-DGbYmXqU.mjs";
7
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-CsKVgMzk.mjs";
8
8
  import { Create, CryptographicKey, Multikey, Person } from "@fedify/vocab";
9
9
  import { test } from "@fedify/fixture";
10
10
  import { FetchError, encodeMultibase, exportDidKey, parseIri, preloadedContexts } from "@fedify/vocab-runtime";
@@ -10,10 +10,10 @@ import "../std__assert-DvMDRPes.mjs";
10
10
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
11
11
  import { t as assert } from "../assert-D1Eafmd_.mjs";
12
12
  import { r as normalizeOutgoingActivityJsonLd } from "../outgoing-jsonld-4IJqPYos.mjs";
13
- import { a as verifyObject, l as verifyProof, n as hasProofLike, o as verifyPortableObjectProof, r as signObject, t as createProof } from "../proof-CVL7JnZd.mjs";
14
- import { l as verifyRequest } from "../http-CCJ97Jql.mjs";
13
+ import { a as verifyObject, l as verifyProof, n as hasProofLike, o as verifyPortableObjectProof, r as signObject, t as createProof } from "../proof-ozG4HfcQ.mjs";
14
+ import { l as verifyRequest } from "../http-B0VRNipE.mjs";
15
15
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
16
- import { t as getAuthenticatedDocumentLoader } from "../docloader-dA0RswUV.mjs";
16
+ import { t as getAuthenticatedDocumentLoader } from "../docloader-BUq5bYJr.mjs";
17
17
  import { Create, DataIntegrityProof, Document, Multikey, Note, PUBLIC_COLLECTION, Place, Translation } from "@fedify/vocab";
18
18
  import { createTestMeterProvider, mockDocumentLoader, test } from "@fedify/fixture";
19
19
  import { decodeMultibase, encodeMultibase, exportDidKey, exportMultibaseKey, formatIri, importMultibaseKey, parseIri } from "@fedify/vocab-runtime";
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { f as verifyPortableObjectProof, ht as version, m as verifyPortableObjectProofWithRoot, mt as name } from "./http-aqh3yFdM.js";
4
- import "./owner-jH1z_YfD.js";
3
+ import { f as verifyPortableObjectProof, ht as version, m as verifyPortableObjectProofWithRoot, mt as name } from "./http-4PCCvhsU.js";
4
+ import "./owner-_pbbgLJK.js";
5
5
  import { getLogger } from "@logtape/logtape";
6
6
  import { CollectionPage, Object as Object$1, isActor } from "@fedify/vocab";
7
7
  import { trace } from "@opentelemetry/api";
@@ -1,6 +1,6 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
- const require_http = require("./http-Dvy_IwRa.cjs");
3
- require("./owner-BpOxL5PG.cjs");
2
+ const require_http = require("./http-B5q1CHtL.cjs");
3
+ require("./owner-BQFZtFV4.cjs");
4
4
  let _logtape_logtape = require("@logtape/logtape");
5
5
  let _fedify_vocab = require("@fedify/vocab");
6
6
  let _opentelemetry_api = require("@opentelemetry/api");
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { c as getNormalizationContextLoader } from "./ld-l0B9nREb.mjs";
4
+ import { c as getNormalizationContextLoader } from "./ld-BmFz5NLA.mjs";
5
5
  import jsonld from "@fedify/vocab-runtime/jsonld";
6
6
  //#region src/federation/temporal.ts
7
7
  function isPlainObject(value) {
@@ -6,7 +6,7 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as ManualClockKvStore } from "../kv-DBRWVx3Q.mjs";
7
7
  import { n as baseOptions, o as stringSchema, t as MockQueue } from "../tasks-dbCShlCb.mjs";
8
8
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
9
- import { o as createFederation } from "../middleware-BMgzqBtr.mjs";
9
+ import { o as createFederation } from "../middleware-BKeQYPm0.mjs";
10
10
  //#region src/testing/kv.test.ts
11
11
  test("ManualClockKvStore keeps an entry at its exact expiration instant", async () => {
12
12
  const kv = new ManualClockKvStore();
@@ -5,9 +5,9 @@ import { t as esm_default } from "../esm-BHXXx4Wx.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Z6IcEbWU.mjs";
6
6
  import "../std__assert-DvMDRPes.mjs";
7
7
  import { t as assertRejects } from "../assert_rejects-CTptdYck.mjs";
8
- import { l as verifyRequest } from "../http-CCJ97Jql.mjs";
8
+ import { l as verifyRequest } from "../http-B0VRNipE.mjs";
9
9
  import { i as rsaPrivateKey2 } from "../keys-DIJNHW-Y.mjs";
10
- import { t as getAuthenticatedDocumentLoader } from "../docloader-dA0RswUV.mjs";
10
+ import { t as getAuthenticatedDocumentLoader } from "../docloader-BUq5bYJr.mjs";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  import { FetchError, UrlError } from "@fedify/vocab-runtime";
13
13
  //#region src/utils/docloader.test.ts
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as kvCache, t as MockKvStore } from "../kv-cache-Bwwbh-xR.mjs";
4
+ import { n as kvCache, t as MockKvStore } from "../kv-cache-C4C3LyYW.mjs";
5
5
  import { deepStrictEqual, throws } from "node:assert";
6
6
  import { createTestMeterProvider, mockDocumentLoader, test } from "@fedify/fixture";
7
7
  import { preloadedContexts } from "@fedify/vocab-runtime";
@@ -1,5 +1,5 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_kv_cache = require("../kv-cache-BP69NV0P.cjs");
3
+ const require_kv_cache = require("../kv-cache-Dhhhrryv.cjs");
4
4
  exports.getAuthenticatedDocumentLoader = require_kv_cache.getAuthenticatedDocumentLoader;
5
5
  exports.kvCache = require_kv_cache.kvCache;
package/dist/utils/mod.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-Y6SDRSX6.js";
3
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-1KUmAPH7.js";
4
4
  export { getAuthenticatedDocumentLoader, kvCache };