@fedify/fedify 2.0.35 → 2.0.36-dev.2551

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 (47) hide show
  1. package/dist/{builder-CpxZPa7I.mjs → builder-Dndt590h.mjs} +3 -3
  2. package/dist/compat/transformers.test.mjs +1 -1
  3. package/dist/{deno-BAtjc8bx.mjs → deno-D_rTMbAD.mjs} +1 -1
  4. package/dist/{docloader-CyBB50Om.mjs → docloader-DpTrZ5sA.mjs} +2 -2
  5. package/dist/federation/builder.test.mjs +1 -1
  6. package/dist/federation/handler.test.mjs +6 -6
  7. package/dist/federation/idempotency.test.mjs +2 -2
  8. package/dist/federation/inbox.test.mjs +1 -1
  9. package/dist/federation/middleware.test.mjs +6 -6
  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/temporal.test.mjs +25 -1
  14. package/dist/federation/webfinger.test.mjs +1 -1
  15. package/dist/{http-Dwj7bNhv.js → http-BS1CmlZ6.js} +1 -1
  16. package/dist/{http-9wCo74JF.mjs → http-DGD9d8-A.mjs} +2 -2
  17. package/dist/{http-5u2wDmjl.cjs → http-DbDnj-Q7.cjs} +1 -1
  18. package/dist/{inbox-De2IaCfd.mjs → inbox-BwpBTbhH.mjs} +1 -1
  19. package/dist/{key-BD-PBpNB.mjs → key-1Gf85RN1.mjs} +1 -1
  20. package/dist/{kv-cache-5TdAMHng.js → kv-cache-BARiicPE.js} +1 -1
  21. package/dist/{kv-cache-ivTOKx4b.cjs → kv-cache-BdA7HpfF.cjs} +1 -1
  22. package/dist/{ld-34_mZbyP.mjs → ld-BuuOR_Ms.mjs} +2 -2
  23. package/dist/{middleware-BI7Hldd0.mjs → middleware-C5Nypx4Z.mjs} +1 -1
  24. package/dist/{middleware-DTJ9dnYC.js → middleware-CQRCnFB4.js} +5 -7
  25. package/dist/{middleware-DhwZ4gNG.cjs → middleware-D9TWYyT_.cjs} +1 -1
  26. package/dist/{middleware-DzaMP9BP.mjs → middleware-DDM0j-X6.mjs} +11 -11
  27. package/dist/{middleware-Co4IpMca.cjs → middleware-DThg01d8.cjs} +7 -9
  28. package/dist/mod.cjs +4 -4
  29. package/dist/mod.js +4 -4
  30. package/dist/nodeinfo/handler.test.mjs +1 -1
  31. package/dist/{owner-CxBLBD2K.mjs → owner-BI33UeIv.mjs} +2 -2
  32. package/dist/{proof-D5IUmaZ0.js → proof-BBHUW8ev.js} +1 -1
  33. package/dist/{proof-DhW1tGUz.mjs → proof-GM73LJjx.mjs} +2 -2
  34. package/dist/{proof-yX6qSpxk.cjs → proof-vVwkNRv4.cjs} +1 -1
  35. package/dist/{send-CdfEXNS7.mjs → send-nImUK91D.mjs} +2 -2
  36. package/dist/sig/http.test.mjs +2 -2
  37. package/dist/sig/key.test.mjs +2 -2
  38. package/dist/sig/ld.test.mjs +2 -2
  39. package/dist/sig/mod.cjs +2 -2
  40. package/dist/sig/mod.js +2 -2
  41. package/dist/sig/owner.test.mjs +1 -1
  42. package/dist/sig/proof.test.mjs +1 -1
  43. package/dist/{temporal-BbywNJ81.mjs → temporal-CfNFB7M_.mjs} +3 -5
  44. package/dist/utils/docloader.test.mjs +2 -2
  45. package/dist/utils/mod.cjs +1 -1
  46. package/dist/utils/mod.js +1 -1
  47. package/package.json +5 -5
@@ -2,8 +2,8 @@ import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { n as RouterError, t as Router } from "./router-CrMLXoOr.mjs";
5
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
6
- import { t as InboxListenerSet } from "./inbox-De2IaCfd.mjs";
5
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
6
+ import { t as InboxListenerSet } from "./inbox-BwpBTbhH.mjs";
7
7
  import { getTypeId } from "@fedify/vocab";
8
8
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
9
9
  import { getLogger } from "@logtape/logtape";
@@ -43,7 +43,7 @@ var FederationBuilderImpl = class {
43
43
  this.collectionTypeIds = {};
44
44
  }
45
45
  async build(options) {
46
- const { FederationImpl } = await import("./middleware-BI7Hldd0.mjs");
46
+ const { FederationImpl } = await import("./middleware-C5Nypx4Z.mjs");
47
47
  const f = new FederationImpl(options);
48
48
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
49
49
  f.router = this.router.clone();
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
6
6
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
7
- import { _ as autoIdAssigner, g as actorDehydrator, n as FederationImpl } from "../middleware-DzaMP9BP.mjs";
7
+ import { _ as autoIdAssigner, g as actorDehydrator, n as FederationImpl } from "../middleware-DDM0j-X6.mjs";
8
8
  import { test } from "@fedify/fixture";
9
9
  import { Follow, Person } from "@fedify/vocab";
10
10
  //#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.0.35";
6
+ var version = "2.0.36-dev.2551+8b012df4";
7
7
  //#endregion
8
8
  export { version as n, name as t };
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { o as validateCryptoKey } from "./key-BD-PBpNB.mjs";
5
- import { r as doubleKnockScoped } from "./http-9wCo74JF.mjs";
4
+ import { o as validateCryptoKey } from "./key-1Gf85RN1.mjs";
5
+ import { r as doubleKnockScoped } from "./http-DGD9d8-A.mjs";
6
6
  import { curry } from "es-toolkit";
7
7
  import { FetchError, UrlError, createActivityPubRequest, getRemoteDocument, logRequest } from "@fedify/vocab-runtime";
8
8
  import { openDirectFetch, openPublicFetch } from "@fedify/vocab-runtime/internal";
@@ -5,7 +5,7 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import { i as assertExists, n as assertStrictEquals } from "../std__assert-DflMZha5.mjs";
6
6
  import { t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
7
7
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
8
- import { n as createFederationBuilder } from "../builder-CpxZPa7I.mjs";
8
+ import { n as createFederationBuilder } from "../builder-Dndt590h.mjs";
9
9
  import { test } from "@fedify/fixture";
10
10
  import { Activity, Note, Person } from "@fedify/vocab";
11
11
  //#region src/federation/builder.test.ts
@@ -6,14 +6,14 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import "../std__assert-DflMZha5.mjs";
7
7
  import { t as assert } from "../assert-BhQd8QHP.mjs";
8
8
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
9
- import { i as generateCryptoKeyPair } from "../key-BD-PBpNB.mjs";
10
- import { c as signRequest } from "../http-9wCo74JF.mjs";
9
+ import { i as generateCryptoKeyPair } from "../key-1Gf85RN1.mjs";
10
+ import { c as signRequest } from "../http-DGD9d8-A.mjs";
11
11
  import { a as rsaPrivateKey3, c as rsaPublicKey3, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
12
- import { a as compactJsonLd, f as signJsonLd } from "../ld-34_mZbyP.mjs";
13
- import { n as signObject } from "../proof-DhW1tGUz.mjs";
12
+ import { a as compactJsonLd, f as signJsonLd } from "../ld-BuuOR_Ms.mjs";
13
+ import { n as signObject } from "../proof-GM73LJjx.mjs";
14
14
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
15
- import { a as createFederation, c as handleCollection, d as handleObject, f as respondWithObject, l as handleCustomCollection, p as respondWithObjectIfAcceptable, s as handleActor, u as handleInbox } from "../middleware-DzaMP9BP.mjs";
16
- import { t as InboxListenerSet } from "../inbox-De2IaCfd.mjs";
15
+ import { a as createFederation, c as handleCollection, d as handleObject, f as respondWithObject, l as handleCustomCollection, p as respondWithObjectIfAcceptable, s as handleActor, u as handleInbox } from "../middleware-DDM0j-X6.mjs";
16
+ import { t as InboxListenerSet } from "../inbox-BwpBTbhH.mjs";
17
17
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
18
18
  import { Create, CryptographicKey, Multikey, Note, Person } from "@fedify/vocab";
19
19
  //#region src/federation/handler.test.ts
@@ -4,9 +4,9 @@ globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import "../std__assert-DflMZha5.mjs";
6
6
  import { n as ed25519PrivateKey, r as ed25519PublicKey, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
7
- import { n as signObject } from "../proof-DhW1tGUz.mjs";
7
+ import { n as signObject } from "../proof-GM73LJjx.mjs";
8
8
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
9
- import { a as createFederation } from "../middleware-DzaMP9BP.mjs";
9
+ import { a as createFederation } from "../middleware-DDM0j-X6.mjs";
10
10
  import { mockDocumentLoader, test } from "@fedify/fixture";
11
11
  import { Create, Follow, Person } from "@fedify/vocab";
12
12
  //#region src/federation/idempotency.test.ts
@@ -3,7 +3,7 @@ import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
6
- import { n as actorsHaveSameOrigin, t as InboxListenerSet } from "../inbox-De2IaCfd.mjs";
6
+ import { n as actorsHaveSameOrigin, t as InboxListenerSet } from "../inbox-BwpBTbhH.mjs";
7
7
  import { test } from "@fedify/fixture";
8
8
  import { Activity, Create, Invite, Offer, Update } from "@fedify/vocab";
9
9
  //#region src/federation/inbox.test.ts
@@ -9,14 +9,14 @@ import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.m
9
9
  import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
10
10
  import { t as assertNotEquals } from "../assert_not_equals-BkxW5QJI.mjs";
11
11
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
12
- import { c as signRequest, u as verifyRequest } from "../http-9wCo74JF.mjs";
12
+ import { c as signRequest, u as verifyRequest } from "../http-DGD9d8-A.mjs";
13
13
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
14
- import { n as getAuthenticatedDocumentLoader } from "../docloader-CyBB50Om.mjs";
15
- import { a as compactJsonLd, f as signJsonLd, m as verifyJsonLd, s as detachSignature } from "../ld-34_mZbyP.mjs";
16
- import { t as doesActorOwnKey } from "../owner-CxBLBD2K.mjs";
17
- import { n as signObject, r as verifyObject } from "../proof-DhW1tGUz.mjs";
14
+ import { n as getAuthenticatedDocumentLoader } from "../docloader-DpTrZ5sA.mjs";
15
+ import { a as compactJsonLd, f as signJsonLd, m as verifyJsonLd, s as detachSignature } from "../ld-BuuOR_Ms.mjs";
16
+ import { t as doesActorOwnKey } from "../owner-BI33UeIv.mjs";
17
+ import { n as signObject, r as verifyObject } from "../proof-GM73LJjx.mjs";
18
18
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
19
- import { a as createFederation, i as KvSpecDeterminer, n as FederationImpl, r as InboxContextImpl, t as ContextImpl } from "../middleware-DzaMP9BP.mjs";
19
+ import { a as createFederation, i as KvSpecDeterminer, n as FederationImpl, r as InboxContextImpl, t as ContextImpl } from "../middleware-DDM0j-X6.mjs";
20
20
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
21
21
  import * as vocab from "@fedify/vocab";
22
22
  import { Create, Offer, Person, getTypeId, lookupObject } from "@fedify/vocab";
@@ -2,7 +2,7 @@ const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  require("../chunk-DDcVe30Y.cjs");
5
- const require_middleware = require("../middleware-Co4IpMca.cjs");
5
+ const require_middleware = require("../middleware-DThg01d8.cjs");
6
6
  let es_toolkit = require("es-toolkit");
7
7
  //#region src/federation/kv.ts
8
8
  /**
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-DTJ9dnYC.js";
3
+ import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "../middleware-CQRCnFB4.js";
4
4
  import { isEqual } from "es-toolkit";
5
5
  //#region src/federation/kv.ts
6
6
  /**
@@ -8,10 +8,10 @@ import { r as assertFalse } from "../assert_throws-D4DNWrux.mjs";
8
8
  import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
9
9
  import { t as assertNotEquals } from "../assert_not_equals-BkxW5QJI.mjs";
10
10
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
11
- import { u as verifyRequest } from "../http-9wCo74JF.mjs";
11
+ import { u as verifyRequest } from "../http-DGD9d8-A.mjs";
12
12
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
13
- import { t as doesActorOwnKey } from "../owner-CxBLBD2K.mjs";
14
- import { i as sendActivity, n as extractInboxes, r as fetchWithValidatedRedirects, t as SendActivityError } from "../send-CdfEXNS7.mjs";
13
+ import { t as doesActorOwnKey } from "../owner-BI33UeIv.mjs";
14
+ import { i as sendActivity, n as extractInboxes, r as fetchWithValidatedRedirects, t as SendActivityError } from "../send-nImUK91D.mjs";
15
15
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
16
16
  import { Activity, Application, Endpoints, Group, Person, Service } from "@fedify/vocab";
17
17
  import { FetchError, UrlError } from "@fedify/vocab-runtime";
@@ -4,7 +4,7 @@ globalThis.addEventListener = () => {};
4
4
  import "../std__assert-DflMZha5.mjs";
5
5
  import { r as assertFalse } from "../assert_throws-D4DNWrux.mjs";
6
6
  import { t as assert } from "../assert-BhQd8QHP.mjs";
7
- import { t as hasMalformedKnownTemporalLiteral } from "../temporal-BbywNJ81.mjs";
7
+ import { t as hasMalformedKnownTemporalLiteral } from "../temporal-CfNFB7M_.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 () => {
@@ -67,5 +67,29 @@ test("hasMalformedKnownTemporalLiteral() ignores custom-typed as:closed values",
67
67
  "@type": "https://example.com/ns#customDateTime"
68
68
  }] }, void 0));
69
69
  });
70
+ test("hasMalformedKnownTemporalLiteral() accepts date-times without seconds", async () => {
71
+ for (const published of [
72
+ "2024-01-01T10:00Z",
73
+ "2024-01-01T10:00+09:00",
74
+ "2024-01-01T10:00-05:00",
75
+ "2024-01-01T10:00",
76
+ "2024-01-01T10:00.5Z",
77
+ "2024-01-01T10:00.5+09:00",
78
+ "2024-01-01T10:00.5-05:00",
79
+ "2024-01-01T10:00.5"
80
+ ]) assertFalse(await hasMalformedKnownTemporalLiteral({ "https://www.w3.org/ns/activitystreams#published": [{
81
+ "@value": published,
82
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
83
+ }] }, void 0), published);
84
+ });
85
+ test("hasMalformedKnownTemporalLiteral() mirrors the as:closed decoder for date-times without seconds", async () => {
86
+ const closed = (value) => ({ "https://www.w3.org/ns/activitystreams#closed": [{
87
+ "@value": value,
88
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
89
+ }] });
90
+ assertFalse(await hasMalformedKnownTemporalLiteral(closed("2024-01-01T10:00.5Z"), void 0));
91
+ assert(await hasMalformedKnownTemporalLiteral(closed("2024-02-31T10:00.5Z"), void 0));
92
+ assert(await hasMalformedKnownTemporalLiteral(closed("Sat, 01 Jan 2024 10:00:00 GMT"), void 0));
93
+ });
70
94
  //#endregion
71
95
  export {};
@@ -5,7 +5,7 @@ import { n as createRequestContext } from "../context-Juj6bdHC.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import "../std__assert-DflMZha5.mjs";
7
7
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
8
- import { a as createFederation, o as handleWebFinger } from "../middleware-DzaMP9BP.mjs";
8
+ import { a as createFederation, o as handleWebFinger } from "../middleware-DDM0j-X6.mjs";
9
9
  import { test } from "@fedify/fixture";
10
10
  import { Image, Link, Person } from "@fedify/vocab";
11
11
  //#region src/federation/webfinger.test.ts
@@ -10,7 +10,7 @@ import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
10
10
  import { Item, decodeDict, encodeItem } from "structured-field-values";
11
11
  //#region deno.json
12
12
  var name = "@fedify/fedify";
13
- var version = "2.0.35";
13
+ var version = "2.0.36-dev.2551+8b012df4";
14
14
  //#endregion
15
15
  //#region src/sig/key.ts
16
16
  /** Classifies decoding failures without hiding unexpected loader errors. */
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
5
- import { o as validateCryptoKey, r as fetchKey } from "./key-BD-PBpNB.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
+ import { o as validateCryptoKey, r as fetchKey } from "./key-1Gf85RN1.mjs";
6
6
  import { CryptographicKey } from "@fedify/vocab";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { FetchError } from "@fedify/vocab-runtime";
@@ -11,7 +11,7 @@ let byte_encodings_base64 = require("byte-encodings/base64");
11
11
  let structured_field_values = require("structured-field-values");
12
12
  //#region deno.json
13
13
  var name = "@fedify/fedify";
14
- var version = "2.0.35";
14
+ var version = "2.0.36-dev.2551+8b012df4";
15
15
  //#endregion
16
16
  //#region src/sig/key.ts
17
17
  /** Classifies decoding failures without hiding unexpected loader errors. */
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
5
  import { Activity, getTypeId } from "@fedify/vocab";
6
6
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
7
7
  import { getLogger } from "@logtape/logtape";
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
5
  import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
6
6
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
7
7
  import { FetchError, UrlError, getDocumentLoader } from "@fedify/vocab-runtime";
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { l as validateCryptoKey, t as doubleKnockScoped } from "./http-Dwj7bNhv.js";
3
+ import { l as validateCryptoKey, t as doubleKnockScoped } from "./http-BS1CmlZ6.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { curry } from "es-toolkit";
6
6
  import { FetchError, UrlError, createActivityPubRequest, getRemoteDocument, logRequest, preloadedContexts } from "@fedify/vocab-runtime";
@@ -1,7 +1,7 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  require("./chunk-DDcVe30Y.cjs");
4
- const require_http = require("./http-5u2wDmjl.cjs");
4
+ const require_http = require("./http-DbDnj-Q7.cjs");
5
5
  let _logtape_logtape = require("@logtape/logtape");
6
6
  let es_toolkit = require("es-toolkit");
7
7
  let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
5
- import { o as validateCryptoKey, r as fetchKey } from "./key-BD-PBpNB.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
+ import { o as validateCryptoKey, r as fetchKey } from "./key-1Gf85RN1.mjs";
6
6
  import { Activity, CryptographicKey, Object as Object$1, getTypeId } from "@fedify/vocab";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { getDocumentLoader } from "@fedify/vocab-runtime";
@@ -1,5 +1,5 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as FederationImpl } from "./middleware-DzaMP9BP.mjs";
4
+ import { n as FederationImpl } from "./middleware-DDM0j-X6.mjs";
5
5
  export { FederationImpl };
@@ -2,10 +2,10 @@ import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { t as __exportAll } from "./chunk-CRNNMoPX.js";
4
4
  import { r as getDefaultActivityTransformers } from "./transformers-BGMIq1cs.js";
5
- import { c as importJwk, d as name, f as version, i as exportJwk, l as validateCryptoKey, r as verifyRequest, t as doubleKnockScoped } from "./http-Dwj7bNhv.js";
5
+ import { c as importJwk, d as name, f as version, i as exportJwk, l as validateCryptoKey, r as verifyRequest, t as doubleKnockScoped } from "./http-BS1CmlZ6.js";
6
6
  import { a as MAX_BODY_SIZE, i as BodyTooLargeError, n as getNodeInfo, o as readBoundedText, t as nodeInfoToJson } from "./types-B1_pRFE_.js";
7
- import { _ as signJsonLd, a as doesActorOwnKey, c as assertSafeJsonLd, f as detachSignature, g as isInvalidUrlTypeError, h as isClearlyMalformedContextReference, m as hasSignature, n as signObject, o as getKeyOwner, p as getNormalizationContextLoader, r as verifyObject, s as InvalidContextReferenceError, u as compactJsonLd, v as verifyCompactJsonLd, x as wrapContextLoaderForJsonLd } from "./proof-D5IUmaZ0.js";
8
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-5TdAMHng.js";
7
+ import { _ as signJsonLd, a as doesActorOwnKey, c as assertSafeJsonLd, f as detachSignature, g as isInvalidUrlTypeError, h as isClearlyMalformedContextReference, m as hasSignature, n as signObject, o as getKeyOwner, p as getNormalizationContextLoader, r as verifyObject, s as InvalidContextReferenceError, u as compactJsonLd, v as verifyCompactJsonLd, x as wrapContextLoaderForJsonLd } from "./proof-BBHUW8ev.js";
8
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-BARiicPE.js";
9
9
  import { getLogger, withContext } from "@logtape/logtape";
10
10
  import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
11
11
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
@@ -16,6 +16,7 @@ import { encodeHex } from "byte-encodings/hex";
16
16
  import { FetchError, UrlError, getDocumentLoader } from "@fedify/vocab-runtime";
17
17
  import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_HEADER, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
18
18
  import jsonld from "@fedify/vocab-runtime/jsonld";
19
+ import { normalizeDateTimeLiteral } from "@fedify/vocab-runtime/temporal";
19
20
  import { lookupWebFinger } from "@fedify/webfinger";
20
21
  import { openDirectFetch, openPublicFetch } from "@fedify/vocab-runtime/internal";
21
22
  import { domainToASCII } from "node:url";
@@ -999,9 +1000,6 @@ function acceptsJsonLd(request) {
999
1000
  function isPlainObject(value) {
1000
1001
  return typeof value === "object" && value != null && !Array.isArray(value);
1001
1002
  }
1002
- function normalizeDateTimeLiteral(value) {
1003
- return value.substring(19).match(/[Z+-]/) ? value : value + "Z";
1004
- }
1005
1003
  function isMalformedDateTimeLiteral(value) {
1006
1004
  if (typeof value !== "string") return false;
1007
1005
  try {
@@ -1043,7 +1041,7 @@ function hasMalformedExpandedQuestionClosedLiteral(value) {
1043
1041
  if (typeof literal === "boolean") return false;
1044
1042
  if (typeof literal !== "string") return false;
1045
1043
  if (value["@type"] !== XSD_DATE_TIME_IRI) return false;
1046
- if (new Date(literal).toString() === "Invalid Date") return false;
1044
+ if (new Date(literal).toString() === "Invalid Date" && new Date(normalizeDateTimeLiteral(literal)).toString() === "Invalid Date") return false;
1047
1045
  return isMalformedDateTimeLiteral(literal);
1048
1046
  }
1049
1047
  function hasMalformedExpandedDurationLiteral(value) {
@@ -1,4 +1,4 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
- const require_middleware = require("./middleware-Co4IpMca.cjs");
3
+ const require_middleware = require("./middleware-DThg01d8.cjs");
4
4
  exports.FederationImpl = require_middleware.FederationImpl;
@@ -2,24 +2,24 @@ import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
4
  import { n as RouterError } from "./router-CrMLXoOr.mjs";
5
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
6
- import { a as importJwk, o as validateCryptoKey, t as exportJwk } from "./key-BD-PBpNB.mjs";
7
- import { u as verifyRequest } from "./http-9wCo74JF.mjs";
8
- import { n as getAuthenticatedDocumentLoader } from "./docloader-CyBB50Om.mjs";
5
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
6
+ import { a as importJwk, o as validateCryptoKey, t as exportJwk } from "./key-1Gf85RN1.mjs";
7
+ import { u as verifyRequest } from "./http-DGD9d8-A.mjs";
8
+ import { n as getAuthenticatedDocumentLoader } from "./docloader-DpTrZ5sA.mjs";
9
9
  import { n as kvCache } from "./kv-cache-BrjuJue8.mjs";
10
- import { a as compactJsonLd, c as getNormalizationContextLoader, d as isInvalidUrlTypeError, f as signJsonLd, g as wrapContextLoaderForJsonLd, l as hasSignature, p as verifyCompactJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as isClearlyMalformedContextReference } from "./ld-34_mZbyP.mjs";
11
- import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-CxBLBD2K.mjs";
12
- import { n as signObject, r as verifyObject } from "./proof-DhW1tGUz.mjs";
10
+ import { a as compactJsonLd, c as getNormalizationContextLoader, d as isInvalidUrlTypeError, f as signJsonLd, g as wrapContextLoaderForJsonLd, l as hasSignature, p as verifyCompactJsonLd, r as assertSafeJsonLd, s as detachSignature, t as InvalidContextReferenceError, u as isClearlyMalformedContextReference } from "./ld-BuuOR_Ms.mjs";
11
+ import { n as getKeyOwner, t as doesActorOwnKey } from "./owner-BI33UeIv.mjs";
12
+ import { n as signObject, r as verifyObject } from "./proof-GM73LJjx.mjs";
13
13
  import { d as MAX_BODY_SIZE, f as readBoundedText, t as getNodeInfo, u as BodyTooLargeError } from "./client-DGNacEx_.mjs";
14
14
  import { t as nodeInfoToJson } from "./types-MNlFfxjv.mjs";
15
- import { n as actorsHaveSameOrigin, r as routeActivity } from "./inbox-De2IaCfd.mjs";
16
- import { t as FederationBuilderImpl } from "./builder-CpxZPa7I.mjs";
15
+ import { n as actorsHaveSameOrigin, r as routeActivity } from "./inbox-BwpBTbhH.mjs";
16
+ import { t as FederationBuilderImpl } from "./builder-Dndt590h.mjs";
17
17
  import { t as buildCollectionSynchronizationHeader } from "./collection-DI6YzYpd.mjs";
18
18
  import { t as KvKeyCache } from "./keycache-DBD6fzl1.mjs";
19
19
  import { t as acceptsJsonLd } from "./negotiation-TWEs6Cl8.mjs";
20
- import { t as hasMalformedKnownTemporalLiteral } from "./temporal-BbywNJ81.mjs";
20
+ import { t as hasMalformedKnownTemporalLiteral } from "./temporal-CfNFB7M_.mjs";
21
21
  import { t as createExponentialBackoffPolicy } from "./retry-Ddbq3AcK.mjs";
22
- import { i as sendActivity, n as extractInboxes, t as SendActivityError } from "./send-CdfEXNS7.mjs";
22
+ import { i as sendActivity, n as extractInboxes, t as SendActivityError } from "./send-nImUK91D.mjs";
23
23
  import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId, lookupObject, traverseCollection } from "@fedify/vocab";
24
24
  import { lookupWebFinger } from "@fedify/webfinger";
25
25
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
@@ -2,10 +2,10 @@ const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  const require_chunk = require("./chunk-DDcVe30Y.cjs");
4
4
  const require_transformers = require("./transformers-NeAONrAq.cjs");
5
- const require_http = require("./http-5u2wDmjl.cjs");
5
+ const require_http = require("./http-DbDnj-Q7.cjs");
6
6
  const require_types = require("./types-DOvyymM4.cjs");
7
- const require_proof = require("./proof-yX6qSpxk.cjs");
8
- const require_kv_cache = require("./kv-cache-ivTOKx4b.cjs");
7
+ const require_proof = require("./proof-vVwkNRv4.cjs");
8
+ const require_kv_cache = require("./kv-cache-BdA7HpfF.cjs");
9
9
  let _logtape_logtape = require("@logtape/logtape");
10
10
  let _fedify_vocab = require("@fedify/vocab");
11
11
  let _opentelemetry_api = require("@opentelemetry/api");
@@ -17,6 +17,7 @@ let _fedify_vocab_runtime = require("@fedify/vocab-runtime");
17
17
  let _opentelemetry_semantic_conventions = require("@opentelemetry/semantic-conventions");
18
18
  let _fedify_vocab_runtime_jsonld = require("@fedify/vocab-runtime/jsonld");
19
19
  _fedify_vocab_runtime_jsonld = require_chunk.__toESM(_fedify_vocab_runtime_jsonld);
20
+ let _fedify_vocab_runtime_temporal = require("@fedify/vocab-runtime/temporal");
20
21
  let _fedify_webfinger = require("@fedify/webfinger");
21
22
  let _fedify_vocab_runtime_internal = require("@fedify/vocab-runtime/internal");
22
23
  let node_url = require("node:url");
@@ -350,7 +351,7 @@ var FederationBuilderImpl = class {
350
351
  this.collectionTypeIds = {};
351
352
  }
352
353
  async build(options) {
353
- const { FederationImpl } = await Promise.resolve().then(() => require("./middleware-DhwZ4gNG.cjs"));
354
+ const { FederationImpl } = await Promise.resolve().then(() => require("./middleware-D9TWYyT_.cjs"));
354
355
  const f = new FederationImpl(options);
355
356
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
356
357
  f.router = this.router.clone();
@@ -1000,13 +1001,10 @@ function acceptsJsonLd(request) {
1000
1001
  function isPlainObject(value) {
1001
1002
  return typeof value === "object" && value != null && !Array.isArray(value);
1002
1003
  }
1003
- function normalizeDateTimeLiteral(value) {
1004
- return value.substring(19).match(/[Z+-]/) ? value : value + "Z";
1005
- }
1006
1004
  function isMalformedDateTimeLiteral(value) {
1007
1005
  if (typeof value !== "string") return false;
1008
1006
  try {
1009
- Temporal.Instant.from(normalizeDateTimeLiteral(value));
1007
+ Temporal.Instant.from((0, _fedify_vocab_runtime_temporal.normalizeDateTimeLiteral)(value));
1010
1008
  return false;
1011
1009
  } catch {
1012
1010
  return true;
@@ -1044,7 +1042,7 @@ function hasMalformedExpandedQuestionClosedLiteral(value) {
1044
1042
  if (typeof literal === "boolean") return false;
1045
1043
  if (typeof literal !== "string") return false;
1046
1044
  if (value["@type"] !== XSD_DATE_TIME_IRI) return false;
1047
- if (new Date(literal).toString() === "Invalid Date") return false;
1045
+ if (new Date(literal).toString() === "Invalid Date" && new Date((0, _fedify_vocab_runtime_temporal.normalizeDateTimeLiteral)(literal)).toString() === "Invalid Date") return false;
1048
1046
  return isMalformedDateTimeLiteral(literal);
1049
1047
  }
1050
1048
  function hasMalformedExpandedDurationLiteral(value) {
package/dist/mod.cjs CHANGED
@@ -4,11 +4,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  require("./chunk-DDcVe30Y.cjs");
5
5
  const require_transformers = require("./transformers-NeAONrAq.cjs");
6
6
  require("./compat/mod.cjs");
7
- const require_http = require("./http-5u2wDmjl.cjs");
8
- const require_middleware = require("./middleware-Co4IpMca.cjs");
7
+ const require_http = require("./http-DbDnj-Q7.cjs");
8
+ const require_middleware = require("./middleware-DThg01d8.cjs");
9
9
  const require_types = require("./types-DOvyymM4.cjs");
10
- const require_proof = require("./proof-yX6qSpxk.cjs");
11
- const require_kv_cache = require("./kv-cache-ivTOKx4b.cjs");
10
+ const require_proof = require("./proof-vVwkNRv4.cjs");
11
+ const require_kv_cache = require("./kv-cache-BdA7HpfF.cjs");
12
12
  const require_federation_mod = require("./federation/mod.cjs");
13
13
  require("./nodeinfo/mod.cjs");
14
14
  require("./runtime/mod.cjs");
package/dist/mod.js CHANGED
@@ -3,11 +3,11 @@ import { URLPattern } from "urlpattern-polyfill";
3
3
  import "./chunk-CRNNMoPX.js";
4
4
  import { n as autoIdAssigner, r as getDefaultActivityTransformers, t as actorDehydrator } from "./transformers-BGMIq1cs.js";
5
5
  import "./compat/mod.js";
6
- import { c as importJwk, i as exportJwk, n as signRequest, o as fetchKey, r as verifyRequest, s as generateCryptoKeyPair } from "./http-Dwj7bNhv.js";
7
- import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "./middleware-DTJ9dnYC.js";
6
+ import { c as importJwk, i as exportJwk, n as signRequest, o as fetchKey, r as verifyRequest, s as generateCryptoKeyPair } from "./http-BS1CmlZ6.js";
7
+ import { a as createExponentialBackoffPolicy, c as buildCollectionSynchronizationHeader, d as Router, f as RouterError, i as SendActivityError, l as digest, o as respondWithObject, r as handleWebFinger, s as respondWithObjectIfAcceptable, t as createFederation, u as createFederationBuilder } from "./middleware-CQRCnFB4.js";
8
8
  import { n as getNodeInfo, r as parseNodeInfo, t as nodeInfoToJson } from "./types-B1_pRFE_.js";
9
- import { _ as signJsonLd, a as doesActorOwnKey, b as verifySignature, d as createSignature, f as detachSignature, i as verifyProof, l as attachSignature, n as signObject, o as getKeyOwner, r as verifyObject, t as createProof, y as verifyJsonLd } from "./proof-D5IUmaZ0.js";
10
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-5TdAMHng.js";
9
+ import { _ as signJsonLd, a as doesActorOwnKey, b as verifySignature, d as createSignature, f as detachSignature, i as verifyProof, l as attachSignature, n as signObject, o as getKeyOwner, r as verifyObject, t as createProof, y as verifyJsonLd } from "./proof-BBHUW8ev.js";
10
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "./kv-cache-BARiicPE.js";
11
11
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation/mod.js";
12
12
  import "./nodeinfo/mod.js";
13
13
  import "./runtime/mod.js";
@@ -5,7 +5,7 @@ import { n as createRequestContext } from "../context-Juj6bdHC.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import "../std__assert-DflMZha5.mjs";
7
7
  import { t as MemoryKvStore } from "../kv-mI4Ix2EU.mjs";
8
- import { a as createFederation, h as handleNodeInfoJrd, m as handleNodeInfo } from "../middleware-DzaMP9BP.mjs";
8
+ import { a as createFederation, h as handleNodeInfoJrd, m as handleNodeInfo } from "../middleware-DDM0j-X6.mjs";
9
9
  import { test } from "@fedify/fixture";
10
10
  //#region src/nodeinfo/handler.test.ts
11
11
  test("handleNodeInfo()", async () => {
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
5
- import { n as fetchActorDocument, s as verifyKeyOwnership, t as exportJwk } from "./key-BD-PBpNB.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
+ import { n as fetchActorDocument, s as verifyKeyOwnership, t as exportJwk } from "./key-1Gf85RN1.mjs";
6
6
  import { CryptographicKey, Object as Object$1, isActor } from "@fedify/vocab";
7
7
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { getDocumentLoader } from "@fedify/vocab-runtime";
@@ -1,6 +1,6 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { a as fetchActorDocument, d as name, f as version, i as exportJwk, l as validateCryptoKey, o as fetchKey, u as verifyKeyOwnership } from "./http-Dwj7bNhv.js";
3
+ import { a as fetchActorDocument, d as name, f as version, i as exportJwk, l as validateCryptoKey, o as fetchKey, u as verifyKeyOwnership } from "./http-BS1CmlZ6.js";
4
4
  import { getLogger } from "@logtape/logtape";
5
5
  import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "@fedify/vocab";
6
6
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
@@ -1,8 +1,8 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
5
- import { o as validateCryptoKey, r as fetchKey } from "./key-BD-PBpNB.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
+ import { o as validateCryptoKey, r as fetchKey } from "./key-1Gf85RN1.mjs";
6
6
  import { Activity, DataIntegrityProof, Multikey, getTypeId } from "@fedify/vocab";
7
7
  import { SpanStatusCode, trace } from "@opentelemetry/api";
8
8
  import { getLogger } from "@logtape/logtape";
@@ -1,7 +1,7 @@
1
1
  const { Temporal } = require("@js-temporal/polyfill");
2
2
  const { URLPattern } = require("urlpattern-polyfill");
3
3
  const require_chunk = require("./chunk-DDcVe30Y.cjs");
4
- const require_http = require("./http-5u2wDmjl.cjs");
4
+ const require_http = require("./http-DbDnj-Q7.cjs");
5
5
  let _logtape_logtape = require("@logtape/logtape");
6
6
  let _fedify_vocab = require("@fedify/vocab");
7
7
  let _opentelemetry_api = require("@opentelemetry/api");
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-BAtjc8bx.mjs";
5
- import { r as doubleKnockScoped } from "./http-9wCo74JF.mjs";
4
+ import { n as version, t as name } from "./deno-D_rTMbAD.mjs";
5
+ import { r as doubleKnockScoped } from "./http-DGD9d8-A.mjs";
6
6
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
7
7
  import { FetchError, UrlError } from "@fedify/vocab-runtime";
8
8
  import { openDirectFetch, openPublicFetch } from "@fedify/vocab-runtime/internal";
@@ -7,8 +7,8 @@ import { i as assertExists, t as assertStringIncludes } from "../std__assert-Dfl
7
7
  import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
8
8
  import { t as assert } from "../assert-BhQd8QHP.mjs";
9
9
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
10
- import { t as exportJwk } from "../key-BD-PBpNB.mjs";
11
- import { a as formatRfc9421SignatureParameters, c as signRequest, i as formatRfc9421Signature, l as timingSafeEqual, n as doubleKnock, o as parseRfc9421Signature, r as doubleKnockScoped, s as parseRfc9421SignatureInput, t as createRfc9421SignatureBase, u as verifyRequest } from "../http-9wCo74JF.mjs";
10
+ import { t as exportJwk } from "../key-1Gf85RN1.mjs";
11
+ import { a as formatRfc9421SignatureParameters, c as signRequest, i as formatRfc9421Signature, l as timingSafeEqual, n as doubleKnock, o as parseRfc9421Signature, r as doubleKnockScoped, s as parseRfc9421SignatureInput, t as createRfc9421SignatureBase, u as verifyRequest } from "../http-DGD9d8-A.mjs";
12
12
  import { i as rsaPrivateKey2, l as rsaPublicKey5, o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-CCxRJhWa.mjs";
13
13
  import { mockDocumentLoader, test } from "@fedify/fixture";
14
14
  import { FetchError, exportSpki } from "@fedify/vocab-runtime";
@@ -6,9 +6,9 @@ import { n as assertStrictEquals } from "../std__assert-DflMZha5.mjs";
6
6
  import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
7
7
  import { t as assert } from "../assert-BhQd8QHP.mjs";
8
8
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
9
- import { a as importJwk, i as generateCryptoKeyPair, o as validateCryptoKey, r as fetchKey, t as exportJwk } from "../key-BD-PBpNB.mjs";
9
+ import { a as importJwk, i as generateCryptoKeyPair, o as validateCryptoKey, r as fetchKey, t as exportJwk } from "../key-1Gf85RN1.mjs";
10
10
  import { c as rsaPublicKey3, i as rsaPrivateKey2, o as rsaPublicKey1, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
11
- import { g as wrapContextLoaderForJsonLd } from "../ld-34_mZbyP.mjs";
11
+ import { g as wrapContextLoaderForJsonLd } from "../ld-BuuOR_Ms.mjs";
12
12
  import { mockDocumentLoader, test } from "@fedify/fixture";
13
13
  import { CryptographicKey, Multikey, Person } from "@fedify/vocab";
14
14
  import { FetchError, UrlError, getDocumentLoader } from "@fedify/vocab-runtime";
@@ -5,9 +5,9 @@ import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
5
5
  import { r as assertFalse, t as assertThrows } from "../assert_throws-D4DNWrux.mjs";
6
6
  import { n as assertInstanceOf, t as assert } from "../assert-BhQd8QHP.mjs";
7
7
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
8
- import { i as generateCryptoKeyPair } from "../key-BD-PBpNB.mjs";
8
+ import { i as generateCryptoKeyPair } from "../key-1Gf85RN1.mjs";
9
9
  import { a as rsaPrivateKey3, c as rsaPublicKey3, i as rsaPrivateKey2, n as ed25519PrivateKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
10
- import { a as compactJsonLd, d as isInvalidUrlTypeError, f as signJsonLd, h as verifySignature, i as attachSignature, m as verifyJsonLd, n as UnsafeJsonLdError, o as createSignature, s as detachSignature } from "../ld-34_mZbyP.mjs";
10
+ import { a as compactJsonLd, d as isInvalidUrlTypeError, f as signJsonLd, h as verifySignature, i as attachSignature, m as verifyJsonLd, n as UnsafeJsonLdError, o as createSignature, s as detachSignature } from "../ld-BuuOR_Ms.mjs";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  import { CryptographicKey } from "@fedify/vocab";
13
13
  import { encodeBase64 } from "byte-encodings/base64";
package/dist/sig/mod.cjs CHANGED
@@ -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
- const require_http = require("../http-5u2wDmjl.cjs");
5
- const require_proof = require("../proof-yX6qSpxk.cjs");
4
+ const require_http = require("../http-DbDnj-Q7.cjs");
5
+ const require_proof = require("../proof-vVwkNRv4.cjs");
6
6
  exports.attachSignature = require_proof.attachSignature;
7
7
  exports.createProof = require_proof.createProof;
8
8
  exports.createSignature = require_proof.createSignature;
package/dist/sig/mod.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { c as importJwk, i as exportJwk, n as signRequest, o as fetchKey, r as verifyRequest, s as generateCryptoKeyPair } from "../http-Dwj7bNhv.js";
4
- import { _ as signJsonLd, a as doesActorOwnKey, b as verifySignature, d as createSignature, f as detachSignature, i as verifyProof, l as attachSignature, n as signObject, o as getKeyOwner, r as verifyObject, t as createProof, y as verifyJsonLd } from "../proof-D5IUmaZ0.js";
3
+ import { c as importJwk, i as exportJwk, n as signRequest, o as fetchKey, r as verifyRequest, s as generateCryptoKeyPair } from "../http-BS1CmlZ6.js";
4
+ import { _ as signJsonLd, a as doesActorOwnKey, b as verifySignature, d as createSignature, f as detachSignature, i as verifyProof, l as attachSignature, n as signObject, o as getKeyOwner, r as verifyObject, t as createProof, y as verifyJsonLd } from "../proof-BBHUW8ev.js";
5
5
  export { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, exportJwk, fetchKey, generateCryptoKeyPair, getKeyOwner, importJwk, signJsonLd, signObject, signRequest, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifySignature };
@@ -6,7 +6,7 @@ import "../std__assert-DflMZha5.mjs";
6
6
  import { r as assertFalse } from "../assert_throws-D4DNWrux.mjs";
7
7
  import { t as assert } from "../assert-BhQd8QHP.mjs";
8
8
  import { o as rsaPublicKey1, s as rsaPublicKey2 } from "../keys-CCxRJhWa.mjs";
9
- import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-CxBLBD2K.mjs";
9
+ import { n as getKeyOwner, t as doesActorOwnKey } from "../owner-BI33UeIv.mjs";
10
10
  import { createTestTracerProvider, mockDocumentLoader, test } from "@fedify/fixture";
11
11
  import { Create, CryptographicKey, lookupObject } from "@fedify/vocab";
12
12
  //#region src/sig/owner.test.ts
@@ -6,7 +6,7 @@ import "../std__assert-DflMZha5.mjs";
6
6
  import { n as assertInstanceOf } from "../assert-BhQd8QHP.mjs";
7
7
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
8
8
  import { i as rsaPrivateKey2, n as ed25519PrivateKey, r as ed25519PublicKey, s as rsaPublicKey2, t as ed25519Multikey } from "../keys-CCxRJhWa.mjs";
9
- import { i as verifyProof, n as signObject, r as verifyObject, t as createProof } from "../proof-DhW1tGUz.mjs";
9
+ import { i as verifyProof, n as signObject, r as verifyObject, t as createProof } from "../proof-GM73LJjx.mjs";
10
10
  import { mockDocumentLoader, test } from "@fedify/fixture";
11
11
  import { Create, DataIntegrityProof, Multikey, Note, Place } from "@fedify/vocab";
12
12
  import { decodeMultibase, importMultibaseKey } from "@fedify/vocab-runtime";
@@ -1,15 +1,13 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { c as getNormalizationContextLoader } from "./ld-34_mZbyP.mjs";
4
+ import { c as getNormalizationContextLoader } from "./ld-BuuOR_Ms.mjs";
5
5
  import jsonld from "@fedify/vocab-runtime/jsonld";
6
+ import { normalizeDateTimeLiteral } from "@fedify/vocab-runtime/temporal";
6
7
  //#region src/federation/temporal.ts
7
8
  function isPlainObject(value) {
8
9
  return typeof value === "object" && value != null && !Array.isArray(value);
9
10
  }
10
- function normalizeDateTimeLiteral(value) {
11
- return value.substring(19).match(/[Z+-]/) ? value : value + "Z";
12
- }
13
11
  function isMalformedDateTimeLiteral(value) {
14
12
  if (typeof value !== "string") return false;
15
13
  try {
@@ -51,7 +49,7 @@ function hasMalformedExpandedQuestionClosedLiteral(value) {
51
49
  if (typeof literal === "boolean") return false;
52
50
  if (typeof literal !== "string") return false;
53
51
  if (value["@type"] !== XSD_DATE_TIME_IRI) return false;
54
- if (new Date(literal).toString() === "Invalid Date") return false;
52
+ if (new Date(literal).toString() === "Invalid Date" && new Date(normalizeDateTimeLiteral(literal)).toString() === "Invalid Date") return false;
55
53
  return isMalformedDateTimeLiteral(literal);
56
54
  }
57
55
  function hasMalformedExpandedDurationLiteral(value) {
@@ -5,9 +5,9 @@ import { t as esm_default } from "../esm-DVILvP5e.mjs";
5
5
  import { t as assertEquals } from "../assert_equals-Ew3jOFa3.mjs";
6
6
  import "../std__assert-DflMZha5.mjs";
7
7
  import { t as assertRejects } from "../assert_rejects-WyYSTDDX.mjs";
8
- import { u as verifyRequest } from "../http-9wCo74JF.mjs";
8
+ import { u as verifyRequest } from "../http-DGD9d8-A.mjs";
9
9
  import { i as rsaPrivateKey2 } from "../keys-CCxRJhWa.mjs";
10
- import { n as getAuthenticatedDocumentLoader, t as createAuthenticatedDocumentLoader } from "../docloader-CyBB50Om.mjs";
10
+ import { n as getAuthenticatedDocumentLoader, t as createAuthenticatedDocumentLoader } from "../docloader-DpTrZ5sA.mjs";
11
11
  import { mockDocumentLoader, test } from "@fedify/fixture";
12
12
  import { FetchError, UrlError } from "@fedify/vocab-runtime";
13
13
  import { openDirectFetch, openPublicFetch } from "@fedify/vocab-runtime/internal";
@@ -1,6 +1,6 @@
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
- const require_kv_cache = require("../kv-cache-ivTOKx4b.cjs");
4
+ const require_kv_cache = require("../kv-cache-BdA7HpfF.cjs");
5
5
  exports.getAuthenticatedDocumentLoader = require_kv_cache.getAuthenticatedDocumentLoader;
6
6
  exports.kvCache = require_kv_cache.kvCache;
package/dist/utils/mod.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
- import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-5TdAMHng.js";
3
+ import { n as getAuthenticatedDocumentLoader, t as kvCache } from "../kv-cache-BARiicPE.js";
4
4
  export { getAuthenticatedDocumentLoader, kvCache };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fedify/fedify",
3
- "version": "2.0.35",
3
+ "version": "2.0.36-dev.2551+8b012df4",
4
4
  "description": "An ActivityPub server framework",
5
5
  "keywords": [
6
6
  "ActivityPub",
@@ -144,9 +144,9 @@
144
144
  "uri-template-router": "^1.0.0",
145
145
  "url-template": "^3.1.1",
146
146
  "urlpattern-polyfill": "^10.1.0",
147
- "@fedify/vocab": "2.0.35",
148
- "@fedify/webfinger": "2.0.35",
149
- "@fedify/vocab-runtime": "2.0.35"
147
+ "@fedify/vocab": "2.0.36-dev.2551+8b012df4",
148
+ "@fedify/webfinger": "2.0.36-dev.2551+8b012df4",
149
+ "@fedify/vocab-runtime": "2.0.36-dev.2551+8b012df4"
150
150
  },
151
151
  "devDependencies": {
152
152
  "@std/assert": "npm:@jsr/std__assert@^0.226.0",
@@ -159,7 +159,7 @@
159
159
  "typescript": "^6.0.0",
160
160
  "wrangler": "^4.17.0",
161
161
  "@fedify/fixture": "2.0.0",
162
- "@fedify/vocab-tools": "^2.0.35"
162
+ "@fedify/vocab-tools": "^2.0.36-dev.2551+8b012df4"
163
163
  },
164
164
  "scripts": {
165
165
  "build:self": "tsdown",