@fedify/fedify 2.4.0-dev.1490 → 2.4.0-dev.1504

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 (109) hide show
  1. package/README.md +3 -4
  2. package/dist/{assert-OguE97r2.mjs → assert-DvVHoIZ0.mjs} +1 -1
  3. package/dist/{assert_instance_of-DBC5X09g.mjs → assert_instance_of-CxoC8bVq.mjs} +1 -1
  4. package/dist/{assert_not_equals-DkVK8oqV.mjs → assert_not_equals-C8vcTTA3.mjs} +1 -1
  5. package/dist/{assert_rejects-DN60FHPX.mjs → assert_rejects-DAdaaIWM.mjs} +2 -2
  6. package/dist/{assert_strict_equals-XEgZAlrj.mjs → assert_strict_equals-BzqyKuYL.mjs} +1 -1
  7. package/dist/{assert_throws-BOkhLGYc.mjs → assert_throws-zN79lgIC.mjs} +1 -1
  8. package/dist/{builder-CwwQRArg.mjs → builder-Ck0Fl_a5.mjs} +23 -3
  9. package/dist/codec-CmlPqjNX.mjs +103 -0
  10. package/dist/compat/mod.d.cts +1 -1
  11. package/dist/compat/mod.d.ts +1 -1
  12. package/dist/compat/outgoing-jsonld.test.mjs +3 -3
  13. package/dist/compat/public-audience.test.mjs +3 -3
  14. package/dist/compat/transformers.test.mjs +5 -5
  15. package/dist/{context-DVoTs_wM.mjs → context-BBRTgkrs.mjs} +8 -2
  16. package/dist/{context-BU6jSQdo.d.ts → context-BF5B4ZDk.d.ts} +529 -259
  17. package/dist/{context-BBVLF7lx.d.cts → context-CYF8X0ft.d.cts} +530 -259
  18. package/dist/{deno-Yohf1ISx.mjs → deno-D3gb4X9v.mjs} +1 -1
  19. package/dist/{docloader-B6DFWEOx.mjs → docloader-DUKu0GzG.mjs} +3 -3
  20. package/dist/federation/builder.test.mjs +5 -5
  21. package/dist/federation/circuit-breaker.test.mjs +5 -5
  22. package/dist/federation/collection.test.mjs +3 -3
  23. package/dist/federation/handler.test.mjs +13 -13
  24. package/dist/federation/idempotency.test.mjs +6 -6
  25. package/dist/federation/inbox.test.mjs +3 -3
  26. package/dist/federation/keycache.test.mjs +5 -5
  27. package/dist/federation/kv.test.mjs +3 -3
  28. package/dist/federation/metrics.test.mjs +4 -4
  29. package/dist/federation/middleware.test.mjs +200 -19
  30. package/dist/federation/mod.cjs +3 -259
  31. package/dist/federation/mod.d.cts +4 -4
  32. package/dist/federation/mod.d.ts +4 -4
  33. package/dist/federation/mod.js +1 -257
  34. package/dist/federation/mq.test.mjs +103 -261
  35. package/dist/federation/negotiation.test.mjs +4 -4
  36. package/dist/federation/retry.test.mjs +3 -3
  37. package/dist/federation/router.test.mjs +5 -5
  38. package/dist/federation/send.test.mjs +10 -10
  39. package/dist/federation/tasks/codec.test.d.mts +2 -0
  40. package/dist/federation/tasks/codec.test.mjs +292 -0
  41. package/dist/federation/tasks/enqueue.test.d.mts +2 -0
  42. package/dist/federation/tasks/enqueue.test.mjs +992 -0
  43. package/dist/federation/tasks/tasks.test.d.mts +2 -0
  44. package/dist/federation/tasks/tasks.test.mjs +555 -0
  45. package/dist/federation/temporal.test.mjs +4 -4
  46. package/dist/federation/webfinger.test.mjs +6 -6
  47. package/dist/{http-BeDlAH97.mjs → http-BNFQkiEZ.mjs} +4 -4
  48. package/dist/{http-BqSm-f2G.js → http-CrZzUAtV.js} +7 -17
  49. package/dist/{http-C3eJp_Ha.cjs → http-D9p2_d2X.cjs} +7 -17
  50. package/dist/{key-DNBTcjuV.mjs → key-BM_SRwBV.mjs} +8 -18
  51. package/dist/{kv-cache-b2HaCLC-.mjs → kv-cache-BE1QIPdL.mjs} +1 -1
  52. package/dist/{kv-cache-Crq8nvSV.js → kv-cache-Ch_Zv5Yq.js} +1 -1
  53. package/dist/{kv-cache-CGJMNSs-.cjs → kv-cache-Cna211RR.cjs} +1 -1
  54. package/dist/{ld-CQlFhsU6.mjs → ld-ubkf03eb.mjs} +3 -3
  55. package/dist/{metrics-B6RKtTLt.mjs → metrics-BXR36qzu.mjs} +1 -1
  56. package/dist/{middleware-CBM9vGYg.cjs → middleware-DUNeIkXN.cjs} +694 -51
  57. package/dist/{middleware-CsxoclmN.mjs → middleware-iP9VRMus.mjs} +310 -67
  58. package/dist/{middleware-B3vFLcCh.js → middleware-lB4vtShP.js} +683 -52
  59. package/dist/{middleware-CQygcRYE.mjs → middleware-pzCP79He.mjs} +1 -1
  60. package/dist/{mod-vPYVoa5n.d.ts → mod-4WGAuR6X.d.ts} +1 -1
  61. package/dist/{mod-C0F6kvgS.d.cts → mod-BHEB3xhE.d.cts} +1 -1
  62. package/dist/mod.cjs +6 -6
  63. package/dist/mod.d.cts +5 -5
  64. package/dist/mod.d.ts +5 -5
  65. package/dist/mod.js +5 -5
  66. package/dist/mq-03vS-C9P.mjs +276 -0
  67. package/dist/{mq-D8uSFzxe.d.cts → mq-B5_hohs7.d.ts} +34 -0
  68. package/dist/{mq-D-nlpY04.d.ts → mq-DXMt_qCY.d.cts} +34 -0
  69. package/dist/nodeinfo/client.test.mjs +3 -3
  70. package/dist/nodeinfo/handler.test.mjs +5 -5
  71. package/dist/nodeinfo/types.test.mjs +4 -4
  72. package/dist/otel/exporter.test.mjs +3 -3
  73. package/dist/{outgoing-jsonld-L_DbOaFe.mjs → outgoing-jsonld-BNL8AC14.mjs} +1 -1
  74. package/dist/{owner-B1FnbZ1w.mjs → owner-Bf1KkncT.mjs} +2 -2
  75. package/dist/{proof-BhNTn0HE.js → proof-BMcsi8q_.js} +1 -1
  76. package/dist/{proof-BUuvq0ia.mjs → proof-Q781Ks5q.mjs} +5 -5
  77. package/dist/{proof-ChmZL5rY.cjs → proof-yeAU1MyT.cjs} +1 -1
  78. package/dist/{send-Dq-Ofquk.mjs → send-DFV0S_n9.mjs} +3 -3
  79. package/dist/sig/accept.test.mjs +1 -1
  80. package/dist/sig/http.test.mjs +8 -8
  81. package/dist/sig/key.test.mjs +6 -56
  82. package/dist/sig/ld.test.mjs +7 -7
  83. package/dist/sig/mod.cjs +2 -2
  84. package/dist/sig/mod.js +2 -2
  85. package/dist/sig/owner.test.mjs +6 -6
  86. package/dist/sig/proof.test.mjs +8 -8
  87. package/dist/{std__assert-BBjXFNOb.mjs → std__assert-Dh6uLf_q.mjs} +4 -4
  88. package/dist/{temporal-C-vrfOld.mjs → temporal-CyOjsqPj.mjs} +1 -1
  89. package/dist/testing/mod.d.mts +1037 -8
  90. package/dist/testing/mod.mjs +3 -2
  91. package/dist/testing-Dy-WhqpN.mjs +77 -0
  92. package/dist/utils/docloader.test.mjs +6 -6
  93. package/dist/utils/kv-cache.test.mjs +1 -1
  94. package/dist/utils/mod.cjs +1 -1
  95. package/dist/utils/mod.js +1 -1
  96. package/package.json +12 -7
  97. /package/dist/{accept-CPkZzmGN.mjs → accept-CgDcxvjV.mjs} +0 -0
  98. /package/dist/{activity-listener-tztVvlNb.mjs → activity-listener-BeTGV3wc.mjs} +0 -0
  99. /package/dist/{assert_equals-C-ZRDbaf.mjs → assert_equals-PBVKNMJd.mjs} +0 -0
  100. /package/dist/{circuit-breaker-CSWsyoef.mjs → circuit-breaker-hJBB6jwA.mjs} +0 -0
  101. /package/dist/{client-ByXmQhYD.mjs → client-B_A6mfn3.mjs} +0 -0
  102. /package/dist/{collection-Cc3DVAhE.mjs → collection-Dp5ky45w.mjs} +0 -0
  103. /package/dist/{keycache-BeU0LCII.mjs → keycache-CaOR6NYg.mjs} +0 -0
  104. /package/dist/{keys-DGu1NFwu.mjs → keys-CSYsOMFG.mjs} +0 -0
  105. /package/dist/{kv-rV3vodCc.mjs → kv-CIvR3Non.mjs} +0 -0
  106. /package/dist/{negotiation-DDstyBvc.mjs → negotiation-m_L2nyS3.mjs} +0 -0
  107. /package/dist/{public-audience-Cvbr2Gzt.mjs → public-audience-c9zmYKgA.mjs} +0 -0
  108. /package/dist/{retry-CXg_MBI-.mjs → retry-DI4O-zYl.mjs} +0 -0
  109. /package/dist/{types-J53Kw7so.mjs → types-BFowWFTT.mjs} +0 -0
package/README.md CHANGED
@@ -216,22 +216,21 @@ financial contributors:[^2]
216
216
  ### Corporate sponsors
217
217
 
218
218
  - [<img src="https://images.opencollective.com/ghost/avatar/128.png" width="64" height="64"> Ghost](https://ghost.org)
219
- - [<img src="https://images.opencollective.com/altstore/avatar/128.png" width="64" height="64"> AltStore](https://altstore.io)
220
219
 
221
220
  ### Supporters
222
221
 
222
+ - [Daniel Supernault](https://pixelfed.org/)
223
223
  - [tkgka](https://opencollective.com/tkgka)
224
224
  - [Blaine](https://opencollective.com/blaine)
225
225
  - [Erick González Aguilar](https://opencollective.com/erick-gonzalez-aguilar)
226
- - [Daniel Supernault](https://pixelfed.org/)
227
226
 
228
227
  ### Backers
229
228
 
230
- Robin Riley, Encyclia, taye, box464, Evan Prodromou, okin, yamanoku, malte, Rafael Goulart, Andy Piper
229
+ Robin Riley, yamanoku, Encyclia, taye, okin, Andy Piper, box464, Evan Prodromou, Rafael Goulart, malte
231
230
 
232
231
  ### One-time donations
233
232
 
234
- Robin Riley, malte, Nils Bergmann, Markus P, Rameez
233
+ Robin Riley, Markus P, Nils Bergmann, Rameez
235
234
 
236
235
  <!-- /DO NOT EDIT -->
237
236
 
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { l as AssertionError } from "./assert_equals-C-ZRDbaf.mjs";
4
+ import { l as AssertionError } from "./assert_equals-PBVKNMJd.mjs";
5
5
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert.js
6
6
  /**
7
7
  * Make an assertion, error will be thrown if `expr` does not have truthy value.
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { l as AssertionError } from "./assert_equals-C-ZRDbaf.mjs";
4
+ import { l as AssertionError } from "./assert_equals-PBVKNMJd.mjs";
5
5
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_instance_of.js
6
6
  /**
7
7
  * Make an assertion that `obj` is an instance of `type`.
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { c as equal, l as AssertionError } from "./assert_equals-C-ZRDbaf.mjs";
4
+ import { c as equal, l as AssertionError } from "./assert_equals-PBVKNMJd.mjs";
5
5
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_not_equals.js
6
6
  /**
7
7
  * Make an assertion that `actual` and `expected` are not equal, deeply.
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { l as AssertionError, s as format } from "./assert_equals-C-ZRDbaf.mjs";
5
- import { n as assertIsError } from "./assert_throws-BOkhLGYc.mjs";
4
+ import { l as AssertionError, s as format } from "./assert_equals-PBVKNMJd.mjs";
5
+ import { n as assertIsError } from "./assert_throws-zN79lgIC.mjs";
6
6
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_false.js
7
7
  /**
8
8
  * Make an assertion, error will be thrown if `expr` have truthy value.
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { a as red, i as buildMessage, l as AssertionError, n as diffStr, r as diff, s as format } from "./assert_equals-C-ZRDbaf.mjs";
4
+ import { a as red, i as buildMessage, l as AssertionError, n as diffStr, r as diff, s as format } from "./assert_equals-PBVKNMJd.mjs";
5
5
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_strict_equals.js
6
6
  /**
7
7
  * Make an assertion that `actual` and `expected` are equal using
@@ -1,7 +1,7 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { l as AssertionError, o as stripAnsiCode } from "./assert_equals-C-ZRDbaf.mjs";
4
+ import { l as AssertionError, o as stripAnsiCode } from "./assert_equals-PBVKNMJd.mjs";
5
5
  //#region ../../node_modules/.pnpm/@jsr+std__assert@0.226.0/node_modules/@jsr/std__assert/assert_is_error.js
6
6
  /**
7
7
  * Make an assertion that `error` is an `Error`.
@@ -1,8 +1,8 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { n as version, t as name } from "./deno-Yohf1ISx.mjs";
5
- import { t as ActivityListenerSet } from "./activity-listener-tztVvlNb.mjs";
4
+ import { n as version, t as name } from "./deno-D3gb4X9v.mjs";
5
+ import { t as ActivityListenerSet } from "./activity-listener-BeTGV3wc.mjs";
6
6
  import { getLogger } from "@logtape/logtape";
7
7
  import { Router, RouterError, assertPath } from "@fedify/uri-template";
8
8
  import { Tombstone, getTypeId } from "@fedify/vocab";
@@ -61,6 +61,7 @@ var FederationBuilderImpl = class {
61
61
  idempotencyStrategy;
62
62
  collectionTypeIds;
63
63
  collectionCallbacks;
64
+ taskDefinitions;
64
65
  /**
65
66
  * Symbol registry for unique identification of unnamed symbols.
66
67
  */
@@ -71,6 +72,7 @@ var FederationBuilderImpl = class {
71
72
  this.objectTypeIds = {};
72
73
  this.collectionCallbacks = {};
73
74
  this.collectionTypeIds = {};
75
+ this.taskDefinitions = /* @__PURE__ */ new Map();
74
76
  }
75
77
  /**
76
78
  * Builds the federation object.
@@ -80,7 +82,7 @@ var FederationBuilderImpl = class {
80
82
  * specified.
81
83
  */
82
84
  async build(options) {
83
- const { FederationImpl } = await import("./middleware-CQygcRYE.mjs");
85
+ const { FederationImpl } = await import("./middleware-pzCP79He.mjs");
84
86
  const f = new FederationImpl(options);
85
87
  const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
86
88
  f.router = this.router.clone();
@@ -109,6 +111,7 @@ var FederationBuilderImpl = class {
109
111
  f.unverifiedActivityHandler = this.unverifiedActivityHandler;
110
112
  f.outboxPermanentFailureHandler = this.outboxPermanentFailureHandler;
111
113
  f.idempotencyStrategy = this.idempotencyStrategy;
114
+ f.taskDefinitions = new Map(this.taskDefinitions);
112
115
  return f;
113
116
  }
114
117
  _getTracer() {
@@ -241,6 +244,23 @@ var FederationBuilderImpl = class {
241
244
  setWebFingerLinksDispatcher(dispatcher) {
242
245
  this.webFingerLinksDispatcher = dispatcher;
243
246
  }
247
+ defineTask(name, options) {
248
+ if (this.taskDefinitions.has(name)) throw new TypeError(`Task ${JSON.stringify(name)} is already defined.`);
249
+ const handle = {
250
+ name,
251
+ schema: options.schema
252
+ };
253
+ this.taskDefinitions.set(name, {
254
+ name,
255
+ schema: options.schema,
256
+ handle,
257
+ handler: options.handler,
258
+ onError: options.onError,
259
+ retryPolicy: options.retryPolicy,
260
+ queue: options.queue
261
+ });
262
+ return handle;
263
+ }
244
264
  /**
245
265
  * The RFC 6570 template-literal `path` overloads were removed for
246
266
  * type-checking efficiency, so the URI variable types can no longer be
@@ -0,0 +1,103 @@
1
+ import "@js-temporal/polyfill";
2
+ import "urlpattern-polyfill";
3
+ globalThis.addEventListener = () => {};
4
+ import { Link, Object as Object$1 } from "@fedify/vocab";
5
+ import { parse, stringifyAsync } from "devalue";
6
+ //#region src/federation/tasks/codec.ts
7
+ /**
8
+ * Serializes and deserializes task payloads for the queue, preserving
9
+ * `@fedify/vocab` objects across the wire by reducing them to JSON-LD and
10
+ * rebuilding them on the worker with the bound {@link TaskCodecLoaders}.
11
+ * @internal
12
+ */
13
+ var TaskCodec = class TaskCodec {
14
+ options;
15
+ constructor(options) {
16
+ this.options = options;
17
+ }
18
+ /** Serializes `data`, encoding any vocabulary object as its JSON-LD. */
19
+ serialize = (data) => stringifyAsync(data, { Vocab: this.#stringifyVocab });
20
+ /** Deserializes `raw`, rebuilding any encoded vocabulary object. */
21
+ deserialize = (raw) => this.#revive(/* @__PURE__ */ new Map())(parse(raw, { Vocab: VocabHolder.from }));
22
+ /** Validates `data` against `schema`, then serializes it. */
23
+ encode = async (schema, data) => this.serialize(await TaskCodec.validate(schema, data));
24
+ /** Deserializes `raw`, then validates the result against `schema`. */
25
+ decode = async (schema, raw) => TaskCodec.validate(schema, await this.deserialize(raw));
26
+ /** Validates `data` against `schema`, returning its parsed output. */
27
+ static validate = async (schema, data) => getValueIfSchema(await schema["~standard"].validate(data));
28
+ #stringifyVocab = (value) => isVocab(value) && this.#toWire(value);
29
+ #toWire = async (value) => ({
30
+ kind: value instanceof Link ? "link" : "object",
31
+ jsonLd: await value.toJsonLd({
32
+ format: "expand",
33
+ ...this.options
34
+ })
35
+ });
36
+ #revive = (seen) => {
37
+ const inner = async (node) => {
38
+ if (node === null || typeof node !== "object") return node;
39
+ if (seen.has(node)) return seen.get(node);
40
+ for (const reviver of this.#classRevivers) {
41
+ const out = reviver(seen, inner, node);
42
+ if (out !== void 0) return await out;
43
+ }
44
+ return node;
45
+ };
46
+ return inner;
47
+ };
48
+ #classRevivers = [
49
+ classReviver(isInstanceOf(VocabHolder), ({ kind, jsonLd }) => kind === "link" ? Link.fromJsonLd(jsonLd, this.options) : Object$1.fromJsonLd(jsonLd, this.options), () => {}),
50
+ classReviver(isInstanceOf(Array), () => [], async (revive, node, arr) => {
51
+ for (const item of await Array.fromAsync(node, revive)) arr.push(item);
52
+ }),
53
+ classReviver(isInstanceOf(Map), () => /* @__PURE__ */ new Map(), async (revive, node, map) => {
54
+ for (const [k, v] of node) map.set(await revive(k), await revive(v));
55
+ }),
56
+ classReviver(isInstanceOf(Set), () => /* @__PURE__ */ new Set(), async (revive, node, set) => {
57
+ for (const v of await Array.fromAsync(node, revive)) set.add(v);
58
+ }),
59
+ classReviver(isPlainObject, () => ({}), async (revive, node, obj) => {
60
+ for (const [k, v] of globalThis.Object.entries(node)) obj[k] = await revive(v);
61
+ })
62
+ ];
63
+ };
64
+ const isVocab = (value) => value instanceof Object$1 || value instanceof Link;
65
+ const isPlainObject = (value) => value === null || typeof value !== "object" ? false : isObjectPrototype(globalThis.Object.getPrototypeOf(value));
66
+ const isObjectPrototype = (proto) => proto === null || proto === globalThis.Object.prototype;
67
+ const isInstanceOf = (cls) => (v) => v instanceof cls;
68
+ function getValueIfSchema(result) {
69
+ assertSchema(result);
70
+ return result.value;
71
+ }
72
+ function assertSchema(result) {
73
+ if (result.issues && result.issues.length > 0) throw new TypeError(`Task data failed schema validation: ${JSON.stringify(result.issues)}`);
74
+ }
75
+ /**
76
+ * A vocabulary object parked by the synchronous decode reviver, held until
77
+ * the async revive pass can `fromJsonLd()` it back into an instance.
78
+ */
79
+ var VocabHolder = class VocabHolder {
80
+ kind;
81
+ jsonLd;
82
+ constructor(kind, jsonLd) {
83
+ this.kind = kind;
84
+ this.jsonLd = jsonLd;
85
+ }
86
+ static from = ({ kind, jsonLd }) => new VocabHolder(kind, jsonLd);
87
+ };
88
+ /**
89
+ * Ties a container filter to its empty-shell `init` and child-filling `set`
90
+ * through one type parameter—a correlation the heterogeneous reviver list
91
+ * cannot carry, which previously forced `@ts-ignore` at the dispatch site.
92
+ */
93
+ const classReviver = (filter, init, set) => (seen, revive, node) => {
94
+ if (!filter(node)) return void 0;
95
+ return (async () => {
96
+ const out = await init(node);
97
+ seen.set(node, out);
98
+ await set(revive, node, out);
99
+ return out;
100
+ })();
101
+ };
102
+ //#endregion
103
+ export { TaskCodec as t };
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { jt as ActivityTransformer, n as Context } from "../context-BBVLF7lx.cjs";
2
+ import { It as ActivityTransformer, n as Context } from "../context-CYF8X0ft.cjs";
3
3
  import { Activity } from "@fedify/vocab";
4
4
 
5
5
  //#region src/compat/transformers.d.ts
@@ -1,5 +1,5 @@
1
1
  /// <reference lib="esnext.temporal" />
2
- import { jt as ActivityTransformer, n as Context } from "../context-BU6jSQdo.js";
2
+ import { It as ActivityTransformer, n as Context } from "../context-BF5B4ZDk.js";
3
3
  import { Activity } from "@fedify/vocab";
4
4
 
5
5
  //#region src/compat/transformers.d.ts
@@ -1,9 +1,9 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { t as assertEquals } from "../assert_equals-C-ZRDbaf.mjs";
5
- import { t as assertStrictEquals } from "../assert_strict_equals-XEgZAlrj.mjs";
6
- import { n as normalizeAttachmentArrays, r as normalizeOutgoingActivityJsonLd, t as isPreloadedContextAttachmentSafe } from "../outgoing-jsonld-L_DbOaFe.mjs";
4
+ import { t as assertEquals } from "../assert_equals-PBVKNMJd.mjs";
5
+ import { t as assertStrictEquals } from "../assert_strict_equals-BzqyKuYL.mjs";
6
+ import { n as normalizeAttachmentArrays, r as normalizeOutgoingActivityJsonLd, t as isPreloadedContextAttachmentSafe } from "../outgoing-jsonld-BNL8AC14.mjs";
7
7
  import { Create, Document, Note, PUBLIC_COLLECTION } from "@fedify/vocab";
8
8
  import { mockDocumentLoader, test } from "@fedify/fixture";
9
9
  //#region src/compat/outgoing-jsonld.test.ts
@@ -1,9 +1,9 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { t as assertEquals } from "../assert_equals-C-ZRDbaf.mjs";
5
- import { t as assertNotEquals } from "../assert_not_equals-DkVK8oqV.mjs";
6
- import { t as normalizePublicAudience } from "../public-audience-Cvbr2Gzt.mjs";
4
+ import { t as assertEquals } from "../assert_equals-PBVKNMJd.mjs";
5
+ import { t as assertNotEquals } from "../assert_not_equals-C8vcTTA3.mjs";
6
+ import { t as normalizePublicAudience } from "../public-audience-c9zmYKgA.mjs";
7
7
  import { Create, Note, PUBLIC_COLLECTION } from "@fedify/vocab";
8
8
  import { test } from "@fedify/fixture";
9
9
  import { getDocumentLoader, preloadedContexts } from "@fedify/vocab-runtime";
@@ -1,11 +1,11 @@
1
1
  import "@js-temporal/polyfill";
2
2
  import "urlpattern-polyfill";
3
3
  globalThis.addEventListener = () => {};
4
- import { t as assertEquals } from "../assert_equals-C-ZRDbaf.mjs";
5
- import { t as assertInstanceOf } from "../assert_instance_of-DBC5X09g.mjs";
6
- import { t as assert } from "../assert-OguE97r2.mjs";
7
- import { t as MemoryKvStore } from "../kv-rV3vodCc.mjs";
8
- import { b as autoIdAssigner, n as FederationImpl, y as actorDehydrator } from "../middleware-CsxoclmN.mjs";
4
+ import { t as MemoryKvStore } from "../kv-CIvR3Non.mjs";
5
+ import { t as assertEquals } from "../assert_equals-PBVKNMJd.mjs";
6
+ import { t as assertInstanceOf } from "../assert_instance_of-CxoC8bVq.mjs";
7
+ import { t as assert } from "../assert-DvVHoIZ0.mjs";
8
+ import { b as autoIdAssigner, n as FederationImpl, y as actorDehydrator } from "../middleware-iP9VRMus.mjs";
9
9
  import { Follow, Person } from "@fedify/vocab";
10
10
  import { test } from "@fedify/fixture";
11
11
  //#region src/compat/transformers.test.ts
@@ -66,7 +66,7 @@ const testDefinitions = [];
66
66
  //#endregion
67
67
  //#region src/testing/context.ts
68
68
  function createContext(values) {
69
- const { federation, url = new URL("http://example.com/"), canonicalOrigin, data, documentLoader, contextLoader, meterProvider, tracerProvider, clone, getNodeInfoUri, getActorUri, getObjectUri, getCollectionUri, getOutboxUri, getInboxUri, getFollowingUri, getFollowersUri, getLikedUri, getFeaturedUri, getFeaturedTagsUri, parseUri, getActorKeyPairs, getDocumentLoader, lookupObject: lookupObject$1, traverseCollection: traverseCollection$1, lookupNodeInfo, lookupWebFinger: lookupWebFinger$1, sendActivity, routeActivity } = values;
69
+ const { federation, url = new URL("http://example.com/"), canonicalOrigin, data, documentLoader, contextLoader, meterProvider, tracerProvider, clone, getNodeInfoUri, getActorUri, getObjectUri, getCollectionUri, getOutboxUri, getInboxUri, getFollowingUri, getFollowersUri, getLikedUri, getFeaturedUri, getFeaturedTagsUri, parseUri, getActorKeyPairs, getDocumentLoader, lookupObject: lookupObject$1, traverseCollection: traverseCollection$1, lookupNodeInfo, lookupWebFinger: lookupWebFinger$1, sendActivity, routeActivity, enqueueTask, enqueueTaskMany } = values;
70
70
  function throwRouterError() {
71
71
  throw new RouterError("Not implemented");
72
72
  }
@@ -126,6 +126,12 @@ function createContext(values) {
126
126
  }),
127
127
  routeActivity: routeActivity ?? ((_params) => {
128
128
  throw new Error("Not implemented");
129
+ }),
130
+ enqueueTask: enqueueTask ?? ((_task, _data, _options) => {
131
+ throw new Error("Not implemented");
132
+ }),
133
+ enqueueTaskMany: enqueueTaskMany ?? ((_task, _payloads, _options) => {
134
+ throw new Error("Not implemented");
129
135
  })
130
136
  };
131
137
  }
@@ -176,4 +182,4 @@ function createOutboxContext(args) {
176
182
  };
177
183
  }
178
184
  //#endregion
179
- export { testDefinitions as i, createOutboxContext as n, createRequestContext as r, createInboxContext as t };
185
+ export { testDefinitions as a, mockDocumentLoader as i, createOutboxContext as n, createRequestContext as r, createInboxContext as t };