@fedify/fedify 2.4.0-dev.1727 → 2.4.0-dev.1740

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 (57) hide show
  1. package/dist/{builder-f5-YwHfj.mjs → builder-Bw6LVKGw.mjs} +2 -2
  2. package/dist/compat/transformers.test.mjs +1 -1
  3. package/dist/{deno-Deyoxesx.mjs → deno-tRdp8MCl.mjs} +1 -1
  4. package/dist/{docloader-B3kuDBg9.mjs → docloader-Dg_7gMC7.mjs} +2 -2
  5. package/dist/federation/builder.test.mjs +1 -1
  6. package/dist/federation/handler.test.mjs +3 -3
  7. package/dist/federation/idempotency.test.mjs +2 -2
  8. package/dist/federation/metrics.test.mjs +1 -1
  9. package/dist/federation/middleware.test.mjs +7 -7
  10. package/dist/federation/mod.cjs +1 -1
  11. package/dist/federation/mod.js +1 -1
  12. package/dist/federation/send.test.mjs +3 -3
  13. package/dist/federation/tasks/enqueue.test.mjs +1 -1
  14. package/dist/federation/tasks/tasks.test.mjs +2 -2
  15. package/dist/federation/temporal.test.mjs +1 -1
  16. package/dist/federation/webfinger.test.mjs +1 -1
  17. package/dist/{federation-BzRjeOky.cjs → federation-BJBpt_Am.cjs} +3 -3
  18. package/dist/{http-Bw6s_dOB.js → http-BIxGa6AG.js} +1 -1
  19. package/dist/{http-TjhZfiSN.mjs → http-Day1kcpT.mjs} +3 -3
  20. package/dist/{http-AyKngJ_h.cjs → http-DggG1scN.cjs} +1 -1
  21. package/dist/{key-b4kf4yZT.mjs → key-igh0AMsL.mjs} +2 -2
  22. package/dist/{kv-cache-CQsh-KUw.js → kv-cache-BIAB0HKx.js} +1 -1
  23. package/dist/{kv-cache-CpILvhUV.mjs → kv-cache-Bz6aQOOX.mjs} +1 -1
  24. package/dist/{kv-cache-BTVaZrf-.cjs → kv-cache-C4U_uBqD.cjs} +1 -1
  25. package/dist/{ld-CKujkAfG.mjs → ld-DnT9sCWa.mjs} +3 -3
  26. package/dist/{metrics-AlCGTDrr.mjs → metrics-DbdNnWIt.mjs} +1 -1
  27. package/dist/{middleware-LPbZz6-1.mjs → middleware-B6GweVcg.mjs} +1 -1
  28. package/dist/{middleware-CZcuedl-.js → middleware-CnsPXG0O.js} +3 -3
  29. package/dist/{middleware-C9Y5lLZN.mjs → middleware-DPIS4fsB.mjs} +12 -12
  30. package/dist/{mod-CuDDaIIt.d.cts → mod-CnGLNoVw.d.cts} +85 -3
  31. package/dist/{mod-D-IhOEOP.d.ts → mod-DzRXACM5.d.ts} +85 -3
  32. package/dist/mod.cjs +5 -4
  33. package/dist/mod.d.cts +3 -3
  34. package/dist/mod.d.ts +3 -3
  35. package/dist/mod.js +5 -5
  36. package/dist/nodeinfo/handler.test.mjs +1 -1
  37. package/dist/{owner-D1O8v8FB.mjs → owner-B3ef8GfJ.mjs} +2 -2
  38. package/dist/{proof-BTBolSnd.js → proof-BBLQXRWw.js} +603 -31
  39. package/dist/{proof-DcSm-2eG.cjs → proof-Cqk2TcLX.cjs} +607 -29
  40. package/dist/proof-DVoDZ8d7.mjs +890 -0
  41. package/dist/{send-DG7JG280.mjs → send-PbBSZ7Qk.mjs} +3 -3
  42. package/dist/sig/http.test.mjs +2 -2
  43. package/dist/sig/key.test.mjs +1 -1
  44. package/dist/sig/ld.test.mjs +2 -2
  45. package/dist/sig/mod.cjs +3 -2
  46. package/dist/sig/mod.d.cts +2 -2
  47. package/dist/sig/mod.d.ts +2 -2
  48. package/dist/sig/mod.js +3 -3
  49. package/dist/sig/owner.test.mjs +1 -1
  50. package/dist/sig/proof.test.mjs +956 -8
  51. package/dist/{temporal-DA3jx8x1.mjs → temporal-DLQIjuTn.mjs} +1 -1
  52. package/dist/utils/docloader.test.mjs +2 -2
  53. package/dist/utils/kv-cache.test.mjs +1 -1
  54. package/dist/utils/mod.cjs +1 -1
  55. package/dist/utils/mod.js +1 -1
  56. package/package.json +6 -6
  57. package/dist/proof-DeMR7Akd.mjs +0 -316
@@ -1,7 +1,7 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Deyoxesx.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
5
  import { t as ActivityListenerSet } from "./activity-listener-C-BSbKI7.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { Router, RouterError, assertPath } from "@fedify/uri-template";
@@ -85,7 +85,7 @@ var FederationBuilderImpl = class {
85
85
  * specified.
86
86
  */
87
87
  async build(options) {
88
- const { FederationImpl } = await import("./middleware-LPbZz6-1.mjs");
88
+ const { FederationImpl } = await import("./middleware-B6GweVcg.mjs");
89
89
  const f = new FederationImpl(options);
90
90
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
91
91
  f.router = this.router.clone();
@@ -5,7 +5,7 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-CBlRfA-_.mjs";
6
6
  import { t as assertInstanceOf } from "../assert_instance_of-g3WcyYNR.mjs";
7
7
  import { t as assert } from "../assert-CebeUf0C.mjs";
8
- import { b as autoIdAssigner, n as FederationImpl, y as actorDehydrator } from "../middleware-C9Y5lLZN.mjs";
8
+ import { b as autoIdAssigner, n as FederationImpl, y as actorDehydrator } from "../middleware-DPIS4fsB.mjs";
9
9
  import { Follow, Person } from "@fedify/vocab";
10
10
  import { test } from "@fedify/fixture";
11
11
  //#region src/compat/transformers.test.ts
@@ -3,6 +3,6 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  //#region deno.json
5
5
  var name = "@fedify/fedify";
6
- var version = "2.4.0-dev.1727+1eadcb04";
6
+ var version = "2.4.0-dev.1740+32e9952c";
7
7
  //#endregion
8
8
  export { version as n, name as t };
@@ -1,8 +1,8 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { o as validateCryptoKey } from "./key-b4kf4yZT.mjs";
5
- import { n as doubleKnock } from "./http-TjhZfiSN.mjs";
4
+ import { o as validateCryptoKey } from "./key-igh0AMsL.mjs";
5
+ import { n as doubleKnock } from "./http-Day1kcpT.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { curry } from "es-toolkit";
8
8
  import { UrlError, createActivityPubRequest, getRemoteDocument, logRequest, validatePublicUrl } from "@fedify/vocab-runtime";
@@ -6,7 +6,7 @@ import { t as assertEquals } from "../assert_equals-CBlRfA-_.mjs";
6
6
  import { t as assertExists } from "../assert_exists-DtzkXC47.mjs";
7
7
  import { t as assertThrows } from "../assert_throws-BJ5wuvR2.mjs";
8
8
  import "../std__assert-CxFT0MNt.mjs";
9
- import { r as createFederationBuilder } from "../builder-f5-YwHfj.mjs";
9
+ import { r as createFederationBuilder } from "../builder-Bw6LVKGw.mjs";
10
10
  import { DisallowedOperatorError, DisallowedVarSpecModifierError, DuplicateRouteVariableError, RouteTemplateOptionsNotMatchedError, RouterError } from "@fedify/uri-template";
11
11
  import { Activity, Note, Person } from "@fedify/vocab";
12
12
  import { test } from "@fedify/fixture";
@@ -10,10 +10,10 @@ import "../std__assert-CxFT0MNt.mjs";
10
10
  import { t as assertRejects } from "../assert_rejects-wFbSPn1O.mjs";
11
11
  import { t as assert } from "../assert-CebeUf0C.mjs";
12
12
  import { r as parseAcceptSignature } from "../accept-CPVqki78.mjs";
13
- import { s as signRequest } from "../http-TjhZfiSN.mjs";
13
+ import { s as signRequest } from "../http-Day1kcpT.mjs";
14
14
  import { a as rsaPrivateKey3, c as rsaPublicKey3, s as rsaPublicKey2 } from "../keys-DIJNHW-Y.mjs";
15
- import { a as compactJsonLd, p as signJsonLd } from "../ld-CKujkAfG.mjs";
16
- import { c as handleActor, d as handleInbox, f as handleObject, h as respondWithObjectIfAcceptable, l as handleCollection, m as respondWithObject, o as createFederation, p as handleOutbox, u as handleCustomCollection } from "../middleware-C9Y5lLZN.mjs";
15
+ import { a as compactJsonLd, p as signJsonLd } from "../ld-DnT9sCWa.mjs";
16
+ import { c as handleActor, d as handleInbox, f as handleObject, h as respondWithObjectIfAcceptable, l as handleCollection, m as respondWithObject, o as createFederation, p as handleOutbox, u as handleCustomCollection } from "../middleware-DPIS4fsB.mjs";
17
17
  import { t as ActivityListenerSet } from "../activity-listener-C-BSbKI7.mjs";
18
18
  import { Activity, Create, Note, Person, Tombstone } from "@fedify/vocab";
19
19
  import { createTestMeterProvider, createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
@@ -5,8 +5,8 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-CBlRfA-_.mjs";
6
6
  import "../std__assert-CxFT0MNt.mjs";
7
7
  import { n as ed25519PrivateKey, r as ed25519PublicKey, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
8
- import { r as signObject } from "../proof-DeMR7Akd.mjs";
9
- import { o as createFederation } from "../middleware-C9Y5lLZN.mjs";
8
+ import { r as signObject } from "../proof-DVoDZ8d7.mjs";
9
+ import { o as createFederation } from "../middleware-DPIS4fsB.mjs";
10
10
  import { Create, Follow, Person } from "@fedify/vocab";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  //#region src/federation/idempotency.test.ts
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-CBlRfA-_.mjs";
5
5
  import "../std__assert-CxFT0MNt.mjs";
6
6
  import { t as assertRejects } from "../assert_rejects-wFbSPn1O.mjs";
7
- import { _ as recordKeyLookup, a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, m as recordDocumentFetch, p as recordDocumentCache, r as getFederationMetrics, t as classifyFetchError, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "../metrics-AlCGTDrr.mjs";
7
+ import { _ as recordKeyLookup, a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, m as recordDocumentFetch, p as recordDocumentCache, r as getFederationMetrics, t as classifyFetchError, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "../metrics-DbdNnWIt.mjs";
8
8
  import { createTestMeterProvider, test } from "@fedify/fixture";
9
9
  import { FetchError } from "@fedify/vocab-runtime";
10
10
  import { DataPointType, MeterProvider, MetricReader } from "@opentelemetry/sdk-metrics";
@@ -14,14 +14,14 @@ import "../std__assert-CxFT0MNt.mjs";
14
14
  import { t as assertRejects } from "../assert_rejects-wFbSPn1O.mjs";
15
15
  import { t as assertStrictEquals } from "../assert_strict_equals-Bpjl4Psw.mjs";
16
16
  import { t as assert } from "../assert-CebeUf0C.mjs";
17
- import { g as recordInboxActivity } from "../metrics-AlCGTDrr.mjs";
18
- import { l as verifyRequest, s as signRequest } from "../http-TjhZfiSN.mjs";
17
+ import { g as recordInboxActivity } from "../metrics-DbdNnWIt.mjs";
18
+ import { l as verifyRequest, s as signRequest } from "../http-Day1kcpT.mjs";
19
19
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
20
- import { t as getAuthenticatedDocumentLoader } from "../docloader-B3kuDBg9.mjs";
21
- import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-CKujkAfG.mjs";
22
- import { t as doesActorOwnKey } from "../owner-D1O8v8FB.mjs";
23
- import { i as verifyObject, r as signObject } from "../proof-DeMR7Akd.mjs";
24
- import { g as handleBenchmarkTrigger, i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-C9Y5lLZN.mjs";
20
+ import { t as getAuthenticatedDocumentLoader } from "../docloader-Dg_7gMC7.mjs";
21
+ import { a as compactJsonLd, h as verifyJsonLd, p as signJsonLd, s as detachSignature } from "../ld-DnT9sCWa.mjs";
22
+ import { t as doesActorOwnKey } from "../owner-B3ef8GfJ.mjs";
23
+ import { i as verifyObject, r as signObject } from "../proof-DVoDZ8d7.mjs";
24
+ import { g as handleBenchmarkTrigger, i as KvSpecDeterminer, n as FederationImpl, o as createFederation, r as InboxContextImpl, t as ContextImpl } from "../middleware-DPIS4fsB.mjs";
25
25
  import { t as CircuitBreaker } from "../circuit-breaker-BT7CiPbz.mjs";
26
26
  import { t as TaskCodec } from "../codec-peqOdBaE.mjs";
27
27
  import { t as markCircuitBreakerLegacySweepDone } from "../circuit-breaker-test-utils-BYIHoliq.mjs";
@@ -1,6 +1,6 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const require_federation = require("../federation-BzRjeOky.cjs");
3
+ const require_federation = require("../federation-BJBpt_Am.cjs");
4
4
  exports.CircuitBreaker = require_federation.CircuitBreaker;
5
5
  exports.InProcessMessageQueue = require_federation.InProcessMessageQueue;
6
6
  exports.MemoryKvStore = require_federation.MemoryKvStore;
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- 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-CZcuedl-.js";
3
+ 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-CnsPXG0O.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { Router as Router$1, RouterError as RouterError$1, assertPath, isPath } from "@fedify/uri-template";
6
6
  import { isEqual } from "es-toolkit";
@@ -10,10 +10,10 @@ import { t as assertNotEquals } from "../assert_not_equals-BN7yDMWe.mjs";
10
10
  import "../std__assert-CxFT0MNt.mjs";
11
11
  import { t as assertRejects } from "../assert_rejects-wFbSPn1O.mjs";
12
12
  import { t as assert } from "../assert-CebeUf0C.mjs";
13
- import { l as verifyRequest } from "../http-TjhZfiSN.mjs";
13
+ import { l as verifyRequest } from "../http-Day1kcpT.mjs";
14
14
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-DIJNHW-Y.mjs";
15
- import { t as doesActorOwnKey } from "../owner-D1O8v8FB.mjs";
16
- import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "../send-DG7JG280.mjs";
15
+ import { t as doesActorOwnKey } from "../owner-B3ef8GfJ.mjs";
16
+ import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "../send-PbBSZ7Qk.mjs";
17
17
  import { Activity, Application, Endpoints, Group, Person, Service } from "@fedify/vocab";
18
18
  import { createTestMeterProvider, createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
19
19
  import { FetchError } from "@fedify/vocab-runtime";
@@ -3,7 +3,7 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { t as MemoryKvStore } from "../../kv-DCHkaJ9-.mjs";
5
5
  import { a as numberSchema, i as makeSchema, n as baseOptions, o as stringSchema, t as MockQueue } from "../../testing-BX0Nicyq.mjs";
6
- import { o as createFederation } from "../../middleware-C9Y5lLZN.mjs";
6
+ import { o as createFederation } from "../../middleware-DPIS4fsB.mjs";
7
7
  import { n as ParallelMessageQueue } from "../../mq-Dm1Wmtm-.mjs";
8
8
  import { configure, reset } from "@logtape/logtape";
9
9
  import { delay } from "es-toolkit";
@@ -3,8 +3,8 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { t as MemoryKvStore } from "../../kv-DCHkaJ9-.mjs";
5
5
  import { a as numberSchema, i as makeSchema, n as baseOptions, o as stringSchema, t as MockQueue } from "../../testing-BX0Nicyq.mjs";
6
- import { o as createFederation } from "../../middleware-C9Y5lLZN.mjs";
7
- import { r as createFederationBuilder } from "../../builder-f5-YwHfj.mjs";
6
+ import { o as createFederation } from "../../middleware-DPIS4fsB.mjs";
7
+ import { r as createFederationBuilder } from "../../builder-Bw6LVKGw.mjs";
8
8
  import { t as TaskCodec } from "../../codec-peqOdBaE.mjs";
9
9
  import { t as InProcessMessageQueue } from "../../mq-Dm1Wmtm-.mjs";
10
10
  import { W3CTraceContextPropagator } from "@opentelemetry/core";
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertFalse } from "../assert_false-3pLLLsO4.mjs";
5
5
  import "../std__assert-CxFT0MNt.mjs";
6
6
  import { t as assert } from "../assert-CebeUf0C.mjs";
7
- import { t as hasMalformedKnownTemporalLiteral } from "../temporal-DA3jx8x1.mjs";
7
+ import { t as hasMalformedKnownTemporalLiteral } from "../temporal-DLQIjuTn.mjs";
8
8
  import { test } from "@fedify/fixture";
9
9
  //#region src/federation/temporal.test.ts
10
10
  test("hasMalformedKnownTemporalLiteral() detects expanded proof timestamps", async () => {
@@ -6,7 +6,7 @@ import { t as MemoryKvStore } from "../kv-DCHkaJ9-.mjs";
6
6
  import { t as assertEquals } from "../assert_equals-CBlRfA-_.mjs";
7
7
  import { t as assertNotEquals } from "../assert_not_equals-BN7yDMWe.mjs";
8
8
  import "../std__assert-CxFT0MNt.mjs";
9
- import { o as createFederation, s as handleWebFinger } from "../middleware-C9Y5lLZN.mjs";
9
+ import { o as createFederation, s as handleWebFinger } from "../middleware-DPIS4fsB.mjs";
10
10
  import { Image, Link, Person, Tombstone } from "@fedify/vocab";
11
11
  import { createTestMeterProvider, test } from "@fedify/fixture";
12
12
  //#region src/federation/webfinger.test.ts
@@ -1,10 +1,10 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-Dmm3t92W.cjs");
3
3
  const require_transformers = require("./transformers-BalCrSsr.cjs");
4
- const require_http = require("./http-AyKngJ_h.cjs");
5
- const require_proof = require("./proof-DcSm-2eG.cjs");
4
+ const require_http = require("./http-DggG1scN.cjs");
5
+ const require_proof = require("./proof-Cqk2TcLX.cjs");
6
6
  const require_types = require("./types-RXm5YxpC.cjs");
7
- const require_kv_cache = require("./kv-cache-BTVaZrf-.cjs");
7
+ const require_kv_cache = require("./kv-cache-C4U_uBqD.cjs");
8
8
  let _logtape_logtape = require("@logtape/logtape");
9
9
  let _fedify_uri_template = require("@fedify/uri-template");
10
10
  let _fedify_vocab = require("@fedify/vocab");
@@ -10,7 +10,7 @@ import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } fro
10
10
  import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "2.4.0-dev.1727+1eadcb04";
13
+ var version = "2.4.0-dev.1740+32e9952c";
14
14
  //#endregion
15
15
  //#region src/sig/accept.ts
16
16
  /**
@@ -1,10 +1,10 @@
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-Deyoxesx.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-AlCGTDrr.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-DbdNnWIt.mjs";
6
6
  import { i as validateAcceptSignature, n as fulfillAcceptSignature, r as parseAcceptSignature } from "./accept-CPVqki78.mjs";
7
- import { o as validateCryptoKey, r as fetchKeyDetailed } from "./key-b4kf4yZT.mjs";
7
+ import { o as validateCryptoKey, r as fetchKeyDetailed } from "./key-igh0AMsL.mjs";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { CryptographicKey } from "@fedify/vocab";
10
10
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -9,7 +9,7 @@ let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conve
9
9
  let byte_encodings_base64 = require("byte-encodings/base64");
10
10
  //#region deno.json
11
11
  var name = "@fedify/fedify";
12
- var version = "2.4.0-dev.1727+1eadcb04";
12
+ var version = "2.4.0-dev.1740+32e9952c";
13
13
  //#endregion
14
14
  //#region ../../node_modules/.pnpm/temporal-polyfill@1.0.1/node_modules/temporal-polyfill/chunks/root.js
15
15
  const NativeTemporal = globalThis.Temporal;
@@ -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-Deyoxesx.mjs";
5
- import { _ as recordKeyLookup, n as getDurationMs, t as classifyFetchError } from "./metrics-AlCGTDrr.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
+ import { _ as recordKeyLookup, n as getDurationMs, t as classifyFetchError } from "./metrics-DbdNnWIt.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { CryptographicKey, Multikey, Object as Object$1, isActor } from "@fedify/vocab";
8
8
  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 { C as recordDocumentCache, d as validateCryptoKey, t as doubleKnock } from "./http-Bw6s_dOB.js";
3
+ import { C as recordDocumentCache, d as validateCryptoKey, t as doubleKnock } from "./http-BIxGa6AG.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { curry } from "es-toolkit";
6
6
  import { UrlError, createActivityPubRequest, getRemoteDocument, logRequest, preloadedContexts, validatePublicUrl } from "@fedify/vocab-runtime";
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "temporal-polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { p as recordDocumentCache } from "./metrics-AlCGTDrr.mjs";
4
+ import { p as recordDocumentCache } from "./metrics-DbdNnWIt.mjs";
5
5
  import { getLogger } from "@logtape/logtape";
6
6
  import { preloadedContexts } from "@fedify/vocab-runtime";
7
7
  //#region src/utils/kv-cache.ts
@@ -1,5 +1,5 @@
1
1
  const { URLPattern } = require("urlpattern-polyfill");
2
- const require_http = require("./http-AyKngJ_h.cjs");
2
+ const require_http = require("./http-DggG1scN.cjs");
3
3
  let _logtape_logtape = require("@logtape/logtape");
4
4
  let es_toolkit = require("es-toolkit");
5
5
  let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
@@ -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-Deyoxesx.mjs";
5
- import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-AlCGTDrr.mjs";
6
- import { n as fetchKey, o as validateCryptoKey } from "./key-b4kf4yZT.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
+ import { n as getDurationMs, r as getFederationMetrics, s as measureSignatureKeyFetch } from "./metrics-DbdNnWIt.mjs";
6
+ import { n as fetchKey, o as validateCryptoKey } from "./key-igh0AMsL.mjs";
7
7
  import { getLogger } from "@logtape/logtape";
8
8
  import { Activity, CryptographicKey, Object as Object$1, getTypeId } from "@fedify/vocab";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,7 +1,7 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Deyoxesx.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
5
  import { metrics } from "@opentelemetry/api";
6
6
  import { FetchError } from "@fedify/vocab-runtime";
7
7
  //#region src/federation/metrics.ts
@@ -1,5 +1,5 @@
1
1
  import "temporal-polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as FederationImpl } from "./middleware-C9Y5lLZN.mjs";
4
+ import { n as FederationImpl } from "./middleware-DPIS4fsB.mjs";
5
5
  export { FederationImpl };
@@ -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 { A as formatAcceptSignature, D as recordOutboxEnqueue, E as recordOutboxActivity, F as version, O as recordWebFingerHandle, P as name, S as recordCollectionTotalItems, T as recordInboxActivity, a as verifyRequestDetailed, b as recordCollectionPageItems, d as validateCryptoKey, f as getDurationMs, g as isAbortError, h as instrumentDocumentLoader, i as verifyRequest, k as registerQueueDepthGauge, m as getRemoteHost, n as parseRfc9421SignatureInput, o as exportJwk, p as getFederationMetrics, t as doubleKnock, u as importJwk, v as recordCircuitBreakerStateChange, w as recordFanoutRecipients, x as recordCollectionRequest, y as recordCollectionDispatchDuration } from "./http-Bw6s_dOB.js";
6
- import { _ as hasSignatureLike, b as signJsonLd, c as getKeyOwner, f as compactJsonLd, g as hasSignature, h as getNormalizationContextLoader, i as verifyObject, l as InvalidContextReferenceError, m as detachSignature, n as hasProofLike, o as normalizeOutgoingActivityJsonLd, r as signObject, s as doesActorOwnKey, u as assertSafeJsonLd, v as isClearlyMalformedContextReference, w as wrapContextLoaderForJsonLd, x as verifyCompactJsonLd, y as isInvalidUrlTypeError } from "./proof-BTBolSnd.js";
5
+ import { A as formatAcceptSignature, D as recordOutboxEnqueue, E as recordOutboxActivity, F as version, O as recordWebFingerHandle, P as name, S as recordCollectionTotalItems, T as recordInboxActivity, a as verifyRequestDetailed, b as recordCollectionPageItems, d as validateCryptoKey, f as getDurationMs, g as isAbortError, h as instrumentDocumentLoader, i as verifyRequest, k as registerQueueDepthGauge, m as getRemoteHost, n as parseRfc9421SignatureInput, o as exportJwk, p as getFederationMetrics, t as doubleKnock, u as importJwk, v as recordCircuitBreakerStateChange, w as recordFanoutRecipients, x as recordCollectionRequest, y as recordCollectionDispatchDuration } from "./http-BIxGa6AG.js";
6
+ import { S as verifyCompactJsonLd, T as wrapContextLoaderForJsonLd, _ as hasSignature, b as isInvalidUrlTypeError, c as doesActorOwnKey, d as assertSafeJsonLd, g as getNormalizationContextLoader, h as detachSignature, i as verifyObject, l as getKeyOwner, n as hasProofLike, p as compactJsonLd, r as signObject, s as normalizeOutgoingActivityJsonLd, u as InvalidContextReferenceError, v as hasSignatureLike, x as signJsonLd, y as isClearlyMalformedContextReference } from "./proof-BBLQXRWw.js";
7
7
  import { n as getNodeInfo, t as nodeInfoToJson } from "./types-Dtyf8lVj.js";
8
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-CQsh-KUw.js";
8
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-BIAB0HKx.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";
@@ -1,26 +1,26 @@
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-Deyoxesx.mjs";
5
- import { a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, n as getDurationMs, o as isAbortError, r as getFederationMetrics, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "./metrics-AlCGTDrr.mjs";
4
+ import { n as version, t as name } from "./deno-tRdp8MCl.mjs";
5
+ import { a as instrumentDocumentLoader, b as recordWebFingerHandle, c as recordCircuitBreakerStateChange, d as recordCollectionRequest, f as recordCollectionTotalItems, g as recordInboxActivity, h as recordFanoutRecipients, i as getRemoteHost, l as recordCollectionDispatchDuration, n as getDurationMs, o as isAbortError, r as getFederationMetrics, u as recordCollectionPageItems, v as recordOutboxActivity, x as registerQueueDepthGauge, y as recordOutboxEnqueue } from "./metrics-DbdNnWIt.mjs";
6
6
  import { t as formatAcceptSignature } from "./accept-CPVqki78.mjs";
7
- import { a as importJwk, o as validateCryptoKey, t as exportJwk } from "./key-b4kf4yZT.mjs";
8
- import { l as verifyRequest, o as parseRfc9421SignatureInput, u as verifyRequestDetailed } from "./http-TjhZfiSN.mjs";
9
- import { t as getAuthenticatedDocumentLoader } from "./docloader-B3kuDBg9.mjs";
10
- import { n as kvCache } from "./kv-cache-CpILvhUV.mjs";
11
- import { _ as wrapContextLoaderForJsonLd, a as compactJsonLd, c as getNormalizationContextLoader, d as isClearlyMalformedContextReference, f as isInvalidUrlTypeError, l as hasSignature, m as verifyCompactJsonLd, p as signJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as hasSignatureLike } from "./ld-CKujkAfG.mjs";
12
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-D1O8v8FB.mjs";
7
+ import { a as importJwk, o as validateCryptoKey, t as exportJwk } from "./key-igh0AMsL.mjs";
8
+ import { l as verifyRequest, o as parseRfc9421SignatureInput, u as verifyRequestDetailed } from "./http-Day1kcpT.mjs";
9
+ import { t as getAuthenticatedDocumentLoader } from "./docloader-Dg_7gMC7.mjs";
10
+ import { n as kvCache } from "./kv-cache-Bz6aQOOX.mjs";
11
+ import { _ as wrapContextLoaderForJsonLd, a as compactJsonLd, c as getNormalizationContextLoader, d as isClearlyMalformedContextReference, f as isInvalidUrlTypeError, l as hasSignature, m as verifyCompactJsonLd, p as signJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as hasSignatureLike } from "./ld-DnT9sCWa.mjs";
12
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-B3ef8GfJ.mjs";
13
13
  import { r as normalizeOutgoingActivityJsonLd } from "./outgoing-jsonld-BQSHRLhg.mjs";
14
- import { i as verifyObject, n as hasProofLike, r as signObject } from "./proof-DeMR7Akd.mjs";
14
+ import { i as verifyObject, n as hasProofLike, r as signObject } from "./proof-DVoDZ8d7.mjs";
15
15
  import { t as getNodeInfo } from "./client-CtxvmazV.mjs";
16
16
  import { t as nodeInfoToJson } from "./types-DE_LV1JB.mjs";
17
- import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-DG7JG280.mjs";
18
- import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-f5-YwHfj.mjs";
17
+ import { n as extractInboxes, r as sendActivity, t as SendActivityError } from "./send-PbBSZ7Qk.mjs";
18
+ import { n as FederationBuilderImpl, t as ACTOR_ALIAS_PREFIX } from "./builder-Bw6LVKGw.mjs";
19
19
  import { t as CircuitBreaker } from "./circuit-breaker-BT7CiPbz.mjs";
20
20
  import { t as buildCollectionSynchronizationHeader } from "./collection-CnnP1UAv.mjs";
21
21
  import { t as KvKeyCache } from "./keycache-0Jk78XmB.mjs";
22
22
  import { t as acceptsJsonLd } from "./negotiation-CCocWT_N.mjs";
23
- import { t as hasMalformedKnownTemporalLiteral } from "./temporal-DA3jx8x1.mjs";
23
+ import { t as hasMalformedKnownTemporalLiteral } from "./temporal-DLQIjuTn.mjs";
24
24
  import { t as createExponentialBackoffPolicy } from "./retry-zX5xw5e0.mjs";
25
25
  import { t as TaskCodec } from "./codec-peqOdBaE.mjs";
26
26
  import { getLogger, withContext } from "@logtape/logtape";
@@ -244,6 +244,18 @@ declare function signObject<T extends Object$1>(object: T, privateKey: CryptoKey
244
244
  * @since 0.10.0
245
245
  */
246
246
  interface VerifyProofOptions {
247
+ /**
248
+ * The security domain expected by the verifier. When specified, it must
249
+ * contain the same strings as the proof's `domain` option.
250
+ * @since 2.4.0
251
+ */
252
+ domain?: string | readonly string[];
253
+ /**
254
+ * The challenge expected by the verifier. When specified, it must exactly
255
+ * match the proof's `challenge` option.
256
+ * @since 2.4.0
257
+ */
258
+ challenge?: string;
247
259
  /**
248
260
  * The context loader for loading remote JSON-LD contexts.
249
261
  */
@@ -271,17 +283,87 @@ interface VerifyProofOptions {
271
283
  meterProvider?: MeterProvider;
272
284
  }
273
285
  /**
286
+ * Options for {@link verifyPortableObjectProof}.
287
+ * @since 2.4.0
288
+ */
289
+ interface VerifyPortableObjectProofOptions extends VerifyProofOptions {}
290
+ /**
291
+ * The reason why {@link verifyPortableObjectProof} could not verify a portable
292
+ * object proof.
293
+ * @since 2.4.0
294
+ */
295
+ type VerifyPortableObjectProofFailureReason = {
296
+ /** The document does not have a portable `ap:` or `ap+ef61:` ID. */readonly type: "notPortableObject";
297
+ } | {
298
+ /**
299
+ * The document is a portable collection without an Object Integrity
300
+ * Proof. Its trust policy is outside this verifier.
301
+ */
302
+ readonly type: "unsecuredCollection";
303
+ } | {
304
+ /** The portable document is a core type outside FEP-ef61 proof policy. */readonly type: "unsupportedObjectType"; /** The FEP-2277 core type of the document. */
305
+ readonly objectType: "verificationMethod" | "publicKey" | "link";
306
+ } | {
307
+ /** A portable actor, activity, or object has no proof. */readonly type: "missingProof";
308
+ } | {
309
+ /** The proof is malformed, unsupported, or cryptographically invalid. */readonly type: "invalidProof"; /** The zero-based index of the invalid proof. */
310
+ readonly proofIndex: number;
311
+ } | {
312
+ /** The proof's verification method is not a valid DID URL. */readonly type: "unsupportedVerificationMethod"; /** The zero-based index of the proof. */
313
+ readonly proofIndex: number; /** The unsupported verification method. */
314
+ readonly verificationMethod: URL;
315
+ } | {
316
+ /** The verification method DID does not match the portable ID authority. */readonly type: "verificationMethodMismatch"; /** The zero-based index of the proof. */
317
+ readonly proofIndex: number; /** The portable object ID. */
318
+ readonly objectId: URL; /** The mismatching verification method. */
319
+ readonly verificationMethod: URL;
320
+ };
321
+ /**
322
+ * The detailed result of {@link verifyPortableObjectProof}.
323
+ * @since 2.4.0
324
+ */
325
+ type VerifyPortableObjectProofResult = {
326
+ /** Whether every Object Integrity Proof was verified. */readonly verified: true; /** The public keys used by the verified proofs, in proof order. */
327
+ readonly keys: readonly Multikey[];
328
+ } | {
329
+ /** Whether every Object Integrity Proof was verified. */readonly verified: false; /** Why portable proof verification did not succeed. */
330
+ readonly reason: VerifyPortableObjectProofFailureReason;
331
+ };
332
+ /**
274
333
  * Verifies the given proof for the object.
275
- * @param jsonLd The JSON-LD object to verify the proof for. If it contains
276
- * any proofs, they will be ignored.
334
+ * @param jsonLd The JSON-LD object to verify the proof for. Its proof
335
+ * properties are excluded from the message, but matching proof
336
+ * occurrences are used to authenticate the received proof
337
+ * configuration.
277
338
  * @param proof The proof to verify.
278
339
  * @param options Additional options. See also {@link VerifyProofOptions}.
279
340
  * @returns The public key that was used to sign the proof, or `null` if the
280
341
  * proof is invalid.
281
342
  * @since 0.10.0
343
+ * @since 2.4.0 Matching proof configurations are authenticated.
282
344
  */
283
345
  declare function verifyProof(jsonLd: unknown, proof: DataIntegrityProof, options?: VerifyProofOptions): Promise<Multikey | null>;
284
346
  /**
347
+ * Verifies the FEP-ef61 Object Integrity Proof policy for a portable object.
348
+ *
349
+ * This applies the FEP-2277 core-type classification to the top-level JSON-LD
350
+ * node. Portable actors, activities, and objects require proofs. A portable
351
+ * collection without a proof is reported separately so a caller can apply a
352
+ * gateway trust policy. Embedded portable objects are not traversed.
353
+ *
354
+ * Every proof must use a DID URL whose DID matches the portable object's
355
+ * authority, and every proof must pass {@link verifyProof}.
356
+ *
357
+ * @param jsonLd The JSON-LD document to verify.
358
+ * @param options Additional options. See also
359
+ * {@link VerifyPortableObjectProofOptions}.
360
+ * @returns The detailed portable proof-policy result.
361
+ * @throws {TypeError} If the input is not a single JSON-LD object or has a
362
+ * malformed portable ID.
363
+ * @since 2.4.0
364
+ */
365
+ declare function verifyPortableObjectProof(jsonLd: unknown, options?: VerifyPortableObjectProofOptions): Promise<VerifyPortableObjectProofResult>;
366
+ /**
285
367
  * Options for {@link verifyObject}.
286
368
  * @since 0.10.0
287
369
  */
@@ -304,4 +386,4 @@ declare function verifyObject<T extends Object$1>(cls: (new (...args: any[]) =>
304
386
  fromJsonLd(jsonLd: unknown, options: VerifyObjectOptions): Promise<T>;
305
387
  }, jsonLd: unknown, options?: VerifyObjectOptions): Promise<T | null>;
306
388
  //#endregion
307
- export { hasSignatureLike as _, createProof as a, verifySignature as b, verifyObject as c, SignJsonLdOptions as d, VerifyJsonLdOptions as f, detachSignature as g, createSignature as h, VerifyProofOptions as i, verifyProof as l, attachSignature as m, SignObjectOptions as n, hasProofLike as o, VerifySignatureOptions as p, VerifyObjectOptions as r, signObject as s, CreateProofOptions as t, CreateSignatureOptions as u, signJsonLd as v, verifyJsonLd as y };
389
+ export { verifyJsonLd as C, signJsonLd as S, VerifySignatureOptions as _, VerifyPortableObjectProofOptions as a, detachSignature as b, createProof as c, verifyObject as d, verifyPortableObjectProof as f, VerifyJsonLdOptions as g, SignJsonLdOptions as h, VerifyPortableObjectProofFailureReason as i, hasProofLike as l, CreateSignatureOptions as m, SignObjectOptions as n, VerifyPortableObjectProofResult as o, verifyProof as p, VerifyObjectOptions as r, VerifyProofOptions as s, CreateProofOptions as t, signObject as u, attachSignature as v, verifySignature as w, hasSignatureLike as x, createSignature as y };