@fedify/fedify 1.10.9 → 1.10.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 (121) hide show
  1. package/dist/{actor-z4bjwAPy.mjs → actor-DZtfiGD5.mjs} +1 -1
  2. package/dist/{actor-CMBXPdjk.js → actor-q2gTvEOg.js} +187 -187
  3. package/dist/{actor-DSmY7of0.cjs → actor-yCME0Muf.cjs} +187 -187
  4. package/dist/{authdocloader-YXazGK4I.cjs → authdocloader-C9ucnURr.cjs} +3 -3
  5. package/dist/{authdocloader-B4QKchy5.js → authdocloader-CjcVKv5l.js} +3 -3
  6. package/dist/{authdocloader-C7iVUcxr.mjs → authdocloader-Dxs4mL_P.mjs} +3 -3
  7. package/dist/{builder-C3PFAtTV.mjs → builder-DBBCeuJN.mjs} +4 -4
  8. package/dist/{client-C-xdpu6M.mjs → client-DfSKNItx.mjs} +1 -1
  9. package/dist/compat/mod.cjs +1 -1
  10. package/dist/compat/mod.d.cts +1 -1
  11. package/dist/compat/mod.d.ts +1 -1
  12. package/dist/compat/transformers.test.mjs +3 -3
  13. package/dist/{context-BzSr5FCW.d.cts → context-CC4UrGc5.d.cts} +48 -6
  14. package/dist/{context-CyacVopT.d.ts → context-xfiK4xM5.d.ts} +48 -6
  15. package/dist/{docloader-DXUkyjIx.js → docloader-D8qb26Gj.js} +1 -1
  16. package/dist/{docloader-9cG6ESUw.cjs → docloader-DR98w4wL.cjs} +1 -1
  17. package/dist/{esm-Bfj-SwEx.mjs → esm-onODA711.mjs} +1 -1
  18. package/dist/federation/builder.test.mjs +3 -3
  19. package/dist/federation/collection.test.mjs +1 -1
  20. package/dist/federation/handler.test.mjs +1362 -46
  21. package/dist/federation/idempotency.test.mjs +5 -5
  22. package/dist/federation/inbox.test.mjs +3 -3
  23. package/dist/federation/keycache.test.mjs +3 -3
  24. package/dist/federation/kv.test.mjs +1 -1
  25. package/dist/federation/middleware.test.mjs +1586 -82
  26. package/dist/federation/mod.cjs +2 -2
  27. package/dist/federation/mod.d.cts +1 -1
  28. package/dist/federation/mod.d.ts +1 -1
  29. package/dist/federation/mod.js +1 -1
  30. package/dist/federation/mq.test.mjs +3 -3
  31. package/dist/federation/retry.test.mjs +2 -2
  32. package/dist/federation/router.test.mjs +2 -2
  33. package/dist/federation/send.test.mjs +8 -8
  34. package/dist/federation/temporal.test.d.mts +2 -0
  35. package/dist/federation/temporal.test.mjs +71 -0
  36. package/dist/{http-CuloN7xQ.js → http-D6Qz3p20.js} +3 -3
  37. package/dist/{http-D5CDiVKf.mjs → http-DyCX-dN3.mjs} +2 -2
  38. package/dist/{http-LjaXmp2m.cjs → http-mdiWJYia.cjs} +3 -3
  39. package/dist/{inbox-D0Mzd940.mjs → inbox-BZN50kyQ.mjs} +7 -4
  40. package/dist/{key-Dnc1ekhA.mjs → key-CSH0Pfat.mjs} +2 -2
  41. package/dist/{key-CXkrXfz6.cjs → key-DPzMtgeE.cjs} +1 -1
  42. package/dist/{key-B22mXs2u.cjs → key-DRfL8gil.cjs} +2 -2
  43. package/dist/{key-B5QN42gR.mjs → key-DXUAJBZu.mjs} +1 -1
  44. package/dist/{key-D1PkkNK-.js → key-TRp8WTUL.js} +2 -2
  45. package/dist/{keycache-DwDRFAp7.mjs → keycache-DETDxpbh.mjs} +1 -1
  46. package/dist/{keys-C4Ms2Cy-.mjs → keys-8FIoKqmB.mjs} +1 -1
  47. package/dist/ld-BaJmhpEa.mjs +548 -0
  48. package/dist/{lookup-D0d32cZH.cjs → lookup-B7TLaXFf.cjs} +1 -1
  49. package/dist/{lookup-B8rOR_1a.js → lookup-C6wM-gq1.js} +1 -1
  50. package/dist/{lookup-Br7I7sqm.mjs → lookup-CX2yfN-X.mjs} +1 -1
  51. package/dist/{middleware-BlsPkr2X.mjs → middleware-BJ7otoEC.mjs} +1 -1
  52. package/dist/{middleware-BbgpZrsX.mjs → middleware-BQ6evC7E.mjs} +320 -87
  53. package/dist/{middleware-CYNQWJ-D.js → middleware-BXc5M6YG.js} +408 -83
  54. package/dist/{middleware-0yq2uipZ.cjs → middleware-DpVqFb2x.cjs} +411 -85
  55. package/dist/{middleware-BRXIidLb.cjs → middleware-cNynSnF6.cjs} +1 -1
  56. package/dist/mod.cjs +10 -10
  57. package/dist/mod.d.cts +1 -1
  58. package/dist/mod.d.ts +1 -1
  59. package/dist/mod.js +9 -9
  60. package/dist/nodeinfo/client.test.mjs +3 -3
  61. package/dist/nodeinfo/handler.test.mjs +2 -2
  62. package/dist/nodeinfo/mod.cjs +1 -1
  63. package/dist/nodeinfo/mod.js +1 -1
  64. package/dist/nodeinfo/semver.test.mjs +1 -1
  65. package/dist/nodeinfo/types.test.mjs +1 -1
  66. package/dist/otel/exporter.test.mjs +1 -1
  67. package/dist/otel/mod.cjs +1 -1
  68. package/dist/{owner-D32qC-wF.mjs → owner-CLGVwm9P.mjs} +3 -3
  69. package/dist/{proof-DE2Z0_uv.cjs → proof-BVB37JmB.cjs} +347 -5
  70. package/dist/{proof-B67QOiuS.mjs → proof-CAOvY-AP.mjs} +2 -2
  71. package/dist/{proof-u5ivh_eA.js → proof-DxQL08gJ.js} +300 -6
  72. package/dist/runtime/authdocloader.test.mjs +6 -6
  73. package/dist/runtime/docloader.test.mjs +4 -4
  74. package/dist/runtime/key.test.mjs +3 -3
  75. package/dist/runtime/langstr.test.mjs +2 -2
  76. package/dist/runtime/link.test.mjs +2 -2
  77. package/dist/runtime/mod.cjs +3 -3
  78. package/dist/runtime/mod.js +3 -3
  79. package/dist/runtime/multibase/multibase.test.mjs +2 -2
  80. package/dist/runtime/url.test.mjs +2 -2
  81. package/dist/{send-7RGxOhrY.mjs → send-BFClgq8T.mjs} +2 -2
  82. package/dist/sig/http.test.mjs +6 -6
  83. package/dist/sig/key.test.mjs +4 -4
  84. package/dist/sig/ld.test.mjs +561 -5
  85. package/dist/sig/mod.cjs +3 -3
  86. package/dist/sig/mod.js +3 -3
  87. package/dist/sig/owner.test.mjs +6 -6
  88. package/dist/sig/proof.test.mjs +4 -4
  89. package/dist/temporal-lmewfA7Y.mjs +95 -0
  90. package/dist/testing/docloader.test.mjs +1 -1
  91. package/dist/testing/mod.d.mts +48 -6
  92. package/dist/testing/mod.mjs +1 -1
  93. package/dist/{testing-zWgaXBJW.mjs → testing-B9FmxxlI.mjs} +2 -2
  94. package/dist/{transformers-BdbEtUZU.cjs → transformers-KRl8YJCO.cjs} +1 -1
  95. package/dist/{types-6_pWuZfK.js → types-B0aIcMDF.js} +1 -1
  96. package/dist/{types-ec4G8nGs.cjs → types-DPWiFqle.cjs} +1 -1
  97. package/dist/vocab/actor.test.mjs +4 -4
  98. package/dist/vocab/cjs.test.mjs +1 -1
  99. package/dist/vocab/lookup.test.mjs +5 -5
  100. package/dist/vocab/mod.cjs +3 -3
  101. package/dist/vocab/mod.js +3 -3
  102. package/dist/vocab/type.test.mjs +2 -2
  103. package/dist/vocab/vocab.test.mjs +3 -3
  104. package/dist/{vocab-C60RNInZ.mjs → vocab-DP9A9TjH.mjs} +186 -186
  105. package/dist/webfinger/handler.test.mjs +3 -3
  106. package/dist/webfinger/lookup.test.mjs +3 -3
  107. package/dist/webfinger/mod.cjs +1 -1
  108. package/dist/webfinger/mod.js +1 -1
  109. package/dist/x/cfworkers.cjs +1 -1
  110. package/dist/x/cfworkers.test.mjs +1 -1
  111. package/dist/x/hono.cjs +1 -1
  112. package/dist/x/hono.d.cts +1 -1
  113. package/dist/x/hono.d.ts +1 -1
  114. package/dist/x/sveltekit.cjs +1 -1
  115. package/dist/x/sveltekit.d.cts +1 -1
  116. package/dist/x/sveltekit.d.ts +1 -1
  117. package/package.json +1 -1
  118. package/dist/ld-BJ8BZLC8.mjs +0 -254
  119. /package/dist/{denokv-NJPMXyK0.mjs → denokv-B0ZRIDsH.mjs} +0 -0
  120. /package/dist/{otel-0v4Zy01l.mjs → otel-D00WjYJ1.mjs} +0 -0
  121. /package/dist/{retry-Ddbq3AcK.mjs → retry-B_E3V_Dx.mjs} +0 -0
@@ -1,8 +1,8 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
- require("../docloader-9cG6ESUw.cjs");
5
- const require_middleware = require("../middleware-0yq2uipZ.cjs");
4
+ require("../docloader-DR98w4wL.cjs");
5
+ const require_middleware = require("../middleware-DpVqFb2x.cjs");
6
6
  let es_toolkit = require("es-toolkit");
7
7
  //#region src/federation/kv.ts
8
8
  /**
@@ -1,4 +1,4 @@
1
1
  import { a as MemoryKvStore, i as KvStoreSetOptions, n as KvStore, r as KvStoreListEntry, t as KvKey } from "../kv-ClC9WJh5.cjs";
2
- import { $ as CustomCollectionCursor, A as createFederation, B as RouterRouteResult, C as InboxListenerSetters, D as FederationKvPrefixes, E as CreateFederationOptions, F as Message, G as ActorDispatcher, H as respondWithObject, I as createFederationBuilder, J as AuthorizePredicate, K as ActorHandleMapper, L as Router, M as RetryContext, N as RetryPolicy, O as FederationOrigin, P as createExponentialBackoffPolicy, Q as CustomCollectionCounter, R as RouterError, S as IdempotencyStrategy, T as Rfc6570Expression, U as respondWithObjectIfAcceptable, V as RespondWithObjectOptions, W as ActorAliasMapper, X as CollectionCursor, Y as CollectionCounter, Z as CollectionDispatcher, _ as FederationBuilder, a as InboxContext, at as ObjectDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as WebFingerLinksDispatcher, d as ActorCallbackSetters, dt as buildCollectionSynchronizationHeader, et as CustomCollectionDispatcher, f as CollectionCallbackSetters, ft as digest, g as Federation, h as Federatable, i as GetSignedKeyOptions, it as ObjectAuthorizePredicate, j as CreateExponentialBackoffPolicyOptions, k as FederationQueueOptions, l as SendActivityOptions, lt as SenderKeyPair, m as CustomCollectionCallbackSetters, n as Context, nt as InboxListener, o as ParseUriResult, ot as OutboxErrorHandler, p as ConstructorWithTypeId, q as ActorKeyPairsDispatcher, r as ForwardActivityOptions, rt as NodeInfoDispatcher, s as RequestContext, st as SharedInboxKeyDispatcher, t as ActorKeyPair, tt as InboxErrorHandler, u as SendActivityOptionsForCollection, ut as PageItems, v as FederationFetchOptions, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, z as RouterOptions } from "../context-BzSr5FCW.cjs";
2
+ import { $ as CustomCollectionCursor, A as createFederation, B as RouterRouteResult, C as InboxListenerSetters, D as FederationKvPrefixes, E as CreateFederationOptions, F as Message, G as ActorDispatcher, H as respondWithObject, I as createFederationBuilder, J as AuthorizePredicate, K as ActorHandleMapper, L as Router, M as RetryContext, N as RetryPolicy, O as FederationOrigin, P as createExponentialBackoffPolicy, Q as CustomCollectionCounter, R as RouterError, S as IdempotencyStrategy, T as Rfc6570Expression, U as respondWithObjectIfAcceptable, V as RespondWithObjectOptions, W as ActorAliasMapper, X as CollectionCursor, Y as CollectionCounter, Z as CollectionDispatcher, _ as FederationBuilder, a as InboxContext, at as ObjectDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as WebFingerLinksDispatcher, d as ActorCallbackSetters, dt as buildCollectionSynchronizationHeader, et as CustomCollectionDispatcher, f as CollectionCallbackSetters, ft as digest, g as Federation, h as Federatable, i as GetSignedKeyOptions, it as ObjectAuthorizePredicate, j as CreateExponentialBackoffPolicyOptions, k as FederationQueueOptions, l as SendActivityOptions, lt as SenderKeyPair, m as CustomCollectionCallbackSetters, n as Context, nt as InboxListener, o as ParseUriResult, ot as OutboxErrorHandler, p as ConstructorWithTypeId, q as ActorKeyPairsDispatcher, r as ForwardActivityOptions, rt as NodeInfoDispatcher, s as RequestContext, st as SharedInboxKeyDispatcher, t as ActorKeyPair, tt as InboxErrorHandler, u as SendActivityOptionsForCollection, ut as PageItems, v as FederationFetchOptions, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, z as RouterOptions } from "../context-CC4UrGc5.cjs";
3
3
  import { a as MessageQueueListenOptions, i as MessageQueueEnqueueOptions, n as InProcessMessageQueueOptions, o as ParallelMessageQueue, r as MessageQueue, t as InProcessMessageQueue } from "../mq-CrItclRD.cjs";
4
4
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, type CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, type FederationKvPrefixes, FederationOptions, type FederationOrigin, type FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore, type Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, type RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, type SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { a as MemoryKvStore, i as KvStoreSetOptions, n as KvStore, r as KvStoreListEntry, t as KvKey } from "../kv-C6UC8M9S.js";
4
- import { $ as CustomCollectionCursor, A as createFederation, B as RouterRouteResult, C as InboxListenerSetters, D as FederationKvPrefixes, E as CreateFederationOptions, F as Message, G as ActorDispatcher, H as respondWithObject, I as createFederationBuilder, J as AuthorizePredicate, K as ActorHandleMapper, L as Router, M as RetryContext, N as RetryPolicy, O as FederationOrigin, P as createExponentialBackoffPolicy, Q as CustomCollectionCounter, R as RouterError, S as IdempotencyStrategy, T as Rfc6570Expression, U as respondWithObjectIfAcceptable, V as RespondWithObjectOptions, W as ActorAliasMapper, X as CollectionCursor, Y as CollectionCounter, Z as CollectionDispatcher, _ as FederationBuilder, a as InboxContext, at as ObjectDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as WebFingerLinksDispatcher, d as ActorCallbackSetters, dt as buildCollectionSynchronizationHeader, et as CustomCollectionDispatcher, f as CollectionCallbackSetters, ft as digest, g as Federation, h as Federatable, i as GetSignedKeyOptions, it as ObjectAuthorizePredicate, j as CreateExponentialBackoffPolicyOptions, k as FederationQueueOptions, l as SendActivityOptions, lt as SenderKeyPair, m as CustomCollectionCallbackSetters, n as Context, nt as InboxListener, o as ParseUriResult, ot as OutboxErrorHandler, p as ConstructorWithTypeId, q as ActorKeyPairsDispatcher, r as ForwardActivityOptions, rt as NodeInfoDispatcher, s as RequestContext, st as SharedInboxKeyDispatcher, t as ActorKeyPair, tt as InboxErrorHandler, u as SendActivityOptionsForCollection, ut as PageItems, v as FederationFetchOptions, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, z as RouterOptions } from "../context-CyacVopT.js";
4
+ import { $ as CustomCollectionCursor, A as createFederation, B as RouterRouteResult, C as InboxListenerSetters, D as FederationKvPrefixes, E as CreateFederationOptions, F as Message, G as ActorDispatcher, H as respondWithObject, I as createFederationBuilder, J as AuthorizePredicate, K as ActorHandleMapper, L as Router, M as RetryContext, N as RetryPolicy, O as FederationOrigin, P as createExponentialBackoffPolicy, Q as CustomCollectionCounter, R as RouterError, S as IdempotencyStrategy, T as Rfc6570Expression, U as respondWithObjectIfAcceptable, V as RespondWithObjectOptions, W as ActorAliasMapper, X as CollectionCursor, Y as CollectionCounter, Z as CollectionDispatcher, _ as FederationBuilder, a as InboxContext, at as ObjectDispatcher, b as FederationStartQueueOptions, c as RouteActivityOptions, ct as WebFingerLinksDispatcher, d as ActorCallbackSetters, dt as buildCollectionSynchronizationHeader, et as CustomCollectionDispatcher, f as CollectionCallbackSetters, ft as digest, g as Federation, h as Federatable, i as GetSignedKeyOptions, it as ObjectAuthorizePredicate, j as CreateExponentialBackoffPolicyOptions, k as FederationQueueOptions, l as SendActivityOptions, lt as SenderKeyPair, m as CustomCollectionCallbackSetters, n as Context, nt as InboxListener, o as ParseUriResult, ot as OutboxErrorHandler, p as ConstructorWithTypeId, q as ActorKeyPairsDispatcher, r as ForwardActivityOptions, rt as NodeInfoDispatcher, s as RequestContext, st as SharedInboxKeyDispatcher, t as ActorKeyPair, tt as InboxErrorHandler, u as SendActivityOptionsForCollection, ut as PageItems, v as FederationFetchOptions, w as ObjectCallbackSetters, x as IdempotencyKeyCallback, y as FederationOptions, z as RouterOptions } from "../context-xfiK4xM5.js";
5
5
  import { a as MessageQueueListenOptions, i as MessageQueueEnqueueOptions, n as InProcessMessageQueueOptions, o as ParallelMessageQueue, r as MessageQueue, t as InProcessMessageQueue } from "../mq-D_ZZRdby.js";
6
6
  export { ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, type CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, type FederationKvPrefixes, FederationOptions, type FederationOrigin, type FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, IdempotencyKeyCallback, IdempotencyStrategy, InProcessMessageQueue, InProcessMessageQueueOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, KvKey, KvStore, KvStoreListEntry, KvStoreSetOptions, MemoryKvStore, type Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParallelMessageQueue, ParseUriResult, RequestContext, type RespondWithObjectOptions, RetryContext, RetryPolicy, Rfc6570Expression, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, type SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
- import { a as respondWithObjectIfAcceptable, c as createFederationBuilder, i as respondWithObject, l as Router, o as buildCollectionSynchronizationHeader, r as createExponentialBackoffPolicy, s as digest, t as createFederation, u as RouterError } from "../middleware-CYNQWJ-D.js";
3
+ import { a as respondWithObjectIfAcceptable, c as createFederationBuilder, i as respondWithObject, l as Router, o as buildCollectionSynchronizationHeader, r as createExponentialBackoffPolicy, s as digest, t as createFederation, u as RouterError } from "../middleware-BXc5M6YG.js";
4
4
  import { isEqual } from "es-toolkit";
5
5
  //#region src/federation/kv.ts
6
6
  /**
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { t as test } from "../testing-zWgaXBJW.mjs";
4
+ import { t as test } from "../testing-B9FmxxlI.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import { i as assertGreaterOrEqual, r as assertGreater } from "../std__assert-2v7gYiZp.mjs";
7
7
  import { n as assertFalse } from "../assert_rejects-CJC9ThS-.mjs";
@@ -213,7 +213,7 @@ test("InProcessMessageQueue", async (t) => {
213
213
  });
214
214
  test("MessageQueue.nativeRetrial", async (t) => {
215
215
  if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") await t.step("DenoKvMessageQueue", async () => {
216
- const { DenoKvMessageQueue } = await import("../denokv-NJPMXyK0.mjs");
216
+ const { DenoKvMessageQueue } = await import("../denokv-B0ZRIDsH.mjs");
217
217
  const mq = new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
218
218
  assert(mq.nativeRetrial);
219
219
  if (Symbol.dispose in mq) {
@@ -251,7 +251,7 @@ test("MessageQueue.nativeRetrial", async (t) => {
251
251
  });
252
252
  const queues = { InProcessMessageQueue: () => Promise.resolve(new InProcessMessageQueue()) };
253
253
  if ("Deno" in globalThis && "openKv" in globalThis.Deno && typeof globalThis.Deno.openKv === "function") {
254
- const { DenoKvMessageQueue } = await import("../denokv-NJPMXyK0.mjs");
254
+ const { DenoKvMessageQueue } = await import("../denokv-B0ZRIDsH.mjs");
255
255
  queues.DenoKvMessageQueue = async () => new DenoKvMessageQueue(await globalThis.Deno.openKv(":memory:"));
256
256
  }
257
257
  for (const mqName in queues) test({
@@ -1,10 +1,10 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { t as test } from "../testing-zWgaXBJW.mjs";
4
+ import { t as test } from "../testing-B9FmxxlI.mjs";
5
5
  import { l as AssertionError, t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import { t as assertNotEquals } from "../assert_not_equals--wG9hV7u.mjs";
7
- import { t as createExponentialBackoffPolicy } from "../retry-Ddbq3AcK.mjs";
7
+ import { t as createExponentialBackoffPolicy } from "../retry-B_E3V_Dx.mjs";
8
8
  //#region src/federation/retry.test.ts
9
9
  test("createExponentialBackoffPolicy()", () => {
10
10
  const policy = createExponentialBackoffPolicy({ maxAttempts: 4 });
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { i as RouterError, r as Router } from "../lookup-Br7I7sqm.mjs";
5
- import { t as test } from "../testing-zWgaXBJW.mjs";
4
+ import { i as RouterError, r as Router } from "../lookup-CX2yfN-X.mjs";
5
+ import { t as test } from "../testing-B9FmxxlI.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
7
7
  import "../std__assert-2v7gYiZp.mjs";
8
8
  import { n as assertFalse } from "../assert_rejects-CJC9ThS-.mjs";
@@ -1,19 +1,19 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { C as Person, E as Service, d as Group, l as Endpoints, r as Application, t as Activity } from "../vocab-C60RNInZ.mjs";
5
- import { a as mockDocumentLoader, t as test } from "../testing-zWgaXBJW.mjs";
4
+ import { C as Person, E as Service, d as Group, l as Endpoints, r as Application, t as Activity } from "../vocab-DP9A9TjH.mjs";
5
+ import { a as mockDocumentLoader, t as test } from "../testing-B9FmxxlI.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
7
7
  import "../std__assert-2v7gYiZp.mjs";
8
8
  import { n as assertFalse, t as assertRejects } from "../assert_rejects-CJC9ThS-.mjs";
9
9
  import { t as assertNotEquals } from "../assert_not_equals--wG9hV7u.mjs";
10
10
  import { t as assert } from "../assert-DikXweDx.mjs";
11
- import { l as verifyRequest } from "../http-D5CDiVKf.mjs";
12
- import { t as doesActorOwnKey } from "../owner-D32qC-wF.mjs";
13
- import { n as sendActivity, t as extractInboxes } from "../send-7RGxOhrY.mjs";
14
- import { t as esm_default } from "../esm-Bfj-SwEx.mjs";
15
- import { t as createTestTracerProvider } from "../otel-0v4Zy01l.mjs";
16
- import { i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-C4Ms2Cy-.mjs";
11
+ import { l as verifyRequest } from "../http-DyCX-dN3.mjs";
12
+ import { t as doesActorOwnKey } from "../owner-CLGVwm9P.mjs";
13
+ import { n as sendActivity, t as extractInboxes } from "../send-BFClgq8T.mjs";
14
+ import { t as esm_default } from "../esm-onODA711.mjs";
15
+ import { t as createTestTracerProvider } from "../otel-D00WjYJ1.mjs";
16
+ import { i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-8FIoKqmB.mjs";
17
17
  //#region src/federation/send.test.ts
18
18
  test("extractInboxes()", () => {
19
19
  const recipients = [
@@ -0,0 +1,2 @@
1
+ import { Temporal } from "@js-temporal/polyfill";
2
+ import { URLPattern } from "urlpattern-polyfill";
@@ -0,0 +1,71 @@
1
+ import "@js-temporal/polyfill";
2
+ import "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
4
+ import { t as test } from "../testing-B9FmxxlI.mjs";
5
+ import "../std__assert-2v7gYiZp.mjs";
6
+ import { n as assertFalse } from "../assert_rejects-CJC9ThS-.mjs";
7
+ import { t as assert } from "../assert-DikXweDx.mjs";
8
+ import { t as hasMalformedKnownTemporalLiteral } from "../temporal-lmewfA7Y.mjs";
9
+ //#region src/federation/temporal.test.ts
10
+ test("hasMalformedKnownTemporalLiteral() detects expanded proof timestamps", async () => {
11
+ assert(await hasMalformedKnownTemporalLiteral({
12
+ "@context": ["https://www.w3.org/ns/activitystreams", "https://w3id.org/security/data-integrity/v1"],
13
+ id: "https://example.com/activities/invalid-proof-created",
14
+ type: "Create",
15
+ actor: "https://example.com/person2",
16
+ object: {
17
+ id: "https://example.com/notes/invalid-proof-created",
18
+ type: "Note",
19
+ attributedTo: "https://example.com/person2",
20
+ content: "Hello, world!"
21
+ },
22
+ proof: {
23
+ type: "DataIntegrityProof",
24
+ cryptosuite: "eddsa-jcs-2022",
25
+ verificationMethod: "https://example.com/person2#main-key",
26
+ proofPurpose: "assertionMethod",
27
+ created: { "@value": "not-a-date" },
28
+ proofValue: "zLaewdp4H9kqtwyrLatK4cjY5oRHwVcw4gibPSUDYDMhi4M49v8pcYk3ZB6D69dNpAPbUmY8ocuJ3m9KhKJEEg7z"
29
+ }
30
+ }, void 0));
31
+ });
32
+ test("hasMalformedKnownTemporalLiteral() follows aliases in nested objects", async () => {
33
+ assert(await hasMalformedKnownTemporalLiteral({
34
+ "@context": ["https://www.w3.org/ns/activitystreams", { publishedAt: "as:published" }],
35
+ id: "https://example.com/activities/invalid-nested-published",
36
+ type: "Create",
37
+ actor: "https://example.com/person2",
38
+ object: {
39
+ id: "https://example.com/notes/invalid-nested-published",
40
+ type: "Note",
41
+ attributedTo: "https://example.com/person2",
42
+ content: "Hello, world!"
43
+ },
44
+ audience: {
45
+ type: "Note",
46
+ publishedAt: { "@value": "not-a-date" }
47
+ }
48
+ }, void 0));
49
+ });
50
+ test("hasMalformedKnownTemporalLiteral() does not over-classify ignored as:closed values", async () => {
51
+ assertFalse(await hasMalformedKnownTemporalLiteral({
52
+ "@context": "https://www.w3.org/ns/activitystreams",
53
+ type: "Question",
54
+ closed: "not-a-date"
55
+ }, void 0));
56
+ });
57
+ test("hasMalformedKnownTemporalLiteral() detects date-like invalid as:closed values", async () => {
58
+ assert(await hasMalformedKnownTemporalLiteral({
59
+ "@context": "https://www.w3.org/ns/activitystreams",
60
+ type: "Question",
61
+ closed: "2024-02-31T00:00:00Z"
62
+ }, void 0));
63
+ });
64
+ test("hasMalformedKnownTemporalLiteral() ignores custom-typed as:closed values", async () => {
65
+ assertFalse(await hasMalformedKnownTemporalLiteral({ "https://www.w3.org/ns/activitystreams#closed": [{
66
+ "@value": "2024-02-31T00:00:00Z",
67
+ "@type": "https://example.com/ns#customDateTime"
68
+ }] }, void 0));
69
+ });
70
+ //#endregion
71
+ export {};
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
- import { d as name, f as version, t as FetchError } from "./docloader-DXUkyjIx.js";
4
- import { y as CryptographicKey } from "./actor-CMBXPdjk.js";
5
- import { n as fetchKey, o as validateCryptoKey } from "./key-D1PkkNK-.js";
3
+ import { d as name, f as version, t as FetchError } from "./docloader-D8qb26Gj.js";
4
+ import { y as CryptographicKey } from "./actor-q2gTvEOg.js";
5
+ import { n as fetchKey, o as validateCryptoKey } from "./key-TRp8WTUL.js";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { G as FetchError, ot as name, s as CryptographicKey, st as version } from "./vocab-C60RNInZ.mjs";
5
- import { a as validateCryptoKey, n as fetchKey } from "./key-Dnc1ekhA.mjs";
4
+ import { G as FetchError, ot as name, s as CryptographicKey, st as version } from "./vocab-DP9A9TjH.mjs";
5
+ import { a as validateCryptoKey, n as fetchKey } from "./key-CSH0Pfat.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
@@ -1,8 +1,8 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
- const require_docloader = require("./docloader-9cG6ESUw.cjs");
4
- const require_actor = require("./actor-DSmY7of0.cjs");
5
- const require_key = require("./key-B22mXs2u.cjs");
3
+ const require_docloader = require("./docloader-DR98w4wL.cjs");
4
+ const require_actor = require("./actor-yCME0Muf.cjs");
5
+ const require_key = require("./key-DRfL8gil.cjs");
6
6
  let _logtape_logtape = require("@logtape/logtape");
7
7
  let _opentelemetry_api = require("@opentelemetry/api");
8
8
  let byte_encodings_base64 = require("byte-encodings/base64");
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { U as getTypeId, ot as name, st as version, t as Activity } from "./vocab-C60RNInZ.mjs";
4
+ import { U as getTypeId, ot as name, st as version, t as Activity } from "./vocab-DP9A9TjH.mjs";
5
5
  import { getLogger } from "@logtape/logtape";
6
6
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
7
7
  //#region src/federation/inbox.ts
@@ -39,7 +39,7 @@ var InboxListenerSet = class InboxListenerSet {
39
39
  }
40
40
  };
41
41
  let warnedAboutDefaultIdempotency = false;
42
- async function routeActivity({ context: ctx, json, activity, recipient, inboxListeners, inboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider, idempotencyStrategy }) {
42
+ async function routeActivity({ context: ctx, json, originalJson, normalizedActivity, ldSignatureVerified, activity, recipient, inboxListeners, inboxContextFactory, listenerInboxContextFactory, inboxErrorHandler, kv, kvPrefixes, queue, span, tracerProvider, idempotencyStrategy }) {
43
43
  const logger = getLogger([
44
44
  "fedify",
45
45
  "federation",
@@ -100,7 +100,9 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
100
100
  type: "inbox",
101
101
  id: crypto.randomUUID(),
102
102
  baseUrl: ctx.origin,
103
- activity: json,
103
+ activity: originalJson ?? json,
104
+ ...normalizedActivity == null ? {} : { normalizedActivity },
105
+ ...ldSignatureVerified == null ? {} : { ldSignatureVerified },
104
106
  identifier: recipient,
105
107
  attempt: 0,
106
108
  started: (/* @__PURE__ */ new Date()).toISOString(),
@@ -144,7 +146,8 @@ async function routeActivity({ context: ctx, json, activity, recipient, inboxLis
144
146
  const { class: cls, listener } = dispatched;
145
147
  span.updateName(`activitypub.dispatch_inbox_listener ${cls.name}`);
146
148
  try {
147
- await listener(inboxContextFactory(recipient, json, activity?.id?.href, getTypeId(activity).href), activity);
149
+ const contextFactory = listenerInboxContextFactory ?? inboxContextFactory;
150
+ await listener(contextFactory(recipient, contextFactory === inboxContextFactory ? json : originalJson ?? json, activity?.id?.href, getTypeId(activity).href), activity);
148
151
  } catch (error) {
149
152
  try {
150
153
  await inboxErrorHandler?.(ctx, error);
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { J as getDocumentLoader, ot as name, s as CryptographicKey, st as version, v as Object$1 } from "./vocab-C60RNInZ.mjs";
5
- import { i as isActor } from "./actor-z4bjwAPy.mjs";
4
+ import { J as getDocumentLoader, ot as name, s as CryptographicKey, st as version, v as Object$1 } from "./vocab-DP9A9TjH.mjs";
5
+ import { i as isActor } from "./actor-DZtfiGD5.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  //#region src/sig/key.ts
@@ -1,4 +1,4 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
- const require_key = require("./key-B22mXs2u.cjs");
3
+ const require_key = require("./key-DRfL8gil.cjs");
4
4
  exports.validateCryptoKey = require_key.validateCryptoKey;
@@ -1,7 +1,7 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
- const require_docloader = require("./docloader-9cG6ESUw.cjs");
4
- const require_actor = require("./actor-DSmY7of0.cjs");
3
+ const require_docloader = require("./docloader-DR98w4wL.cjs");
4
+ const require_actor = require("./actor-yCME0Muf.cjs");
5
5
  let _logtape_logtape = require("@logtape/logtape");
6
6
  let _opentelemetry_api = require("@opentelemetry/api");
7
7
  //#region src/sig/key.ts
@@ -1,5 +1,5 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { a as validateCryptoKey } from "./key-Dnc1ekhA.mjs";
4
+ import { a as validateCryptoKey } from "./key-CSH0Pfat.mjs";
5
5
  export { validateCryptoKey };
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  import { t as __exportAll } from "./rolldown-runtime-C7fyD9f2.js";
4
- import { d as name, f as version, i as getDocumentLoader } from "./docloader-DXUkyjIx.js";
5
- import { i as isActor, q as Object$1, y as CryptographicKey } from "./actor-CMBXPdjk.js";
4
+ import { d as name, f as version, i as getDocumentLoader } from "./docloader-D8qb26Gj.js";
5
+ import { i as isActor, q as Object$1, y as CryptographicKey } from "./actor-q2gTvEOg.js";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  //#region src/sig/key.ts
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { g as Multikey, s as CryptographicKey } from "./vocab-C60RNInZ.mjs";
4
+ import { g as Multikey, s as CryptographicKey } from "./vocab-DP9A9TjH.mjs";
5
5
  //#region src/federation/keycache.ts
6
6
  const NULL_KEY_CACHE_VALUE = { _fedify: "key-unavailable" };
7
7
  const NULL_KEY_CACHE_TTL = Temporal.Duration.from({ minutes: 5 });
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { I as importSpki, g as Multikey, s as CryptographicKey } from "./vocab-C60RNInZ.mjs";
4
+ import { I as importSpki, g as Multikey, s as CryptographicKey } from "./vocab-DP9A9TjH.mjs";
5
5
  //#region src/testing/keys.ts
6
6
  const rsaPublicKey1 = new CryptographicKey({
7
7
  id: new URL("https://example.com/key"),