@fedify/fedify 1.9.0-dev.1605 → 1.9.0-dev.1668

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 (155) hide show
  1. package/dist/{actor-Bp5E1_uo.js → actor-BHAPrCDB.js} +1 -1
  2. package/dist/actor-CHOM_AN3.d.cts +128 -0
  3. package/dist/{actor-Bi2qvBSd.js → actor-ChSW_rBk.js} +200 -200
  4. package/dist/actor-fGD4yb1K.cjs +37783 -0
  5. package/dist/{authdocloader-BE3rMpjB.js → authdocloader-CgrKtaQg.js} +3 -3
  6. package/dist/{authdocloader-CtNUOc_o.js → authdocloader-ChsJ9FJN.js} +6 -6
  7. package/dist/authdocloader-eSrbn3wM.cjs +58 -0
  8. package/dist/{builder-i_bWHUua.js → builder-DI4-Kpdg.js} +4 -4
  9. package/dist/chunk-DqRYRqnO.cjs +34 -0
  10. package/dist/{client-DzL0DiuM.js → client-B8gJ1cw8.js} +1 -1
  11. package/dist/client-DjT_tegg.d.cts +294 -0
  12. package/dist/compat/mod.cjs +10 -0
  13. package/dist/compat/mod.d.cts +13 -0
  14. package/dist/compat/mod.js +5 -5
  15. package/dist/compat/transformers.test.js +16 -16
  16. package/dist/compat-DmDDELst.cjs +4 -0
  17. package/dist/compat-nxUqe4Z-.js +4 -0
  18. package/dist/context-KXVF2AhH.d.cts +2261 -0
  19. package/dist/{docloader-OJ23BINE.js → docloader-Bqh-eFNP.js} +188 -8
  20. package/dist/docloader-CSB8cAnw.cjs +4862 -0
  21. package/dist/docloader-D-MrRyHl.d.cts +219 -0
  22. package/dist/{esm-CyuitQYP.js → esm-DTi75ew2.js} +1 -1
  23. package/dist/federation/builder.test.js +5 -5
  24. package/dist/federation/collection.test.js +3 -3
  25. package/dist/federation/handler.test.js +17 -17
  26. package/dist/federation/inbox.test.js +4 -4
  27. package/dist/federation/keycache.test.js +4 -4
  28. package/dist/federation/kv.test.js +4 -3
  29. package/dist/federation/middleware.test.js +18 -18
  30. package/dist/federation/mod.cjs +29 -0
  31. package/dist/federation/mod.d.cts +13 -0
  32. package/dist/federation/mod.js +15 -15
  33. package/dist/federation/mq.test.js +3 -3
  34. package/dist/federation/retry.test.js +3 -3
  35. package/dist/federation/router.test.js +3 -3
  36. package/dist/federation/send.test.js +10 -10
  37. package/dist/{federation-CMX7WzeL.js → federation-D1U8YY9t.js} +3 -3
  38. package/dist/federation-H2_En3j5.cjs +244 -0
  39. package/dist/http-BDErrXSN.cjs +826 -0
  40. package/dist/http-B_zBcsai.d.cts +253 -0
  41. package/dist/{http-BptJ8gzr.js → http-BpAVdmaR.js} +2 -2
  42. package/dist/{http-CGKESoOD.js → http-DBHpjcjo.js} +6 -6
  43. package/dist/{inbox-D5YFCsS2.js → inbox-BA9sYsBf.js} +1 -1
  44. package/dist/key-2rIHnPaA.js +10 -0
  45. package/dist/{key-C_beSXh2.js → key-B27QtSbc.js} +2 -2
  46. package/dist/key-CYpTUnwf.cjs +290 -0
  47. package/dist/key-Ck4-GNm0.cjs +10 -0
  48. package/dist/{key-D7obyu6i.js → key-DSOJOcRH.js} +3 -3
  49. package/dist/{key-UR9dBv1x.js → key-sCE-TgxY.js} +5 -5
  50. package/dist/{keycache-Ocm3x-aO.js → keycache-CiW2SvJu.js} +1 -1
  51. package/dist/{keys-C0sHgFeh.js → keys-5cHW76LQ.js} +1 -1
  52. package/dist/kv-63Cil1MD.d.cts +81 -0
  53. package/dist/{ld-BP8uv8u-.js → ld-upnKn3yw.js} +2 -2
  54. package/dist/{lookup-DmESd_mM.js → lookup-B61sZAOY.js} +4 -4
  55. package/dist/lookup-BrrOs_g1.cjs +137 -0
  56. package/dist/{lookup-BrGv9cks.js → lookup-CZBG-vCx.js} +1 -1
  57. package/dist/{middleware-Sfxf2Vmo.js → middleware-CfP7UhQy.js} +28 -28
  58. package/dist/{middleware-CZ-uRVbW.js → middleware-CyUVZG3t.js} +27 -27
  59. package/dist/middleware-D8O6iKhr.js +26 -0
  60. package/dist/middleware-DI4sIaI4.js +17 -0
  61. package/dist/middleware-P3jCWk4K.cjs +4240 -0
  62. package/dist/middleware-lw0MLhVG.cjs +17 -0
  63. package/dist/mod-C2tOeRkN.d.cts +1 -0
  64. package/dist/mod-C3CGxYoF.d.cts +102 -0
  65. package/dist/mod-COw_caPC.d.cts +266 -0
  66. package/dist/mod-FZd39qVq.d.cts +1 -0
  67. package/dist/mod-NKH_G-IY.d.cts +289 -0
  68. package/dist/mod-YfAcrVbP.d.cts +80 -0
  69. package/dist/mod-jQ4OODsl.d.cts +113 -0
  70. package/dist/mod.cjs +152 -0
  71. package/dist/mod.d.cts +17 -0
  72. package/dist/mod.js +20 -20
  73. package/dist/mq-B7R1Q-M5.d.cts +140 -0
  74. package/dist/nodeinfo/client.test.js +5 -5
  75. package/dist/nodeinfo/handler.test.js +16 -16
  76. package/dist/nodeinfo/mod.cjs +13 -0
  77. package/dist/nodeinfo/mod.d.cts +5 -0
  78. package/dist/nodeinfo/mod.js +6 -6
  79. package/dist/nodeinfo/semver.test.js +3 -3
  80. package/dist/nodeinfo/types.test.js +3 -3
  81. package/dist/nodeinfo-Co9lJrWl.cjs +4 -0
  82. package/dist/nodeinfo-DfycQ8Wf.js +4 -0
  83. package/dist/owner-C9Ry0TOI.d.cts +67 -0
  84. package/dist/{owner-C3KvPNTd.js → owner-zvsMGYzc.js} +2 -2
  85. package/dist/{proof-DmROl-2J.js → proof-BgKYSJ00.js} +2 -2
  86. package/dist/{proof-vAK-PfOK.js → proof-Bt6yHsMN.js} +6 -6
  87. package/dist/proof-CC_7UV_j.cjs +673 -0
  88. package/dist/runtime/authdocloader.test.js +9 -9
  89. package/dist/runtime/docloader.test.js +4 -4
  90. package/dist/runtime/key.test.js +5 -5
  91. package/dist/runtime/langstr.test.js +3 -3
  92. package/dist/runtime/link.test.d.ts +3 -0
  93. package/dist/runtime/link.test.js +61 -0
  94. package/dist/runtime/mod.cjs +25 -0
  95. package/dist/runtime/mod.d.cts +6 -0
  96. package/dist/runtime/mod.js +10 -10
  97. package/dist/runtime/multibase/multibase.test.js +3 -3
  98. package/dist/runtime/url.test.js +3 -3
  99. package/dist/runtime-C58AJWSv.cjs +4 -0
  100. package/dist/runtime-DPYEDf-o.js +4 -0
  101. package/dist/{send-D7brJLC6.js → send-DlqdAGHP.js} +2 -2
  102. package/dist/sig/http.test.js +8 -8
  103. package/dist/sig/key.test.js +6 -6
  104. package/dist/sig/ld.test.js +7 -7
  105. package/dist/sig/mod.cjs +30 -0
  106. package/dist/sig/mod.d.cts +8 -0
  107. package/dist/sig/mod.js +10 -10
  108. package/dist/sig/owner.test.js +7 -7
  109. package/dist/sig/proof.test.js +7 -7
  110. package/dist/sig-ByHXzqUi.cjs +4 -0
  111. package/dist/sig-Cj3tk-ig.js +4 -0
  112. package/dist/testing/docloader.test.js +3 -3
  113. package/dist/testing/mod.js +3 -3
  114. package/dist/{testing-B3ZGdVhe.js → testing-CAAJTPCt.js} +2 -2
  115. package/dist/{transformers-Dna8Fg7k.js → transformers-BFT6d7J5.js} +3 -3
  116. package/dist/transformers-CoBS-oFG.cjs +116 -0
  117. package/dist/{type-CrcgcFC3.js → type-BRNRL3aj.js} +381 -201
  118. package/dist/{types-DiyuYWAI.js → types-C8yjtF5A.js} +4 -4
  119. package/dist/types-Dz0NMslg.cjs +488 -0
  120. package/dist/vocab/actor.test.js +5 -5
  121. package/dist/vocab/lookup.test.js +4 -4
  122. package/dist/vocab/mod.cjs +87 -0
  123. package/dist/vocab/mod.d.cts +6 -0
  124. package/dist/vocab/mod.js +7 -7
  125. package/dist/vocab/type.test.js +3 -3
  126. package/dist/vocab/vocab.test.js +40 -5
  127. package/dist/vocab-BDMmyzZA.cjs +282 -0
  128. package/dist/vocab-BzGg7ltX.d.cts +14629 -0
  129. package/dist/{vocab-Dk0L2c9M.js → vocab-WpDLcZH7.js} +6 -6
  130. package/dist/webfinger/handler.test.js +16 -16
  131. package/dist/webfinger/lookup.test.js +4 -4
  132. package/dist/webfinger/mod.cjs +9 -0
  133. package/dist/webfinger/mod.d.cts +4 -0
  134. package/dist/webfinger/mod.js +6 -6
  135. package/dist/webfinger-BjOEdFPs.cjs +4 -0
  136. package/dist/webfinger-De_bU0iE.js +4 -0
  137. package/dist/x/cfworkers.cjs +100 -0
  138. package/dist/x/cfworkers.d.cts +59 -0
  139. package/dist/x/cfworkers.js +3 -3
  140. package/dist/x/cfworkers.test.js +3 -3
  141. package/dist/x/hono.cjs +61 -0
  142. package/dist/x/hono.d.cts +54 -0
  143. package/dist/x/hono.js +3 -3
  144. package/dist/x/sveltekit.cjs +69 -0
  145. package/dist/x/sveltekit.d.cts +46 -0
  146. package/dist/x/sveltekit.js +3 -3
  147. package/package.json +68 -13
  148. package/dist/compat-Bb5myD13.js +0 -4
  149. package/dist/key-D7gEThPA.js +0 -10
  150. package/dist/middleware-CtLDRgUg.js +0 -26
  151. package/dist/middleware-ww6ZuicB.js +0 -17
  152. package/dist/nodeinfo-CyEbLjHs.js +0 -4
  153. package/dist/runtime-BSkOVUWM.js +0 -4
  154. package/dist/sig-BXJO--F9.js +0 -4
  155. package/dist/webfinger-C3GIyXIg.js +0 -4
@@ -0,0 +1,80 @@
1
+ import { Activity } from "./vocab-BzGg7ltX.cjs";
2
+ import { ActivityTransformer, Context } from "./context-KXVF2AhH.cjs";
3
+
4
+ //#region src/compat/transformers.d.ts
5
+
6
+ /**
7
+ * An activity transformer that assigns a new random ID to an activity if it
8
+ * does not already have one. This is useful for ensuring that activities
9
+ * have an ID before they are sent to other servers.
10
+ *
11
+ * The generated ID is an origin URI with a fragment which contains an activity
12
+ * type name with a random UUID:
13
+ *
14
+ * ```
15
+ * https://example.com/#Follow/12345678-1234-5678-1234-567812345678
16
+ * ```
17
+ *
18
+ * @template TContextData The type of the context data.
19
+ * @param activity The activity to assign an ID to.
20
+ * @param context The context of the activity.
21
+ * @return The activity with an ID assigned.
22
+ * @since 1.4.0
23
+ */
24
+ declare function autoIdAssigner<TContextData>(activity: Activity, context: Context<TContextData>): Activity;
25
+ /**
26
+ * An activity transformer that dehydrates the actor property of an activity
27
+ * so that it only contains the actor's URI. For example, suppose we have an
28
+ * activity like this:
29
+ *
30
+ * ```typescript
31
+ * import { Follow, Person } from "@fedify/fedify/vocab";
32
+ * const input = new Follow({
33
+ * id: new URL("http://example.com/activities/1"),
34
+ * actor: new Person({
35
+ * id: new URL("http://example.com/actors/1"),
36
+ * name: "Alice",
37
+ * preferredUsername: "alice",
38
+ * }),
39
+ * object: new Person({
40
+ * id: new URL("http://example.com/actors/2"),
41
+ * name: "Bob",
42
+ * preferredUsername: "bob",
43
+ * }),
44
+ * });
45
+ * ```
46
+ *
47
+ * The result of applying this transformer would be:
48
+ *
49
+ * ```typescript
50
+ * import { Follow, Person } from "@fedify/fedify/vocab";
51
+ * const output = new Follow({
52
+ * id: new URL("http://example.com/activities/1"),
53
+ * actor: new URL("http://example.com/actors/1"),
54
+ * object: new Person({
55
+ * id: new URL("http://example.com/actors/2"),
56
+ * name: "Bob",
57
+ * preferredUsername: "bob",
58
+ * }),
59
+ * });
60
+ * ```
61
+ *
62
+ * As some ActivityPub implementations like Threads fail to deal with inlined
63
+ * actor objects, this transformer can be used to work around this issue.
64
+ * @template TContextData The type of the context data.
65
+ * @param activity The activity to dehydrate the actor property of.
66
+ * @param context The context of the activity.
67
+ * @returns The dehydrated activity.
68
+ * @since 1.4.0
69
+ */
70
+ declare function actorDehydrator<TContextData>(activity: Activity, _context: Context<TContextData>): Activity;
71
+ /**
72
+ * Gets the default activity transformers that are applied to all outgoing
73
+ * activities.
74
+ * @template TContextData The type of the context data.
75
+ * @returns The default activity transformers.
76
+ * @since 1.4.0
77
+ */
78
+ declare function getDefaultActivityTransformers<TContextData>(): readonly ActivityTransformer<TContextData>[];
79
+ //#endregion
80
+ export { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers };
@@ -0,0 +1,113 @@
1
+ import { GetUserAgentOptions } from "./docloader-D-MrRyHl.cjs";
2
+ import { TracerProvider } from "@opentelemetry/api";
3
+
4
+ //#region src/webfinger/jrd.d.ts
5
+ /**
6
+ * Describes a resource. See also
7
+ * [RFC 7033 section 4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4).
8
+ */
9
+ interface ResourceDescriptor {
10
+ /**
11
+ * A URI that identifies the entity that this descriptor describes.
12
+ */
13
+ subject?: string;
14
+ /**
15
+ * URIs that identify the same entity as the `subject`.
16
+ */
17
+ aliases?: string[];
18
+ /**
19
+ * Conveys additional information about the `subject` of this descriptor.
20
+ */
21
+ properties?: Record<string, string>;
22
+ /**
23
+ * Links to other resources.
24
+ */
25
+ links?: Link[];
26
+ }
27
+ /**
28
+ * Represents a link. See also
29
+ * [RFC 7033 section 4.4.4](https://datatracker.ietf.org/doc/html/rfc7033#section-4.4.4).
30
+ */
31
+ interface Link {
32
+ /**
33
+ * The link's relation type, which is either a URI or a registered relation
34
+ * type (see [RFC 5988](https://datatracker.ietf.org/doc/html/rfc5988)).
35
+ */
36
+ rel: string;
37
+ /**
38
+ * The media type of the target resource (see
39
+ * [RFC 6838](https://datatracker.ietf.org/doc/html/rfc6838)).
40
+ */
41
+ type?: string;
42
+ /**
43
+ * A URI pointing to the target resource.
44
+ */
45
+ href?: string;
46
+ /**
47
+ * Human-readable titles describing the link relation. If the language is
48
+ * unknown or unspecified, the key is `"und"`.
49
+ */
50
+ titles?: Record<string, string>;
51
+ /**
52
+ * Conveys additional information about the link relation.
53
+ */
54
+ properties?: Record<string, string>;
55
+ /**
56
+ * A URI Template (RFC 6570) that can be used to construct URIs by
57
+ * substituting variables. Used primarily for subscription endpoints
58
+ * where parameters like account URIs need to be dynamically inserted.
59
+ * @since 1.9.0
60
+ */
61
+ template?: string;
62
+ }
63
+ //#endregion
64
+ //#region src/webfinger/lookup.d.ts
65
+ /**
66
+ * Options for {@link lookupWebFinger}.
67
+ * @since 1.3.0
68
+ */
69
+ interface LookupWebFingerOptions {
70
+ /**
71
+ * The options for making `User-Agent` header.
72
+ * If a string is given, it is used as the `User-Agent` header value.
73
+ * If an object is given, it is passed to {@link getUserAgent} to generate
74
+ * the `User-Agent` header value.
75
+ */
76
+ userAgent?: GetUserAgentOptions | string;
77
+ /**
78
+ * Whether to allow private IP addresses in the URL.
79
+ *
80
+ * Mostly useful for testing purposes. *Do not use this in production.*
81
+ *
82
+ * Turned off by default.
83
+ * @since 1.4.0
84
+ */
85
+ allowPrivateAddress?: boolean;
86
+ /**
87
+ * The maximum number of redirections to follow.
88
+ * @default `5`
89
+ * @since 1.8.0
90
+ */
91
+ maxRedirection?: number;
92
+ /**
93
+ * The OpenTelemetry tracer provider. If omitted, the global tracer provider
94
+ * is used.
95
+ */
96
+ tracerProvider?: TracerProvider;
97
+ /**
98
+ * AbortSignal for cancelling the request.
99
+ * @since 1.8.0
100
+ * @
101
+ */
102
+ signal?: AbortSignal;
103
+ }
104
+ /**
105
+ * Looks up a WebFinger resource.
106
+ * @param resource The resource URL to look up.
107
+ * @param options Extra options for looking up the resource.
108
+ * @returns The resource descriptor, or `null` if not found.
109
+ * @since 0.2.0
110
+ */
111
+ declare function lookupWebFinger(resource: URL | string, options?: LookupWebFingerOptions): Promise<ResourceDescriptor | null>;
112
+ //#endregion
113
+ export { Link, LookupWebFingerOptions, ResourceDescriptor, lookupWebFinger };
package/dist/mod.cjs ADDED
@@ -0,0 +1,152 @@
1
+
2
+ const { Temporal } = require("@js-temporal/polyfill");
3
+ const { URLPattern } = require("urlpattern-polyfill");
4
+
5
+ const require_transformers = require('./transformers-CoBS-oFG.cjs');
6
+ require('./compat-DmDDELst.cjs');
7
+ const require_docloader = require('./docloader-CSB8cAnw.cjs');
8
+ const require_actor = require('./actor-fGD4yb1K.cjs');
9
+ const require_middleware = require('./middleware-P3jCWk4K.cjs');
10
+ const require_lookup = require('./lookup-BrrOs_g1.cjs');
11
+ const require_key = require('./key-CYpTUnwf.cjs');
12
+ const require_http = require('./http-BDErrXSN.cjs');
13
+ const require_proof = require('./proof-CC_7UV_j.cjs');
14
+ const require_federation = require('./federation-H2_En3j5.cjs');
15
+ const require_types = require('./types-Dz0NMslg.cjs');
16
+ const require_authdocloader = require('./authdocloader-eSrbn3wM.cjs');
17
+ const require_vocab = require('./vocab-BDMmyzZA.cjs');
18
+ require('./nodeinfo-Co9lJrWl.cjs');
19
+ require('./runtime-C58AJWSv.cjs');
20
+ require('./sig-ByHXzqUi.cjs');
21
+ require('./webfinger-BjOEdFPs.cjs');
22
+
23
+ exports.Accept = require_actor.Accept;
24
+ exports.Activity = require_actor.Activity;
25
+ exports.Add = require_actor.Add;
26
+ exports.Announce = require_actor.Announce;
27
+ exports.Application = require_actor.Application;
28
+ exports.Arrive = require_actor.Arrive;
29
+ exports.Article = require_actor.Article;
30
+ exports.Audio = require_actor.Audio;
31
+ exports.Block = require_actor.Block;
32
+ exports.ChatMessage = require_actor.ChatMessage;
33
+ exports.Collection = require_actor.Collection;
34
+ exports.CollectionPage = require_actor.CollectionPage;
35
+ exports.Create = require_actor.Create;
36
+ exports.CryptographicKey = require_actor.CryptographicKey;
37
+ exports.DataIntegrityProof = require_actor.DataIntegrityProof;
38
+ exports.Delete = require_actor.Delete;
39
+ exports.DidService = require_actor.DidService;
40
+ exports.Dislike = require_actor.Dislike;
41
+ exports.Document = require_actor.Document;
42
+ exports.Emoji = require_actor.Emoji;
43
+ exports.EmojiReact = require_actor.EmojiReact;
44
+ exports.Endpoints = require_actor.Endpoints;
45
+ exports.Event = require_actor.Event;
46
+ exports.Export = require_actor.Export;
47
+ exports.FetchError = require_docloader.FetchError;
48
+ exports.Flag = require_actor.Flag;
49
+ exports.Follow = require_actor.Follow;
50
+ exports.Group = require_actor.Group;
51
+ exports.Hashtag = require_actor.Hashtag;
52
+ exports.Ignore = require_actor.Ignore;
53
+ exports.Image = require_actor.Image;
54
+ exports.InProcessMessageQueue = require_federation.InProcessMessageQueue;
55
+ exports.IntransitiveActivity = require_actor.IntransitiveActivity;
56
+ exports.Invite = require_actor.Invite;
57
+ exports.Join = require_actor.Join;
58
+ exports.LanguageString = require_actor.LanguageString;
59
+ exports.Leave = require_actor.Leave;
60
+ exports.Like = require_actor.Like;
61
+ exports.Link = require_actor.Link;
62
+ exports.Listen = require_actor.Listen;
63
+ exports.MemoryKvStore = require_federation.MemoryKvStore;
64
+ exports.Mention = require_actor.Mention;
65
+ exports.Move = require_actor.Move;
66
+ exports.Multikey = require_actor.Multikey;
67
+ exports.Note = require_actor.Note;
68
+ exports.Object = require_actor.Object$1;
69
+ exports.Offer = require_actor.Offer;
70
+ exports.OrderedCollection = require_actor.OrderedCollection;
71
+ exports.OrderedCollectionPage = require_actor.OrderedCollectionPage;
72
+ exports.Organization = require_actor.Organization;
73
+ exports.PUBLIC_COLLECTION = require_vocab.PUBLIC_COLLECTION;
74
+ exports.Page = require_actor.Page;
75
+ exports.ParallelMessageQueue = require_federation.ParallelMessageQueue;
76
+ exports.Person = require_actor.Person;
77
+ exports.Place = require_actor.Place;
78
+ exports.Profile = require_actor.Profile;
79
+ exports.PropertyValue = require_actor.PropertyValue;
80
+ exports.Question = require_actor.Question;
81
+ exports.Read = require_actor.Read;
82
+ exports.Reject = require_actor.Reject;
83
+ exports.Relationship = require_actor.Relationship;
84
+ exports.Remove = require_actor.Remove;
85
+ exports.Router = require_middleware.Router;
86
+ exports.RouterError = require_middleware.RouterError;
87
+ exports.Service = require_actor.Service;
88
+ exports.Source = require_actor.Source;
89
+ exports.TentativeAccept = require_actor.TentativeAccept;
90
+ exports.TentativeReject = require_actor.TentativeReject;
91
+ exports.Tombstone = require_actor.Tombstone;
92
+ exports.Travel = require_actor.Travel;
93
+ exports.Undo = require_actor.Undo;
94
+ exports.Update = require_actor.Update;
95
+ exports.Video = require_actor.Video;
96
+ exports.View = require_actor.View;
97
+ exports.actorDehydrator = require_transformers.actorDehydrator;
98
+ exports.attachSignature = require_proof.attachSignature;
99
+ exports.autoIdAssigner = require_transformers.autoIdAssigner;
100
+ exports.buildCollectionSynchronizationHeader = require_middleware.buildCollectionSynchronizationHeader;
101
+ exports.createExponentialBackoffPolicy = require_middleware.createExponentialBackoffPolicy;
102
+ exports.createFederation = require_middleware.createFederation;
103
+ exports.createFederationBuilder = require_middleware.createFederationBuilder;
104
+ exports.createProof = require_proof.createProof;
105
+ exports.createSignature = require_proof.createSignature;
106
+ exports.detachSignature = require_proof.detachSignature;
107
+ exports.digest = require_middleware.digest;
108
+ exports.doesActorOwnKey = require_proof.doesActorOwnKey;
109
+ exports.exportJwk = require_key.exportJwk;
110
+ exports.exportMultibaseKey = require_actor.exportMultibaseKey;
111
+ exports.exportSpki = require_actor.exportSpki;
112
+ exports.fetchDocumentLoader = require_docloader.fetchDocumentLoader;
113
+ exports.fetchKey = require_key.fetchKey;
114
+ exports.formatSemVer = require_types.formatSemVer;
115
+ exports.generateCryptoKeyPair = require_key.generateCryptoKeyPair;
116
+ exports.getActorClassByTypeName = require_actor.getActorClassByTypeName;
117
+ exports.getActorHandle = require_actor.getActorHandle;
118
+ exports.getActorTypeName = require_actor.getActorTypeName;
119
+ exports.getAuthenticatedDocumentLoader = require_authdocloader.getAuthenticatedDocumentLoader;
120
+ exports.getDefaultActivityTransformers = require_transformers.getDefaultActivityTransformers;
121
+ exports.getDocumentLoader = require_docloader.getDocumentLoader;
122
+ exports.getKeyOwner = require_proof.getKeyOwner;
123
+ exports.getNodeInfo = require_types.getNodeInfo;
124
+ exports.getTypeId = require_actor.getTypeId;
125
+ exports.getUserAgent = require_docloader.getUserAgent;
126
+ exports.importJwk = require_key.importJwk;
127
+ exports.importMultibaseKey = require_actor.importMultibaseKey;
128
+ exports.importPem = require_actor.importPem;
129
+ exports.importPkcs1 = require_actor.importPkcs1;
130
+ exports.importSpki = require_actor.importSpki;
131
+ exports.isActor = require_actor.isActor;
132
+ exports.isFediverseHandle = require_vocab.isFediverseHandle;
133
+ exports.kvCache = require_docloader.kvCache;
134
+ exports.lookupObject = require_vocab.lookupObject;
135
+ exports.lookupWebFinger = require_lookup.lookupWebFinger;
136
+ exports.nodeInfoToJson = require_types.nodeInfoToJson;
137
+ exports.normalizeActorHandle = require_actor.normalizeActorHandle;
138
+ exports.parseFediverseHandle = require_vocab.parseFediverseHandle;
139
+ exports.parseNodeInfo = require_types.parseNodeInfo;
140
+ exports.parseSemVer = require_types.parseSemVer;
141
+ exports.respondWithObject = require_middleware.respondWithObject;
142
+ exports.respondWithObjectIfAcceptable = require_middleware.respondWithObjectIfAcceptable;
143
+ exports.signJsonLd = require_proof.signJsonLd;
144
+ exports.signObject = require_proof.signObject;
145
+ exports.signRequest = require_http.signRequest;
146
+ exports.toAcctUrl = require_vocab.toAcctUrl;
147
+ exports.traverseCollection = require_vocab.traverseCollection;
148
+ exports.verifyJsonLd = require_proof.verifyJsonLd;
149
+ exports.verifyObject = require_proof.verifyObject;
150
+ exports.verifyProof = require_proof.verifyProof;
151
+ exports.verifyRequest = require_http.verifyRequest;
152
+ exports.verifySignature = require_proof.verifySignature;
package/dist/mod.d.cts ADDED
@@ -0,0 +1,17 @@
1
+ import { KvKey, KvStore, KvStoreSetOptions, MemoryKvStore } from "./kv-63Cil1MD.cjs";
2
+ import { AuthenticatedDocumentLoaderFactory, DocumentLoader, DocumentLoaderFactory, DocumentLoaderFactoryOptions, FetchError, GetDocumentLoaderOptions, GetUserAgentOptions, KvCacheParameters, RemoteDocument, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-D-MrRyHl.cjs";
3
+ import { GetNodeInfoOptions, InboundService, JsonValue, NodeInfo, OutboundService, ParseNodeInfoOptions, Protocol, SemVer, Services, Software, Usage, formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./client-DjT_tegg.cjs";
4
+ 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 } from "./vocab-BzGg7ltX.cjs";
5
+ import { Actor, ActorTypeName, GetActorHandleOptions, NormalizeActorHandleOptions, Recipient, getActorClassByTypeName, getActorHandle, getActorTypeName, isActor, normalizeActorHandle } from "./actor-CHOM_AN3.cjs";
6
+ import { FetchKeyOptions, FetchKeyResult, HttpMessageSignaturesSpec, HttpMessageSignaturesSpecDeterminer, KeyCache, SignRequestOptions, VerifyRequestOptions, exportJwk, fetchKey, generateCryptoKeyPair, importJwk, signRequest, verifyRequest } from "./http-B_zBcsai.cjs";
7
+ import { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner } from "./owner-C9Ry0TOI.cjs";
8
+ import { FediverseHandle, LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./mod-NKH_G-IY.cjs";
9
+ import { ResourceDescriptor, lookupWebFinger } from "./mod-jQ4OODsl.cjs";
10
+ import { ActivityTransformer, ActorAliasMapper, ActorCallbackSetters, ActorDispatcher, ActorHandleMapper, ActorKeyPair, ActorKeyPairsDispatcher, AuthorizePredicate, CollectionCallbackSetters, CollectionCounter, CollectionCursor, CollectionDispatcher, ConstructorWithTypeId, Context, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, Federatable, Federation, FederationBuilder, FederationFetchOptions, FederationKvPrefixes, FederationOptions, FederationOrigin, FederationQueueOptions, FederationStartQueueOptions, ForwardActivityOptions, GetSignedKeyOptions, InboxContext, InboxErrorHandler, InboxListener, InboxListenerSetters, Message, NodeInfoDispatcher, ObjectAuthorizePredicate, ObjectCallbackSetters, ObjectDispatcher, OutboxErrorHandler, PageItems, ParamsKeyPath, ParseUriResult, RequestContext, RespondWithObjectOptions, RetryContext, RetryPolicy, RouteActivityOptions, Router, RouterError, RouterOptions, RouterRouteResult, SendActivityOptions, SendActivityOptionsForCollection, SenderKeyPair, SharedInboxKeyDispatcher, WebFingerLinksDispatcher, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./context-KXVF2AhH.cjs";
11
+ import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-B7R1Q-M5.cjs";
12
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-YfAcrVbP.cjs";
13
+ import "./mod-C2tOeRkN.cjs";
14
+ import "./mod-FZd39qVq.cjs";
15
+ import { GetAuthenticatedDocumentLoaderOptions, exportMultibaseKey, exportSpki, getAuthenticatedDocumentLoader, importMultibaseKey, importPem, importPkcs1, importSpki } from "./mod-C3CGxYoF.cjs";
16
+ import { CreateProofOptions, CreateSignatureOptions, SignJsonLdOptions, SignObjectOptions, VerifyJsonLdOptions, VerifyObjectOptions, VerifyProofOptions, VerifySignatureOptions, attachSignature, createProof, createSignature, detachSignature, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./mod-COw_caPC.cjs";
17
+ 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, ConstructorWithTypeId, Context, Create, CreateExponentialBackoffPolicyOptions, CreateFederationOptions, CreateProofOptions, CreateSignatureOptions, CryptographicKey, CustomCollectionCallbackSetters, CustomCollectionCounter, CustomCollectionCursor, CustomCollectionDispatcher, 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, ParamsKeyPath, 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, WebFingerLinksDispatcher, 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
@@ -1,23 +1,23 @@
1
1
 
2
- import { Temporal } from "@js-temporal/polyfill";
3
- import { URLPattern } from "urlpattern-polyfill";
4
-
5
- import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./transformers-Dna8Fg7k.js";
6
- import "./compat-Bb5myD13.js";
7
- import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-OJ23BINE.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-Bi2qvBSd.js";
9
- import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-Sfxf2Vmo.js";
10
- import { lookupWebFinger } from "./lookup-DmESd_mM.js";
11
- import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-UR9dBv1x.js";
12
- import { signRequest, verifyRequest } from "./http-CGKESoOD.js";
13
- import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-vAK-PfOK.js";
14
- import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-CMX7WzeL.js";
15
- import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-DiyuYWAI.js";
16
- import { getAuthenticatedDocumentLoader } from "./authdocloader-CtNUOc_o.js";
17
- import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./vocab-Dk0L2c9M.js";
18
- import "./nodeinfo-CyEbLjHs.js";
19
- import "./runtime-BSkOVUWM.js";
20
- import "./sig-BXJO--F9.js";
21
- import "./webfinger-C3GIyXIg.js";
2
+ import { Temporal } from "@js-temporal/polyfill";
3
+ import { URLPattern } from "urlpattern-polyfill";
4
+
5
+ import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./transformers-BFT6d7J5.js";
6
+ import "./compat-nxUqe4Z-.js";
7
+ import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-Bqh-eFNP.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-ChSW_rBk.js";
9
+ import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-CfP7UhQy.js";
10
+ import { lookupWebFinger } from "./lookup-B61sZAOY.js";
11
+ import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-sCE-TgxY.js";
12
+ import { signRequest, verifyRequest } from "./http-DBHpjcjo.js";
13
+ import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-Bt6yHsMN.js";
14
+ import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-D1U8YY9t.js";
15
+ import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-C8yjtF5A.js";
16
+ import { getAuthenticatedDocumentLoader } from "./authdocloader-ChsJ9FJN.js";
17
+ import { PUBLIC_COLLECTION, isFediverseHandle, lookupObject, parseFediverseHandle, toAcctUrl, traverseCollection } from "./vocab-WpDLcZH7.js";
18
+ import "./nodeinfo-DfycQ8Wf.js";
19
+ import "./runtime-DPYEDf-o.js";
20
+ import "./sig-Cj3tk-ig.js";
21
+ import "./webfinger-De_bU0iE.js";
22
22
 
23
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 };
@@ -0,0 +1,140 @@
1
+ //#region src/federation/mq.d.ts
2
+ /**
3
+ * Additional options for enqueuing a message in a queue.
4
+ *
5
+ * @since 0.5.0
6
+ */
7
+ interface MessageQueueEnqueueOptions {
8
+ /**
9
+ * The delay before the message is enqueued. No delay by default.
10
+ *
11
+ * It must not be negative.
12
+ */
13
+ delay?: Temporal.Duration;
14
+ }
15
+ /**
16
+ * Additional options for listening to a message queue.
17
+ *
18
+ * @since 1.0.0
19
+ */
20
+ interface MessageQueueListenOptions {
21
+ /**
22
+ * The signal to abort listening to the message queue.
23
+ */
24
+ signal?: AbortSignal;
25
+ }
26
+ /**
27
+ * An abstract interface for a message queue.
28
+ *
29
+ * @since 0.5.0
30
+ */
31
+ interface MessageQueue {
32
+ /**
33
+ * Whether the message queue backend provides native retry mechanisms.
34
+ * When `true`, Fedify will skip its own retry logic and rely on the backend
35
+ * to handle retries. When `false` or omitted, Fedify will handle retries
36
+ * using its own retry policies.
37
+ *
38
+ * @default `false`
39
+ * @since 1.7.0
40
+ */
41
+ readonly nativeRetrial?: boolean;
42
+ /**
43
+ * Enqueues a message in the queue.
44
+ * @param message The message to enqueue.
45
+ * @param options Additional options for enqueuing the message.
46
+ */
47
+ enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
48
+ /**
49
+ * Enqueues multiple messages in the queue. This operation is optional,
50
+ * and may not be supported by all implementations. If not supported,
51
+ * Fedify will invoke {@link enqueue} for each message.
52
+ *
53
+ * @param messages The messages to enqueue.
54
+ * @param options Additional options for enqueuing the messages.
55
+ */
56
+ enqueueMany?: (messages: any[], options?: MessageQueueEnqueueOptions) => Promise<void>;
57
+ /**
58
+ * Listens for messages in the queue.
59
+ * @param handler The handler for messages in the queue.
60
+ * @param options Additional options for listening to the message queue.
61
+ * @returns A promise that resolves when the listening is done. It never
62
+ * rejects, and is resolved when the signal is aborted. If no
63
+ * signal is provided, it never resolves.
64
+ */
65
+ listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
66
+ }
67
+ /**
68
+ * Additional options for {@link InProcessMessageQueue}.
69
+ * @since 1.0.0
70
+ */
71
+ interface InProcessMessageQueueOptions {
72
+ /**
73
+ * The interval to poll for messages in the queue. 5 seconds by default.
74
+ * @default `{ seconds: 5 }`
75
+ */
76
+ pollInterval?: Temporal.Duration | Temporal.DurationLike;
77
+ }
78
+ /**
79
+ * A message queue that processes messages in the same process.
80
+ * Do not use this in production as it does neither persist messages nor
81
+ * distribute them across multiple processes.
82
+ *
83
+ * @since 0.5.0
84
+ */
85
+ declare class InProcessMessageQueue implements MessageQueue {
86
+ #private;
87
+ /**
88
+ * In-process message queue does not provide native retry mechanisms.
89
+ * @since 1.7.0
90
+ */
91
+ readonly nativeRetrial = false;
92
+ /**
93
+ * Constructs a new {@link InProcessMessageQueue} with the given options.
94
+ * @param options Additional options for the in-process message queue.
95
+ */
96
+ constructor(options?: InProcessMessageQueueOptions);
97
+ enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
98
+ enqueueMany(messages: any[], options?: MessageQueueEnqueueOptions): Promise<void>;
99
+ listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
100
+ }
101
+ /**
102
+ * A message queue that processes messages in parallel. It takes another
103
+ * {@link MessageQueue}, and processes messages in parallel up to a certain
104
+ * number of workers.
105
+ *
106
+ * Actually, it's rather a decorator than a queue itself.
107
+ *
108
+ * Note that the workers do not run in truly parallel, in the sense that they
109
+ * are not running in separate threads or processes. They are running in the
110
+ * same process, but are scheduled to run in parallel. Hence, this is useful
111
+ * for I/O-bound tasks, but not for CPU-bound tasks, which is okay for Fedify's
112
+ * workloads.
113
+ *
114
+ * @since 1.0.0
115
+ */
116
+ declare class ParallelMessageQueue implements MessageQueue {
117
+ #private;
118
+ readonly queue: MessageQueue;
119
+ readonly workers: number;
120
+ /**
121
+ * Inherits the native retry capability from the wrapped queue.
122
+ * @since 1.7.0
123
+ */
124
+ readonly nativeRetrial?: boolean;
125
+ /**
126
+ * Constructs a new {@link ParallelMessageQueue} with the given queue and
127
+ * number of workers.
128
+ * @param queue The message queue to use under the hood. Note that
129
+ * {@link ParallelMessageQueue} cannot be nested.
130
+ * @param workers The number of workers to process messages in parallel.
131
+ * @throws {TypeError} If the given queue is an instance of
132
+ * {@link ParallelMessageQueue}.
133
+ */
134
+ constructor(queue: MessageQueue, workers: number);
135
+ enqueue(message: any, options?: MessageQueueEnqueueOptions): Promise<void>;
136
+ enqueueMany(messages: any[], options?: MessageQueueEnqueueOptions): Promise<void>;
137
+ listen(handler: (message: any) => Promise<void> | void, options?: MessageQueueListenOptions): Promise<void>;
138
+ }
139
+ //#endregion
140
+ export { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue };
@@ -3,20 +3,20 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-CrcgcFC3.js";
6
+ import "../type-BRNRL3aj.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import "../semver-dArNLkR9.js";
11
- import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-DzL0DiuM.js";
12
- import "../lookup-BrGv9cks.js";
13
- import { test } from "../testing-B3ZGdVhe.js";
11
+ import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-B8gJ1cw8.js";
12
+ import "../lookup-CZBG-vCx.js";
13
+ import { test } from "../testing-CAAJTPCt.js";
14
14
  import "../std__assert-X-_kMxKM.js";
15
15
  import "../assert_rejects-DiIiJbZn.js";
16
16
  import "../assert_is_error-BPGph1Jx.js";
17
17
  import "../assert_not_equals-f3m3epl3.js";
18
18
  import "../assert_throws-BOO88avQ.js";
19
- import { esm_default } from "../esm-CyuitQYP.js";
19
+ import { esm_default } from "../esm-DTi75ew2.js";
20
20
 
21
21
  //#region src/nodeinfo/client.test.ts
22
22
  test("getNodeInfo()", async (t) => {
@@ -3,30 +3,30 @@
3
3
  import { URLPattern } from "urlpattern-polyfill";
4
4
  globalThis.addEventListener = () => {};
5
5
 
6
- import "../type-CrcgcFC3.js";
6
+ import "../type-BRNRL3aj.js";
7
7
  import { assertEquals } from "../assert_equals-DSbWqCm3.js";
8
8
  import "../assert-MZs1qjMx.js";
9
9
  import "../assert_instance_of-DHz7EHNU.js";
10
10
  import { MemoryKvStore } from "../kv-CRZrzyXm.js";
11
- import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-CZ-uRVbW.js";
11
+ import { createFederation, handleNodeInfo, handleNodeInfoJrd } from "../middleware-CyUVZG3t.js";
12
12
  import { parseSemVer } from "../semver-dArNLkR9.js";
13
- import "../client-DzL0DiuM.js";
14
- import "../lookup-BrGv9cks.js";
13
+ import "../client-B8gJ1cw8.js";
14
+ import "../lookup-CZBG-vCx.js";
15
15
  import "../types-BIgY6c-l.js";
16
- import "../actor-Bp5E1_uo.js";
17
- import "../key-C_beSXh2.js";
18
- import "../http-BptJ8gzr.js";
19
- import "../authdocloader-BE3rMpjB.js";
20
- import "../ld-BP8uv8u-.js";
21
- import "../owner-C3KvPNTd.js";
22
- import "../proof-DmROl-2J.js";
23
- import "../inbox-D5YFCsS2.js";
24
- import "../builder-i_bWHUua.js";
16
+ import "../actor-BHAPrCDB.js";
17
+ import "../key-B27QtSbc.js";
18
+ import "../http-BpAVdmaR.js";
19
+ import "../authdocloader-CgrKtaQg.js";
20
+ import "../ld-upnKn3yw.js";
21
+ import "../owner-zvsMGYzc.js";
22
+ import "../proof-BgKYSJ00.js";
23
+ import "../inbox-BA9sYsBf.js";
24
+ import "../builder-DI4-Kpdg.js";
25
25
  import "../collection-CSzG2j1P.js";
26
- import "../keycache-Ocm3x-aO.js";
26
+ import "../keycache-CiW2SvJu.js";
27
27
  import "../retry-D4GJ670a.js";
28
- import "../send-D7brJLC6.js";
29
- import { createRequestContext, test } from "../testing-B3ZGdVhe.js";
28
+ import "../send-DlqdAGHP.js";
29
+ import { createRequestContext, test } from "../testing-CAAJTPCt.js";
30
30
  import "../std__assert-X-_kMxKM.js";
31
31
  import "../assert_rejects-DiIiJbZn.js";
32
32
  import "../assert_is_error-BPGph1Jx.js";
@@ -0,0 +1,13 @@
1
+
2
+ const { Temporal } = require("@js-temporal/polyfill");
3
+ const { URLPattern } = require("urlpattern-polyfill");
4
+
5
+ require('../docloader-CSB8cAnw.cjs');
6
+ const require_types = require('../types-Dz0NMslg.cjs');
7
+ require('../nodeinfo-Co9lJrWl.cjs');
8
+
9
+ exports.formatSemVer = require_types.formatSemVer;
10
+ exports.getNodeInfo = require_types.getNodeInfo;
11
+ exports.nodeInfoToJson = require_types.nodeInfoToJson;
12
+ exports.parseNodeInfo = require_types.parseNodeInfo;
13
+ exports.parseSemVer = require_types.parseSemVer;