@fedify/fedify 1.8.0-dev.952 → 1.8.0-dev.959

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 (77) hide show
  1. package/dist/{actor-BWFxNSnR.js → actor-DewPM7FL.js} +179 -179
  2. package/dist/{actor-EzU7ndeu.js → actor-DfR5oNcy.js} +3 -3
  3. package/dist/{authdocloader-h0v96Scc.js → authdocloader-7OedBFV-.js} +3 -3
  4. package/dist/{authdocloader-BQKkNzeH.js → authdocloader-CcXLonaa.js} +3 -3
  5. package/dist/{builder-DbBHCZXD.js → builder-uCnChNB-.js} +3 -3
  6. package/dist/{client-yKecM_0d.js → client--XbwNkCA.js} +1 -1
  7. package/dist/compat/mod.d.ts +4 -4
  8. package/dist/compat/transformers.test.js +17 -17
  9. package/dist/{context-CKwXdbmG.js → context-BugaDoCZ.js} +2 -2
  10. package/dist/{context-y90aX3KP.d.ts → context-CrSyJrIa.d.ts} +2 -2
  11. package/dist/{docloader-onqGGiQb.js → docloader-o4PMHdEx.js} +1 -1
  12. package/dist/{docloader-BFuRHsay.js → docloader-zdP1pRCI.js} +1 -1
  13. package/dist/federation/builder.test.js +4 -4
  14. package/dist/federation/handler.test.js +19 -19
  15. package/dist/federation/inbox.test.js +3 -3
  16. package/dist/federation/keycache.test.js +3 -3
  17. package/dist/federation/middleware.test.js +18 -18
  18. package/dist/federation/mod.d.ts +3 -3
  19. package/dist/federation/mod.js +10 -10
  20. package/dist/federation/send.test.js +9 -9
  21. package/dist/{http-BkeuJbKU.js → http-1qb2IzZT.js} +3 -3
  22. package/dist/{http-Dm8W6Xii.js → http-B4ripTwL.js} +3 -3
  23. package/dist/{inbox-B33dAqgO.js → inbox-DugEZEvU.js} +2 -2
  24. package/dist/{key-Cn9gw2pj.js → key-BRImrm-b.js} +2 -2
  25. package/dist/{key-kDZgr5No.js → key-BxTosl9N.js} +3 -3
  26. package/dist/{key-DgNRq-3b.js → key-C51fJY3p.js} +4 -4
  27. package/dist/{key-tL6-pWKv.js → key-Dr3Mw6OB.js} +5 -5
  28. package/dist/{keycache-Bnl-7eYm.js → keycache-BwGzlsrb.js} +1 -1
  29. package/dist/{keys-DuQwoYwB.js → keys-BMbNbw8j.js} +1 -1
  30. package/dist/{ld-BTb4k201.js → ld-CGZ8UI2u.js} +3 -3
  31. package/dist/{lookup-C7tY3Xdt.js → lookup-C0ttAuWJ.js} +4 -3
  32. package/dist/{lookup-DHNtuVcT.d.ts → lookup-J_m4YZg0.d.ts} +6 -0
  33. package/dist/{lookup-M0i1aD0a.js → lookup-fnJznpaH.js} +61 -9
  34. package/dist/{lookup-BT8SOdcA.js → lookup-kaJG82XH.js} +4 -3
  35. package/dist/middleware-BSrckXF2.js +33 -0
  36. package/dist/{middleware-ClwV-KmF.js → middleware-Ce-XGMnR.js} +10 -10
  37. package/dist/{middleware-C37kF-sp.js → middleware-DnRE18Ay.js} +15 -15
  38. package/dist/middleware-Du_Chh7L.js +17 -0
  39. package/dist/{mod-BzLUzgBJ.d.ts → mod-BFwgZ7_K.d.ts} +75 -1
  40. package/dist/{mod-CaGwZaei.d.ts → mod-DpE8T10I.d.ts} +1 -1
  41. package/dist/mod.d.ts +5 -5
  42. package/dist/mod.js +11 -11
  43. package/dist/nodeinfo/client.test.js +2 -2
  44. package/dist/nodeinfo/handler.test.js +18 -18
  45. package/dist/nodeinfo/mod.js +2 -2
  46. package/dist/{owner-eYr4V3my.js → owner-OkPEYrul.js} +3 -3
  47. package/dist/{proof-DMkP6wLl.js → proof-BCA5wNq_.js} +3 -3
  48. package/dist/{proof-gll-kzgh.js → proof-eRhBuYO0.js} +3 -3
  49. package/dist/runtime/authdocloader.test.js +8 -8
  50. package/dist/runtime/docloader.test.js +1 -1
  51. package/dist/runtime/key.test.js +5 -5
  52. package/dist/runtime/mod.js +6 -6
  53. package/dist/{send-qy1MbuwP.js → send-adILR1KB.js} +2 -2
  54. package/dist/sig/http.test.js +7 -7
  55. package/dist/sig/key.test.js +6 -6
  56. package/dist/sig/ld.test.js +7 -7
  57. package/dist/sig/mod.js +6 -6
  58. package/dist/sig/owner.test.js +8 -8
  59. package/dist/sig/proof.test.js +7 -7
  60. package/dist/{types-Bzi8SON9.js → types-DgP4n6Vh.js} +1 -1
  61. package/dist/vocab/actor.test.js +4 -4
  62. package/dist/vocab/lookup.test.js +4 -4
  63. package/dist/vocab/mod.d.ts +2 -2
  64. package/dist/vocab/mod.js +5 -5
  65. package/dist/vocab/type.test.js +2 -2
  66. package/dist/vocab/vocab.test.js +3 -3
  67. package/dist/{vocab-DPfUWFNl.js → vocab-BsVG3894.js} +178 -178
  68. package/dist/{vocab-CKWclA_p.js → vocab-Cmyrj4bm.js} +83 -10
  69. package/dist/webfinger/handler.test.js +18 -18
  70. package/dist/webfinger/lookup.test.js +20 -2
  71. package/dist/webfinger/mod.d.ts +1 -1
  72. package/dist/webfinger/mod.js +2 -2
  73. package/dist/x/hono.d.ts +3 -3
  74. package/dist/x/sveltekit.d.ts +3 -3
  75. package/package.json +1 -1
  76. package/dist/middleware-BYv6Ixgi.js +0 -33
  77. package/dist/middleware-DzQMeTkq.js +0 -17
@@ -78,6 +78,12 @@ interface LookupWebFingerOptions {
78
78
  * @since 1.4.0
79
79
  */
80
80
  allowPrivateAddress?: boolean;
81
+ /**
82
+ * The maximum number of redirections to follow.
83
+ * @default `5`
84
+ * @since 1.8.0
85
+ */
86
+ maxRedirection?: number;
81
87
  /**
82
88
  * The OpenTelemetry tracer provider. If omitted, the global tracer provider
83
89
  * is used.
@@ -3,21 +3,77 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader } from "./docloader-BFuRHsay.js";
7
- import { Object as Object$1 } from "./vocab-DPfUWFNl.js";
8
- import { lookupWebFinger } from "./lookup-BT8SOdcA.js";
6
+ import { deno_default, getDocumentLoader } from "./docloader-zdP1pRCI.js";
7
+ import { Object as Object$1 } from "./vocab-BsVG3894.js";
8
+ import { lookupWebFinger } from "./lookup-kaJG82XH.js";
9
9
  import { getTypeId } from "./type-D2s5lmbZ.js";
10
10
  import { delay } from "es-toolkit";
11
11
  import { getLogger } from "@logtape/logtape";
12
12
  import { SpanStatusCode, trace } from "@opentelemetry/api";
13
13
 
14
+ //#region vocab/handle.ts
15
+ /**
16
+ * Regular expression to match a fediverse handle in the format `@user@server`
17
+ * or `user@server`. The `user` part can contain alphanumeric characters and
18
+ * some special characters except `@`. The `server` part is all characters
19
+ * after the `@` symbol in the middle.
20
+ */
21
+ const handleRegexp = /^@?((?:[-A-Za-z0-9._~!$&'()*+,;=]|%[A-Fa-f0-9]{2})+)@([^@]+)$/;
22
+ /**
23
+ * Parses a fediverse handle in the format `@user@server` or `user@server`.
24
+ * The `user` part can contain alphanumeric characters and some special
25
+ * characters except `@`. The `server` part is all characters after the `@`
26
+ * symbol in the middle.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const handle = parseFediverseHandle("@username@example.com");
31
+ * console.log(handle?.username); // "username"
32
+ * console.log(handle?.host); // "example.com"
33
+ * ```
34
+ *
35
+ * @param handle - The fediverse handle string to parse.
36
+ * @returns A {@link FediverseHandle} object with `username` and `host`
37
+ * if the input is valid; otherwise `null`.
38
+ * @since 1.8.0
39
+ */
40
+ function parseFediverseHandle(handle) {
41
+ const match = handleRegexp.exec(handle);
42
+ if (match) return {
43
+ username: match[1],
44
+ host: match[2]
45
+ };
46
+ return null;
47
+ }
48
+ /**
49
+ * Converts a fediverse handle in the format `@user@server` or `user@server`
50
+ * to an `acct:` URI, which is a URL-like identifier for ActivityPub actors.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const identifier = toAcctUrl("@username@example.com");
55
+ * console.log(identifier?.href); // "acct:username@example.com"
56
+ * ```
57
+ *
58
+ * @param handle - The fediverse handle string to convert.
59
+ * @returns A `URL` object representing the `acct:` URI if conversion succeeds;
60
+ * otherwise `null`.
61
+ * @since 1.8.0
62
+ */
63
+ function toAcctUrl(handle) {
64
+ const parsed = parseFediverseHandle(handle);
65
+ if (!parsed) return null;
66
+ const identifier = new URL(`acct:${parsed.username}@${parsed.host}`);
67
+ return identifier;
68
+ }
69
+
70
+ //#endregion
14
71
  //#region vocab/lookup.ts
15
72
  const logger = getLogger([
16
73
  "fedify",
17
74
  "vocab",
18
75
  "lookup"
19
76
  ]);
20
- const handleRegexp = /^@?((?:[-A-Za-z0-9._~!$&'()*+,;=]|%[A-Fa-f0-9]{2})+)@([^@]+)$/;
21
77
  /**
22
78
  * Looks up an ActivityStreams object by its URI (including `acct:` URIs)
23
79
  * or a fediverse handle (e.g., `@user@server` or `user@server`).
@@ -76,11 +132,7 @@ async function lookupObject(identifier, options = {}) {
76
132
  }
77
133
  async function lookupObjectInternal(identifier, options = {}) {
78
134
  const documentLoader = options.documentLoader ?? getDocumentLoader({ userAgent: options.userAgent });
79
- if (typeof identifier === "string") {
80
- const match = handleRegexp.exec(identifier);
81
- if (match) identifier = `acct:${match[1]}@${match[2]}`;
82
- identifier = new URL(identifier);
83
- }
135
+ if (typeof identifier === "string") identifier = toAcctUrl(identifier) ?? new URL(identifier);
84
136
  let document = null;
85
137
  if (identifier.protocol === "http:" || identifier.protocol === "https:") try {
86
138
  const remoteDoc = await documentLoader(identifier.href);
@@ -3,7 +3,7 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getUserAgent } from "./docloader-BFuRHsay.js";
6
+ import { deno_default, getUserAgent } from "./docloader-zdP1pRCI.js";
7
7
  import { UrlError, validatePublicUrl } from "./url-kTAI6_KP.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
@@ -14,7 +14,7 @@ const logger = getLogger([
14
14
  "webfinger",
15
15
  "lookup"
16
16
  ]);
17
- const MAX_REDIRECTION = 5;
17
+ const DEFAULT_MAX_REDIRECTION = 5;
18
18
  /**
19
19
  * Looks up a WebFinger resource.
20
20
  * @param resource The resource URL to look up.
@@ -92,7 +92,8 @@ async function lookupWebFingerInternal(resource, options = {}) {
92
92
  }
93
93
  if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
94
94
  redirected++;
95
- if (redirected >= MAX_REDIRECTION) {
95
+ const maxRedirection = options.maxRedirection ?? DEFAULT_MAX_REDIRECTION;
96
+ if (redirected >= maxRedirection) {
96
97
  logger.error("Too many redirections ({redirections}) while fetching WebFinger resource descriptor.", { redirections: redirected });
97
98
  return null;
98
99
  }
@@ -0,0 +1,33 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+ globalThis.addEventListener = () => {};
5
+
6
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-DnRE18Ay.js";
7
+ import "./docloader-zdP1pRCI.js";
8
+ import "./url-kTAI6_KP.js";
9
+ import "./semver-DWClQt_5.js";
10
+ import "./client--XbwNkCA.js";
11
+ import "./router-D3UybECj.js";
12
+ import "./types-C7C_l-jz.js";
13
+ import "./multibase-DeCHcK8L.js";
14
+ import "./vocab-BsVG3894.js";
15
+ import "./langstr-DbWheeIS.js";
16
+ import "./lookup-kaJG82XH.js";
17
+ import "./type-D2s5lmbZ.js";
18
+ import "./actor-DfR5oNcy.js";
19
+ import "./key-BxTosl9N.js";
20
+ import "./http-1qb2IzZT.js";
21
+ import "./authdocloader-CcXLonaa.js";
22
+ import "./ld-CGZ8UI2u.js";
23
+ import "./owner-OkPEYrul.js";
24
+ import "./proof-BCA5wNq_.js";
25
+ import "./lookup-fnJznpaH.js";
26
+ import "./inbox-DugEZEvU.js";
27
+ import "./builder-uCnChNB-.js";
28
+ import "./collection-Dfb0TPno.js";
29
+ import "./keycache-BwGzlsrb.js";
30
+ import "./retry-BiIhZWgD.js";
31
+ import "./send-adILR1KB.js";
32
+
33
+ export { FederationImpl };
@@ -3,15 +3,15 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
5
  import { getDefaultActivityTransformers } from "./transformers-ghwJuzGY.js";
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-onqGGiQb.js";
7
- import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-BWFxNSnR.js";
8
- import { lookupWebFinger } from "./lookup-C7tY3Xdt.js";
9
- import { exportJwk, importJwk, validateCryptoKey } from "./key-Cn9gw2pj.js";
10
- import { doubleKnock, verifyRequest } from "./http-Dm8W6Xii.js";
11
- import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-gll-kzgh.js";
12
- import { getNodeInfo, nodeInfoToJson } from "./types-Bzi8SON9.js";
13
- import { getAuthenticatedDocumentLoader } from "./authdocloader-h0v96Scc.js";
14
- import { lookupObject, traverseCollection } from "./vocab-CKWclA_p.js";
6
+ import { deno_default, getDocumentLoader, kvCache } from "./docloader-o4PMHdEx.js";
7
+ import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-DewPM7FL.js";
8
+ import { lookupWebFinger } from "./lookup-C0ttAuWJ.js";
9
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-BRImrm-b.js";
10
+ import { doubleKnock, verifyRequest } from "./http-B4ripTwL.js";
11
+ import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-eRhBuYO0.js";
12
+ import { getNodeInfo, nodeInfoToJson } from "./types-DgP4n6Vh.js";
13
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-7OedBFV-.js";
14
+ import { lookupObject, traverseCollection } from "./vocab-Cmyrj4bm.js";
15
15
  import { getLogger, withContext } from "@logtape/logtape";
16
16
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
17
17
  import { encodeHex } from "byte-encodings/hex";
@@ -312,7 +312,7 @@ var FederationBuilderImpl = class {
312
312
  this.objectTypeIds = {};
313
313
  }
314
314
  async build(options) {
315
- const { FederationImpl: FederationImpl$1 } = await import("./middleware-DzQMeTkq.js");
315
+ const { FederationImpl: FederationImpl$1 } = await import("./middleware-Du_Chh7L.js");
316
316
  const f = new FederationImpl$1(options);
317
317
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
318
318
  f.router = this.router.clone();
@@ -3,26 +3,26 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default, getDocumentLoader, kvCache } from "./docloader-BFuRHsay.js";
7
- import { getNodeInfo } from "./client-yKecM_0d.js";
6
+ import { deno_default, getDocumentLoader, kvCache } from "./docloader-zdP1pRCI.js";
7
+ import { getNodeInfo } from "./client--XbwNkCA.js";
8
8
  import { RouterError } from "./router-D3UybECj.js";
9
9
  import { nodeInfoToJson } from "./types-C7C_l-jz.js";
10
- import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-DPfUWFNl.js";
11
- import { lookupWebFinger } from "./lookup-BT8SOdcA.js";
10
+ import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-BsVG3894.js";
11
+ import { lookupWebFinger } from "./lookup-kaJG82XH.js";
12
12
  import { getTypeId } from "./type-D2s5lmbZ.js";
13
- import { exportJwk, importJwk, validateCryptoKey } from "./key-kDZgr5No.js";
14
- import { verifyRequest } from "./http-BkeuJbKU.js";
15
- import { getAuthenticatedDocumentLoader } from "./authdocloader-BQKkNzeH.js";
16
- import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-BTb4k201.js";
17
- import { doesActorOwnKey, getKeyOwner } from "./owner-eYr4V3my.js";
18
- import { signObject, verifyObject } from "./proof-DMkP6wLl.js";
19
- import { lookupObject, traverseCollection } from "./lookup-M0i1aD0a.js";
20
- import { routeActivity } from "./inbox-B33dAqgO.js";
21
- import { FederationBuilderImpl } from "./builder-DbBHCZXD.js";
13
+ import { exportJwk, importJwk, validateCryptoKey } from "./key-BxTosl9N.js";
14
+ import { verifyRequest } from "./http-1qb2IzZT.js";
15
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-CcXLonaa.js";
16
+ import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-CGZ8UI2u.js";
17
+ import { doesActorOwnKey, getKeyOwner } from "./owner-OkPEYrul.js";
18
+ import { signObject, verifyObject } from "./proof-BCA5wNq_.js";
19
+ import { lookupObject, traverseCollection } from "./lookup-fnJznpaH.js";
20
+ import { routeActivity } from "./inbox-DugEZEvU.js";
21
+ import { FederationBuilderImpl } from "./builder-uCnChNB-.js";
22
22
  import { buildCollectionSynchronizationHeader } from "./collection-Dfb0TPno.js";
23
- import { KvKeyCache } from "./keycache-Bnl-7eYm.js";
23
+ import { KvKeyCache } from "./keycache-BwGzlsrb.js";
24
24
  import { createExponentialBackoffPolicy } from "./retry-BiIhZWgD.js";
25
- import { extractInboxes, sendActivity } from "./send-qy1MbuwP.js";
25
+ import { extractInboxes, sendActivity } from "./send-adILR1KB.js";
26
26
  import { getLogger, withContext } from "@logtape/logtape";
27
27
  import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
28
28
  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";
@@ -0,0 +1,17 @@
1
+
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import "./transformers-ghwJuzGY.js";
6
+ import "./docloader-o4PMHdEx.js";
7
+ import "./actor-DewPM7FL.js";
8
+ import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-Ce-XGMnR.js";
9
+ import "./lookup-C0ttAuWJ.js";
10
+ import "./key-BRImrm-b.js";
11
+ import "./http-B4ripTwL.js";
12
+ import "./proof-eRhBuYO0.js";
13
+ import "./types-DgP4n6Vh.js";
14
+ import "./authdocloader-7OedBFV-.js";
15
+ import "./vocab-Cmyrj4bm.js";
16
+
17
+ export { FederationImpl };
@@ -127,6 +127,80 @@ declare function traverseCollection(collection: Collection, options?: TraverseCo
127
127
  */
128
128
  declare const PUBLIC_COLLECTION: URL;
129
129
  //#endregion
130
+ //#region vocab/handle.d.ts
131
+ /**
132
+ * Represents a fediverse handle, which consists of a username and a host.
133
+ * The username can be alphanumeric and may include special characters,
134
+ * while the host is typically a domain name.
135
+ * @since 1.8.0
136
+ */
137
+ interface FediverseHandle {
138
+ /**
139
+ * The username part of the fediverse handle.
140
+ * It can include alphanumeric characters and some special characters.
141
+ */
142
+ readonly username: string;
143
+ /**
144
+ * The host part of the fediverse handle, typically a domain name.
145
+ * It is the part after the `@` symbol in the handle.
146
+ */
147
+ readonly host: string;
148
+ }
149
+ /**
150
+ * Parses a fediverse handle in the format `@user@server` or `user@server`.
151
+ * The `user` part can contain alphanumeric characters and some special
152
+ * characters except `@`. The `server` part is all characters after the `@`
153
+ * symbol in the middle.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * const handle = parseFediverseHandle("@username@example.com");
158
+ * console.log(handle?.username); // "username"
159
+ * console.log(handle?.host); // "example.com"
160
+ * ```
161
+ *
162
+ * @param handle - The fediverse handle string to parse.
163
+ * @returns A {@link FediverseHandle} object with `username` and `host`
164
+ * if the input is valid; otherwise `null`.
165
+ * @since 1.8.0
166
+ */
167
+ declare function parseFediverseHandle(handle: string): FediverseHandle | null;
168
+ /**
169
+ * Checks if a string is a valid fediverse handle in the format `@user@server`
170
+ * or `user@server`. The `user` part can contain alphanumeric characters and
171
+ * some special characters except `@`. The `server` part is all characters
172
+ * after the `@` symbol in the middle.
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * console.log(isFediverseHandle("@username@example.com")); // true
177
+ * console.log(isFediverseHandle("username@example.com")); // true
178
+ * console.log(isFediverseHandle("@username@")); // false
179
+ * ```
180
+ *
181
+ * @param handle - The string to test as a fediverse handle.
182
+ * @returns `true` if the string matches the fediverse handle pattern;
183
+ * otherwise `false`.
184
+ * @since 1.8.0
185
+ */
186
+ declare function isFediverseHandle(handle: string): handle is `${string}@${string}`;
187
+ /**
188
+ * Converts a fediverse handle in the format `@user@server` or `user@server`
189
+ * to an `acct:` URI, which is a URL-like identifier for ActivityPub actors.
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * const identifier = toAcctUrl("@username@example.com");
194
+ * console.log(identifier?.href); // "acct:username@example.com"
195
+ * ```
196
+ *
197
+ * @param handle - The fediverse handle string to convert.
198
+ * @returns A `URL` object representing the `acct:` URI if conversion succeeds;
199
+ * otherwise `null`.
200
+ * @since 1.8.0
201
+ */
202
+ declare function toAcctUrl(handle: string): URL | null;
203
+ //#endregion
130
204
  //#region vocab/type.d.ts
131
205
  /**
132
206
  * Returns the type URI of the given object.
@@ -209,4 +283,4 @@ declare function getTypeId(object: Object$1 | Link | null): URL | null;
209
283
  */
210
284
  declare function getTypeId(object: Object$1 | Link | null | undefined): URL | null | undefined;
211
285
  //#endregion
212
- export { LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, lookupObject, traverseCollection };
286
+ export { FediverseHandle, LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection };
@@ -1,7 +1,7 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
2
  import { URLPattern } from "urlpattern-polyfill";
3
3
  import { Activity } from "./vocab-By6mpzr-.js";
4
- import { ActivityTransformer, Context } from "./context-y90aX3KP.js";
4
+ import { ActivityTransformer, Context } from "./context-CrSyJrIa.js";
5
5
 
6
6
  //#region compat/transformers.d.ts
7
7
 
package/dist/mod.d.ts CHANGED
@@ -7,14 +7,14 @@ import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, B
7
7
  import { Actor, ActorTypeName, GetActorHandleOptions, NormalizeActorHandleOptions, Recipient, getActorClassByTypeName, getActorHandle, getActorTypeName, isActor, normalizeActorHandle } from "./actor-B4TBtqRP.js";
8
8
  import { FetchKeyOptions, FetchKeyResult, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, KeyCache, SignRequestOptions, VerifyRequestOptions, exportJwk, fetchKey, generateCryptoKeyPair, importJwk, signRequest, verifyRequest } from "./http-CP2ZUALI.js";
9
9
  import { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner } from "./owner-CEv_PfyK.js";
10
- import { LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, lookupObject, traverseCollection } from "./mod-BzLUzgBJ.js";
11
- import { ResourceDescriptor, lookupWebFinger } from "./lookup-DHNtuVcT.js";
12
- import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-y90aX3KP.js";
10
+ import { FediverseHandle, LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./mod-BFwgZ7_K.js";
11
+ import { ResourceDescriptor, lookupWebFinger } from "./lookup-J_m4YZg0.js";
12
+ import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-CrSyJrIa.js";
13
13
  import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-DYKDDJmp.js";
14
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-CaGwZaei.js";
14
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-DpE8T10I.js";
15
15
  import "./mod-g0xFzAP9.js";
16
16
  import "./mod-1pDWKvUL.js";
17
17
  import { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki } from "./mod-CytXBx8A.js";
18
18
  import { CreateProofOptions, CreateSignatureOptions, SignJsonLdOptions, SignObjectOptions, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifySignatureOptions, attachSignature, createProof, createSignature, detachSignature, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./mod-D2uPZuP-.js";
19
19
  import "./mod-GIh5OYxW.js";
20
- export { Accept, Activity, ActivityTransformer, Actor, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, ActorTypeName, Add, Announce, Application, Arrive, Article, Audio, AuthenticatedDocumentLoaderFactory, AuthorizePredicate, Block, ChatMessage, Collection, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, CollectionPage, Context, Create, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CreateProofOptions, CreateSignatureOptions, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, DoesActorOwnKeyOptions, Emoji, EmojiReact, Endpoints, Event, Export, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FetchError, FetchKeyOptions, FetchKeyResult, Flag, Follow, ForwardActivityOptions, GetActorHandleOptions, GetAuthenticatedDocumentLoaderOptions, GetDocumentLoaderOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, GetUserAgentOptions, Group, Hashtag, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, Ignore, Image, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, IntransitiveActivity, Invite, Join, JsonValue, KeyCache, KvCacheParameters, KvKey, KvStore, KvStoreSetOptions, LanguageString, Leave, Like, Link, Listen, LookupObjectOptions, MemoryKvStore, Mention, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, Move, Multikey, NodeInfo, NodeInfoDispatcher, NormalizeActorHandleOptions, Note, Object$1 as Object, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, Offer, OrderedCollection, OrderedCollectionPage, Organization, OutboundService, OutboxErrorHandler, PUBLIC_COLLECTION, Page, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, Person, Place, Profile, PropertyValue, Protocol, Question, Read, Recipient, Reject, Relationship, RemoteDocument, Remove, RequestContext, ResourceDescriptor, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SemVer, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Service, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, Source, TentativeAccept, TentativeReject, Tombstone, Travel, TraverseCollectionOptions, Undo, Update, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifyRequestOptions, VerifySignatureOptions, Video, View, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, exportMultibaseKey, exportSpki, fetchDocumentLoader, fetchKey, formatSemVer, generateCryptoKeyPair, getActorClassByTypeName, getActorHandle, getActorTypeName, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getDocumentLoader, getKeyOwner, getNodeInfo, getTypeId, getUserAgent, importJwk, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, kvCache, lookupObject, lookupWebFinger, nodeInfoToJson, normalizeActorHandle, parseNodeInfo, parseSemVer, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, traverseCollection, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifySignature };
20
+ export { Accept, Activity, ActivityTransformer, Actor, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, ActorTypeName, Add, Announce, Application, Arrive, Article, Audio, AuthenticatedDocumentLoaderFactory, AuthorizePredicate, Block, ChatMessage, Collection, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, CollectionPage, Context, Create, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CreateProofOptions, CreateSignatureOptions, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, DoesActorOwnKeyOptions, Emoji, EmojiReact, Endpoints, Event, Export, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, FediverseHandle, FetchError, FetchKeyOptions, FetchKeyResult, Flag, Follow, ForwardActivityOptions, GetActorHandleOptions, GetAuthenticatedDocumentLoaderOptions, GetDocumentLoaderOptions, GetKeyOwnerOptions, GetNodeInfoOptions, GetSignedKeyOptions, GetUserAgentOptions, Group, Hashtag, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, Ignore, Image, InProcessMessageQueue, InProcessMessageQueueOptions, InboundService, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, IntransitiveActivity, Invite, Join, JsonValue, KeyCache, KvCacheParameters, KvKey, KvStore, KvStoreSetOptions, LanguageString, Leave, Like, Link, Listen, LookupObjectOptions, MemoryKvStore, Mention, Message, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, Move, Multikey, NodeInfo, NodeInfoDispatcher, NormalizeActorHandleOptions, Note, Object$1 as Object, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, Offer, OrderedCollection, OrderedCollectionPage, Organization, OutboundService, OutboxErrorHandler, PUBLIC_COLLECTION, Page, PageItems, ParallelMessageQueue, ParseNodeInfoOptions, ParseUriResult, Person, Place, Profile, PropertyValue, Protocol, Question, Read, Recipient, Reject, Relationship, RemoteDocument, Remove, RequestContext, ResourceDescriptor, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SemVer, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, Service, Services, SharedInboxKeyDispatcher, SignJsonLdOptions, SignObjectOptions, SignRequestOptions, Software, Source, TentativeAccept, TentativeReject, Tombstone, Travel, TraverseCollectionOptions, Undo, Update, Usage, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifyRequestOptions, VerifySignatureOptions, Video, View, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, exportMultibaseKey, exportSpki, fetchDocumentLoader, fetchKey, formatSemVer, generateCryptoKeyPair, getActorClassByTypeName, getActorHandle, getActorTypeName, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getDocumentLoader, getKeyOwner, getNodeInfo, getTypeId, getUserAgent, importJwk, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, isFediverseHandle, kvCache, lookupObject, lookupWebFinger, nodeInfoToJson, normalizeActorHandle, parseFediverseHandle, parseNodeInfo, parseSemVer, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, toAcctUrl, traverseCollection, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifySignature };
package/dist/mod.js CHANGED
@@ -4,20 +4,20 @@
4
4
 
5
5
  import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./transformers-ghwJuzGY.js";
6
6
  import "./compat-Bb5myD13.js";
7
- import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-onqGGiQb.js";
8
- import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-BWFxNSnR.js";
9
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-ClwV-KmF.js";
10
- import { lookupWebFinger } from "./lookup-C7tY3Xdt.js";
11
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-Cn9gw2pj.js";
12
- import { signRequest, verifyRequest } from "./http-Dm8W6Xii.js";
13
- import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-gll-kzgh.js";
7
+ import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-o4PMHdEx.js";
8
+ import { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, Flag, Follow, Group, Hashtag, Ignore, Image, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, Mention, Move, Multikey, Note, Object as Object$1, Offer, OrderedCollection, OrderedCollectionPage, Organization, Page, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, exportMultibaseKey, exportSpki, getActorClassByTypeName, getActorHandle, getActorTypeName, getTypeId, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, normalizeActorHandle } from "./actor-DewPM7FL.js";
9
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-Ce-XGMnR.js";
10
+ import { lookupWebFinger } from "./lookup-C0ttAuWJ.js";
11
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-BRImrm-b.js";
12
+ import { signRequest, verifyRequest } from "./http-B4ripTwL.js";
13
+ import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-eRhBuYO0.js";
14
14
  import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-C44ekWNP.js";
15
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-Bzi8SON9.js";
16
- import { getAuthenticatedDocumentLoader } from "./authdocloader-h0v96Scc.js";
17
- import { PUBLIC_COLLECTION, lookupObject, traverseCollection } from "./vocab-CKWclA_p.js";
15
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-DgP4n6Vh.js";
16
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-7OedBFV-.js";
17
+ import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./vocab-Cmyrj4bm.js";
18
18
  import "./nodeinfo-CyEbLjHs.js";
19
19
  import "./runtime-BSkOVUWM.js";
20
20
  import "./sig-BXJO--F9.js";
21
21
  import "./webfinger-C3GIyXIg.js";
22
22
 
23
- export { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, FetchError, Flag, Follow, Group, Hashtag, Ignore, Image, InProcessMessageQueue, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, MemoryKvStore, Mention, Move, Multikey, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, ParallelMessageQueue, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Router, RouterError, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, exportMultibaseKey, exportSpki, fetchDocumentLoader, fetchKey, formatSemVer, generateCryptoKeyPair, getActorClassByTypeName, getActorHandle, getActorTypeName, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getDocumentLoader, getKeyOwner, getNodeInfo, getTypeId, getUserAgent, importJwk, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, kvCache, lookupObject, lookupWebFinger, nodeInfoToJson, normalizeActorHandle, parseNodeInfo, parseSemVer, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, traverseCollection, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifySignature };
23
+ export { Accept, Activity, Add, Announce, Application, Arrive, Article, Audio, Block, ChatMessage, Collection, CollectionPage, Create, CryptographicKey, DataIntegrityProof, Delete, DidService, Dislike, Document, Emoji, EmojiReact, Endpoints, Event, Export, FetchError, Flag, Follow, Group, Hashtag, Ignore, Image, InProcessMessageQueue, IntransitiveActivity, Invite, Join, LanguageString, Leave, Like, Link, Listen, MemoryKvStore, Mention, Move, Multikey, Note, Object$1 as Object, Offer, OrderedCollection, OrderedCollectionPage, Organization, PUBLIC_COLLECTION, Page, ParallelMessageQueue, Person, Place, Profile, PropertyValue, Question, Read, Reject, Relationship, Remove, Router, RouterError, Service, Source, TentativeAccept, TentativeReject, Tombstone, Travel, Undo, Update, Video, View, actorDehydrator, attachSignature, autoIdAssigner, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, createProof, createSignature, detachSignature, digest, doesActorOwnKey, exportJwk, exportMultibaseKey, exportSpki, fetchDocumentLoader, fetchKey, formatSemVer, generateCryptoKeyPair, getActorClassByTypeName, getActorHandle, getActorTypeName, getAuthenticatedDocumentLoader, getDefaultActivityTransformers, getDocumentLoader, getKeyOwner, getNodeInfo, getTypeId, getUserAgent, importJwk, importMultibaseKey, importPem, importPkcs1, importSpki, isActor, isFediverseHandle, kvCache, lookupObject, lookupWebFinger, nodeInfoToJson, normalizeActorHandle, parseFediverseHandle, parseNodeInfo, parseSemVer, respondWithObject, respondWithObjectIfAcceptable, signJsonLd, signObject, signRequest, toAcctUrl, traverseCollection, verifyJsonLd, verifyObject, verifyProof, verifyRequest, verifySignature };
@@ -6,10 +6,10 @@
6
6
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
- import "../docloader-BFuRHsay.js";
9
+ import "../docloader-zdP1pRCI.js";
10
10
  import "../url-kTAI6_KP.js";
11
11
  import "../semver-DWClQt_5.js";
12
- import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-yKecM_0d.js";
12
+ import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client--XbwNkCA.js";
13
13
  import { test } from "../testing-BZ0dJ4qn.js";
14
14
  import "../std__assert-B3iAixc-.js";
15
15
  import "../assert_rejects-DceVjUlD.js";
@@ -7,32 +7,32 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-C37kF-sp.js";
11
- import "../docloader-BFuRHsay.js";
10
+ import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-DnRE18Ay.js";
11
+ import "../docloader-zdP1pRCI.js";
12
12
  import "../url-kTAI6_KP.js";
13
13
  import { parseSemVer } from "../semver-DWClQt_5.js";
14
- import "../client-yKecM_0d.js";
14
+ import "../client--XbwNkCA.js";
15
15
  import "../router-D3UybECj.js";
16
16
  import "../types-C7C_l-jz.js";
17
17
  import "../multibase-DeCHcK8L.js";
18
- import "../vocab-DPfUWFNl.js";
18
+ import "../vocab-BsVG3894.js";
19
19
  import "../langstr-DbWheeIS.js";
20
- import "../lookup-BT8SOdcA.js";
20
+ import "../lookup-kaJG82XH.js";
21
21
  import "../type-D2s5lmbZ.js";
22
- import "../actor-EzU7ndeu.js";
23
- import "../key-kDZgr5No.js";
24
- import "../http-BkeuJbKU.js";
25
- import "../authdocloader-BQKkNzeH.js";
26
- import "../ld-BTb4k201.js";
27
- import "../owner-eYr4V3my.js";
28
- import "../proof-DMkP6wLl.js";
29
- import "../lookup-M0i1aD0a.js";
30
- import "../inbox-B33dAqgO.js";
31
- import "../builder-DbBHCZXD.js";
22
+ import "../actor-DfR5oNcy.js";
23
+ import "../key-BxTosl9N.js";
24
+ import "../http-1qb2IzZT.js";
25
+ import "../authdocloader-CcXLonaa.js";
26
+ import "../ld-CGZ8UI2u.js";
27
+ import "../owner-OkPEYrul.js";
28
+ import "../proof-BCA5wNq_.js";
29
+ import "../lookup-fnJznpaH.js";
30
+ import "../inbox-DugEZEvU.js";
31
+ import "../builder-uCnChNB-.js";
32
32
  import "../collection-Dfb0TPno.js";
33
- import "../keycache-Bnl-7eYm.js";
33
+ import "../keycache-BwGzlsrb.js";
34
34
  import "../retry-BiIhZWgD.js";
35
- import "../send-qy1MbuwP.js";
35
+ import "../send-adILR1KB.js";
36
36
  import { test } from "../testing-BZ0dJ4qn.js";
37
37
  import "../std__assert-B3iAixc-.js";
38
38
  import "../assert_rejects-DceVjUlD.js";
@@ -40,7 +40,7 @@ import "../assert_is_error-DQdKoRgb.js";
40
40
  import "../assert_not_equals-7pyUM3Ib.js";
41
41
  import "../assert_throws-DTDC_gwN.js";
42
42
  import "../docloader-09nVWLAZ.js";
43
- import { createRequestContext } from "../context-CKwXdbmG.js";
43
+ import { createRequestContext } from "../context-BugaDoCZ.js";
44
44
 
45
45
  //#region nodeinfo/handler.test.ts
46
46
  test("handleNodeInfo()", async () => {
@@ -2,8 +2,8 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import "../docloader-onqGGiQb.js";
6
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "../types-Bzi8SON9.js";
5
+ import "../docloader-o4PMHdEx.js";
6
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "../types-DgP4n6Vh.js";
7
7
  import "../nodeinfo-CyEbLjHs.js";
8
8
 
9
9
  export { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer };
@@ -3,9 +3,9 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { getDocumentLoader } from "./docloader-BFuRHsay.js";
7
- import { CryptographicKey, Object as Object$1 } from "./vocab-DPfUWFNl.js";
8
- import { isActor } from "./actor-EzU7ndeu.js";
6
+ import { getDocumentLoader } from "./docloader-zdP1pRCI.js";
7
+ import { CryptographicKey, Object as Object$1 } from "./vocab-BsVG3894.js";
8
+ import { isActor } from "./actor-DfR5oNcy.js";
9
9
  import { trace } from "@opentelemetry/api";
10
10
 
11
11
  //#region sig/owner.ts
@@ -3,10 +3,10 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import { deno_default } from "./docloader-BFuRHsay.js";
7
- import { Activity, DataIntegrityProof, Multikey } from "./vocab-DPfUWFNl.js";
6
+ import { deno_default } from "./docloader-zdP1pRCI.js";
7
+ import { Activity, DataIntegrityProof, Multikey } from "./vocab-BsVG3894.js";
8
8
  import { getTypeId } from "./type-D2s5lmbZ.js";
9
- import { fetchKey, validateCryptoKey } from "./key-kDZgr5No.js";
9
+ import { fetchKey, validateCryptoKey } from "./key-BxTosl9N.js";
10
10
  import { getLogger } from "@logtape/logtape";
11
11
  import { SpanStatusCode, trace } from "@opentelemetry/api";
12
12
  import { encodeHex } from "byte-encodings/hex";
@@ -2,9 +2,9 @@
2
2
  import { Temporal } from "@js-temporal/polyfill";
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
 
5
- import { deno_default, getDocumentLoader } from "./docloader-onqGGiQb.js";
6
- import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-BWFxNSnR.js";
7
- import { fetchKey, validateCryptoKey } from "./key-Cn9gw2pj.js";
5
+ import { deno_default, getDocumentLoader } from "./docloader-o4PMHdEx.js";
6
+ import { Activity, CryptographicKey, DataIntegrityProof, Multikey, Object as Object$1, getTypeId, isActor } from "./actor-DewPM7FL.js";
7
+ import { fetchKey, validateCryptoKey } from "./key-BRImrm-b.js";
8
8
  import { getLogger } from "@logtape/logtape";
9
9
  import { SpanStatusCode, trace } from "@opentelemetry/api";
10
10
  import jsonld from "jsonld";
@@ -6,17 +6,17 @@
6
6
  import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
- import "../docloader-BFuRHsay.js";
9
+ import "../docloader-zdP1pRCI.js";
10
10
  import { UrlError } from "../url-kTAI6_KP.js";
11
11
  import "../multibase-DeCHcK8L.js";
12
- import "../vocab-DPfUWFNl.js";
12
+ import "../vocab-BsVG3894.js";
13
13
  import "../langstr-DbWheeIS.js";
14
- import "../lookup-BT8SOdcA.js";
14
+ import "../lookup-kaJG82XH.js";
15
15
  import "../type-D2s5lmbZ.js";
16
- import "../actor-EzU7ndeu.js";
17
- import "../key-kDZgr5No.js";
18
- import { verifyRequest } from "../http-BkeuJbKU.js";
19
- import { getAuthenticatedDocumentLoader } from "../authdocloader-BQKkNzeH.js";
16
+ import "../actor-DfR5oNcy.js";
17
+ import "../key-BxTosl9N.js";
18
+ import { verifyRequest } from "../http-1qb2IzZT.js";
19
+ import { getAuthenticatedDocumentLoader } from "../authdocloader-CcXLonaa.js";
20
20
  import { test } from "../testing-BZ0dJ4qn.js";
21
21
  import "../std__assert-B3iAixc-.js";
22
22
  import { assertRejects } from "../assert_rejects-DceVjUlD.js";
@@ -24,7 +24,7 @@ import "../assert_is_error-DQdKoRgb.js";
24
24
  import "../assert_not_equals-7pyUM3Ib.js";
25
25
  import "../assert_throws-DTDC_gwN.js";
26
26
  import { mockDocumentLoader } from "../docloader-09nVWLAZ.js";
27
- import { rsaPrivateKey2 } from "../keys-DuQwoYwB.js";
27
+ import { rsaPrivateKey2 } from "../keys-BMbNbw8j.js";
28
28
  import { esm_default } from "../esm-d-9EVGaP.js";
29
29
 
30
30
  //#region runtime/authdocloader.test.ts
@@ -7,7 +7,7 @@ import { assertEquals } from "../assert_equals-C5gKCm6A.js";
7
7
  import "../assert-DwEa6glZ.js";
8
8
  import "../assert_instance_of-C9QtN-X9.js";
9
9
  import { MemoryKvStore } from "../kv-D7Yt6pnB.js";
10
- import { FetchError, contexts_default, deno_default, getDocumentLoader, getUserAgent, kvCache } from "../docloader-BFuRHsay.js";
10
+ import { FetchError, contexts_default, deno_default, getDocumentLoader, getUserAgent, kvCache } from "../docloader-zdP1pRCI.js";
11
11
  import { UrlError } from "../url-kTAI6_KP.js";
12
12
  import { test } from "../testing-BZ0dJ4qn.js";
13
13
  import "../std__assert-B3iAixc-.js";