@fedify/fedify 1.6.4 → 1.7.0-dev.888
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.
- package/dist/{actor-BfzxE2QN.js → actor-D_TAErPk.js} +184 -199
- package/dist/{actor-CHPy3MD6.js → actor-DtsixKAW.js} +3 -3
- package/dist/{assert-0DSnLFa8.js → assert-YJk-1DlZ.js} +1 -1
- package/dist/{assert_equals-XhPMqqO2.js → assert_equals-Dnj7ejjL.js} +7 -19
- package/dist/{assert_instance_of-v5adm_-K.js → assert_instance_of-DBIoG5k7.js} +1 -1
- package/dist/{assert_is_error-Drwb_yQp.js → assert_is_error-jyzqjHud.js} +1 -1
- package/dist/{assert_not_equals-BRPdeJ9D.js → assert_not_equals-wx-SRs4i.js} +1 -1
- package/dist/{assert_rejects-D_nYI1gs.js → assert_rejects-BZjUwo62.js} +2 -2
- package/dist/{assert_throws-DNuPhPNp.js → assert_throws-gBPv3v2V.js} +2 -2
- package/dist/{authdocloader-8yB-xGBR.js → authdocloader-Cj8NhE13.js} +3 -3
- package/dist/{authdocloader-qBxZEEi9.js → authdocloader-D3lP3oQJ.js} +3 -3
- package/dist/{builder-NApTRrpC.js → builder-q1rdJ7Qu.js} +3 -3
- package/dist/{client-DFAp6PBu.js → client-DUX3b6Xa.js} +2 -2
- package/dist/compat/mod.d.ts +3 -3
- package/dist/compat/transformers.test.js +23 -23
- package/dist/{context-DPm_2m4V.js → context-CJunwlbH.js} +2 -2
- package/dist/{context-DRhhOsMk.d.ts → context-DdICJaUT.d.ts} +1 -1
- package/dist/{denokv-B_GFWjrl.js → denokv-CvROlGYX.js} +5 -0
- package/dist/{docloader-Chzwgszm.js → docloader-CD0wlEX1.js} +1 -1
- package/dist/{docloader-BGQB_PFT.js → docloader-D933g4kZ.js} +1 -1
- package/dist/{esm-CASHO3OR.js → esm-Btx3E8og.js} +12 -18
- package/dist/federation/builder.test.js +14 -14
- package/dist/federation/collection.test.js +9 -9
- package/dist/federation/handler.test.js +31 -34
- package/dist/federation/inbox.test.js +7 -7
- package/dist/federation/keycache.test.js +7 -7
- package/dist/federation/kv.test.js +9 -9
- package/dist/federation/middleware.test.js +167 -31
- package/dist/federation/mod.d.ts +2 -2
- package/dist/federation/mod.js +11 -11
- package/dist/federation/mq.test.js +66 -10
- package/dist/federation/retry.test.js +3 -3
- package/dist/federation/router.test.js +9 -9
- package/dist/federation/send.test.js +19 -19
- package/dist/{federation-3B6BDKCK.js → federation-lZOZyLAo.js} +11 -0
- package/dist/{http-DJcO8N65.js → http-CQmvdqnv.js} +9 -23
- package/dist/{http-CoPwpYGd.js → http-fivRSxPO.js} +9 -23
- package/dist/{inbox-CL7Y2POM.js → inbox-Dxm3dzXC.js} +2 -2
- package/dist/{key-vNs-KWCR.js → key-8FgmjBQw.js} +2 -2
- package/dist/{key-5iwxfdk7.js → key-Bd9x5bZc.js} +3 -3
- package/dist/{key-BQEmzABV.js → key-CDrBZp4z.js} +4 -4
- package/dist/{key-dki_alWE.js → key-DA2WNLBR.js} +5 -5
- package/dist/{keycache-oIWQCIss.js → keycache-DpxW9Koh.js} +1 -1
- package/dist/{keys-BF9Wnizj.js → keys-B0uS_qcm.js} +1 -1
- package/dist/{ld-Bro1OUaC.js → ld-EwYuTK6H.js} +3 -3
- package/dist/{lookup-DVLRiy-x.js → lookup-DEkWpnDW.js} +1 -1
- package/dist/{lookup-BE2D88-F.js → lookup-DF-Kf8aT.js} +1 -1
- package/dist/{lookup-BNZr2r1q.js → lookup-DJEy1utC.js} +3 -3
- package/dist/{middleware-BoJeFg8A.js → middleware-BP-bBD2r.js} +37 -16
- package/dist/{middleware-DIMI9i2M.js → middleware-CQ7qEYyO.js} +31 -10
- package/dist/middleware-CWgW_9AC.js +17 -0
- package/dist/middleware-D9gKZ14Q.js +33 -0
- package/dist/{mod-CgmTOt4z.d.ts → mod-5orySGMZ.d.ts} +1 -1
- package/dist/mod.d.ts +3 -3
- package/dist/mod.js +11 -11
- package/dist/{mq-nceTGCuc.d.ts → mq-DYKDDJmp.d.ts} +20 -0
- package/dist/nodeinfo/client.test.js +13 -13
- package/dist/nodeinfo/handler.test.js +29 -29
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/semver.test.js +10 -10
- package/dist/nodeinfo/types.test.js +11 -11
- package/dist/{owner-B5psHPX0.js → owner-Cc4nwvMO.js} +3 -3
- package/dist/{proof-Bxho-Eev.js → proof-CQOQgQLC.js} +3 -3
- package/dist/{proof-Ck9qUTzW.js → proof-dej36xUb.js} +3 -3
- package/dist/runtime/authdocloader.test.js +18 -18
- package/dist/runtime/docloader.test.js +11 -11
- package/dist/runtime/key.test.js +14 -14
- package/dist/runtime/langstr.test.js +9 -9
- package/dist/runtime/mod.js +6 -6
- package/dist/runtime/multibase/multibase.test.js +9 -9
- package/dist/runtime/url.test.js +5 -5
- package/dist/{semver-DWClQt_5.js → semver-CbbIgUsa.js} +2 -2
- package/dist/{send-D4-hN_vq.js → send-Cs6hGpVz.js} +2 -2
- package/dist/sig/http.test.js +23 -51
- package/dist/sig/key.test.js +15 -15
- package/dist/sig/ld.test.js +13 -13
- package/dist/sig/mod.js +6 -6
- package/dist/sig/owner.test.js +17 -17
- package/dist/sig/proof.test.js +17 -17
- package/dist/{std__assert-CmyZxqPw.js → std__assert-CHXwj7zk.js} +1 -1
- package/dist/testing/docloader.test.js +9 -9
- package/dist/testing/mod.js +1 -1
- package/dist/{testing-BZ0dJ4qn.js → testing-jcGLO9Lp.js} +1 -1
- package/dist/{types-BaxpHQDE.js → types-Bn2FleIz.js} +3 -3
- package/dist/{types-C7C_l-jz.js → types-CqoqWDkp.js} +1 -1
- package/dist/vocab/actor.test.js +15 -15
- package/dist/vocab/announce.yaml +1 -3
- package/dist/vocab/create.yaml +1 -3
- package/dist/vocab/delete.yaml +1 -3
- package/dist/vocab/lookup.test.js +14 -14
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/question.yaml +1 -3
- package/dist/vocab/type.test.js +4 -4
- package/dist/vocab/update.yaml +1 -3
- package/dist/vocab/vocab.test.js +34 -37
- package/dist/{vocab-Bcgf3ubZ.js → vocab-BKrOvMEW.js} +3 -3
- package/dist/{vocab-DrV5TQKL.js → vocab-BeUz_sCd.js} +184 -199
- package/dist/webfinger/handler.test.js +29 -29
- package/dist/webfinger/lookup.test.js +12 -12
- package/dist/webfinger/mod.js +2 -2
- package/dist/x/cfworkers.d.ts +7 -1
- package/dist/x/cfworkers.js +6 -0
- package/dist/x/cfworkers.test.js +15 -9
- package/dist/x/hono.d.ts +2 -2
- package/dist/x/sveltekit.d.ts +2 -2
- package/package.json +1 -1
- package/dist/middleware-30sYf6H-.js +0 -17
- package/dist/middleware-DvIti4UE.js +0 -33
@@ -3,9 +3,9 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default } from "./docloader-
|
7
|
-
import { CryptographicKey } from "./vocab-
|
8
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
6
|
+
import { deno_default } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { CryptographicKey } from "./vocab-BeUz_sCd.js";
|
8
|
+
import { fetchKey, validateCryptoKey } from "./key-Bd9x5bZc.js";
|
9
9
|
import { getLogger } from "@logtape/logtape";
|
10
10
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
11
11
|
import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
|
@@ -212,15 +212,10 @@ async function signRequestRfc9421(request, privateKey, keyId, span, currentTime)
|
|
212
212
|
keyId,
|
213
213
|
created
|
214
214
|
});
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
headers
|
220
|
-
}), components, signatureParams);
|
221
|
-
} catch (error) {
|
222
|
-
throw new TypeError(`Failed to create signature base: ${String(error)}; it is probably a bug in the implementation. Please report it at Fedify's issue tracker.`);
|
223
|
-
}
|
215
|
+
const signatureBase = createRfc9421SignatureBase(new Request(request.url, {
|
216
|
+
method: request.method,
|
217
|
+
headers
|
218
|
+
}), components, signatureParams);
|
224
219
|
const signatureBytes = await crypto.subtle.sign("RSASSA-PKCS1-v1_5", privateKey, new TextEncoder().encode(signatureBase));
|
225
220
|
const [signatureInput, signature] = formatRfc9421Signature(signatureBytes, components, signatureParams);
|
226
221
|
headers.set("Signature-Input", signatureInput);
|
@@ -600,16 +595,7 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
|
|
600
595
|
});
|
601
596
|
continue;
|
602
597
|
}
|
603
|
-
|
604
|
-
try {
|
605
|
-
signatureBase = createRfc9421SignatureBase(request, sigInput.components, sigInput.parameters);
|
606
|
-
} catch (error) {
|
607
|
-
logger.debug("Failed to create signature base for verification: {error}", {
|
608
|
-
error,
|
609
|
-
signatureInput: sigInput
|
610
|
-
});
|
611
|
-
continue;
|
612
|
-
}
|
598
|
+
const signatureBase = createRfc9421SignatureBase(request, sigInput.components, sigInput.parameters);
|
613
599
|
const signatureBaseBytes = new TextEncoder().encode(signatureBase);
|
614
600
|
span?.setAttribute("http_signatures.signature", encodeHex(sigBytes));
|
615
601
|
try {
|
@@ -680,7 +666,7 @@ async function doubleKnock(request, identity, options = {}) {
|
|
680
666
|
integrity: request.integrity,
|
681
667
|
keepalive: request.keepalive
|
682
668
|
}), identity, options);
|
683
|
-
} else if (response.status === 400 || response.status === 401
|
669
|
+
} else if (response.status === 400 || response.status === 401) {
|
684
670
|
const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
|
685
671
|
getLogger([
|
686
672
|
"fedify",
|
@@ -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 } from "./docloader-
|
6
|
-
import { CryptographicKey } from "./actor-
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
5
|
+
import { deno_default } from "./docloader-D933g4kZ.js";
|
6
|
+
import { CryptographicKey } from "./actor-D_TAErPk.js";
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-8FgmjBQw.js";
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
9
9
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
10
10
|
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
@@ -211,15 +211,10 @@ async function signRequestRfc9421(request, privateKey, keyId, span, currentTime)
|
|
211
211
|
keyId,
|
212
212
|
created
|
213
213
|
});
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
headers
|
219
|
-
}), components, signatureParams);
|
220
|
-
} catch (error) {
|
221
|
-
throw new TypeError(`Failed to create signature base: ${String(error)}; it is probably a bug in the implementation. Please report it at Fedify's issue tracker.`);
|
222
|
-
}
|
214
|
+
const signatureBase = createRfc9421SignatureBase(new Request(request.url, {
|
215
|
+
method: request.method,
|
216
|
+
headers
|
217
|
+
}), components, signatureParams);
|
223
218
|
const signatureBytes = await crypto.subtle.sign("RSASSA-PKCS1-v1_5", privateKey, new TextEncoder().encode(signatureBase));
|
224
219
|
const [signatureInput, signature] = formatRfc9421Signature(signatureBytes, components, signatureParams);
|
225
220
|
headers.set("Signature-Input", signatureInput);
|
@@ -599,16 +594,7 @@ async function verifyRequestRfc9421(request, span, { documentLoader, contextLoad
|
|
599
594
|
});
|
600
595
|
continue;
|
601
596
|
}
|
602
|
-
|
603
|
-
try {
|
604
|
-
signatureBase = createRfc9421SignatureBase(request, sigInput.components, sigInput.parameters);
|
605
|
-
} catch (error) {
|
606
|
-
logger.debug("Failed to create signature base for verification: {error}", {
|
607
|
-
error,
|
608
|
-
signatureInput: sigInput
|
609
|
-
});
|
610
|
-
continue;
|
611
|
-
}
|
597
|
+
const signatureBase = createRfc9421SignatureBase(request, sigInput.components, sigInput.parameters);
|
612
598
|
const signatureBaseBytes = new TextEncoder().encode(signatureBase);
|
613
599
|
span?.setAttribute("http_signatures.signature", encodeHex(sigBytes));
|
614
600
|
try {
|
@@ -679,7 +665,7 @@ async function doubleKnock(request, identity, options = {}) {
|
|
679
665
|
integrity: request.integrity,
|
680
666
|
keepalive: request.keepalive
|
681
667
|
}), identity, options);
|
682
|
-
} else if (response.status === 400 || response.status === 401
|
668
|
+
} else if (response.status === 400 || response.status === 401) {
|
683
669
|
const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
|
684
670
|
getLogger([
|
685
671
|
"fedify",
|
@@ -3,8 +3,8 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default } from "./docloader-
|
7
|
-
import { Activity } from "./vocab-
|
6
|
+
import { deno_default } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { Activity } from "./vocab-BeUz_sCd.js";
|
8
8
|
import { getTypeId } from "./type-D2s5lmbZ.js";
|
9
9
|
import { getLogger } from "@logtape/logtape";
|
10
10
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
@@ -2,8 +2,8 @@
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
|
5
|
-
import { deno_default, getDocumentLoader } from "./docloader-
|
6
|
-
import { CryptographicKey, Object as Object$1, isActor } from "./actor-
|
5
|
+
import { deno_default, getDocumentLoader } from "./docloader-D933g4kZ.js";
|
6
|
+
import { CryptographicKey, Object as Object$1, isActor } from "./actor-D_TAErPk.js";
|
7
7
|
import { getLogger } from "@logtape/logtape";
|
8
8
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
9
9
|
|
@@ -3,9 +3,9 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default, getDocumentLoader } from "./docloader-
|
7
|
-
import { CryptographicKey, Object as Object$1 } from "./vocab-
|
8
|
-
import { isActor } from "./actor-
|
6
|
+
import { deno_default, getDocumentLoader } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { CryptographicKey, Object as Object$1 } from "./vocab-BeUz_sCd.js";
|
8
|
+
import { isActor } from "./actor-DtsixKAW.js";
|
9
9
|
import { getLogger } from "@logtape/logtape";
|
10
10
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
11
11
|
|
@@ -2,9 +2,9 @@
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
|
5
|
-
import "./docloader-
|
6
|
-
import "./actor-
|
7
|
-
import "./lookup-
|
8
|
-
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-
|
5
|
+
import "./docloader-D933g4kZ.js";
|
6
|
+
import "./actor-D_TAErPk.js";
|
7
|
+
import "./lookup-DEkWpnDW.js";
|
8
|
+
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-8FgmjBQw.js";
|
9
9
|
|
10
10
|
export { validateCryptoKey };
|
@@ -3,14 +3,14 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import "./docloader-
|
6
|
+
import "./docloader-CD0wlEX1.js";
|
7
7
|
import "./url-kTAI6_KP.js";
|
8
8
|
import "./multibase-DeCHcK8L.js";
|
9
|
-
import "./vocab-
|
9
|
+
import "./vocab-BeUz_sCd.js";
|
10
10
|
import "./langstr-DbWheeIS.js";
|
11
|
-
import "./lookup-
|
11
|
+
import "./lookup-DF-Kf8aT.js";
|
12
12
|
import "./type-D2s5lmbZ.js";
|
13
|
-
import "./actor-
|
14
|
-
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-
|
13
|
+
import "./actor-DtsixKAW.js";
|
14
|
+
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-Bd9x5bZc.js";
|
15
15
|
|
16
16
|
export { validateCryptoKey };
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { CryptographicKey, Multikey } from "./vocab-
|
6
|
+
import { CryptographicKey, Multikey } from "./vocab-BeUz_sCd.js";
|
7
7
|
|
8
8
|
//#region federation/keycache.ts
|
9
9
|
var KvKeyCache = class {
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { CryptographicKey, Multikey, importSpki } from "./vocab-
|
6
|
+
import { CryptographicKey, Multikey, importSpki } from "./vocab-BeUz_sCd.js";
|
7
7
|
|
8
8
|
//#region testing/keys.ts
|
9
9
|
const rsaPublicKey1 = new CryptographicKey({
|
@@ -3,10 +3,10 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default, getDocumentLoader } from "./docloader-
|
7
|
-
import { Activity, CryptographicKey, Object as Object$1 } from "./vocab-
|
6
|
+
import { deno_default, getDocumentLoader } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { Activity, CryptographicKey, Object as Object$1 } from "./vocab-BeUz_sCd.js";
|
8
8
|
import { getTypeId } from "./type-D2s5lmbZ.js";
|
9
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
9
|
+
import { fetchKey, validateCryptoKey } from "./key-Bd9x5bZc.js";
|
10
10
|
import { getLogger } from "@logtape/logtape";
|
11
11
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
12
12
|
import { decodeBase64, encodeBase64 } from "byte-encodings/base64";
|
@@ -2,7 +2,7 @@
|
|
2
2
|
import { Temporal } from "@js-temporal/polyfill";
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
|
5
|
-
import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-
|
5
|
+
import { UrlError, deno_default, getUserAgent, validatePublicUrl } from "./docloader-D933g4kZ.js";
|
6
6
|
import { getLogger } from "@logtape/logtape";
|
7
7
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
8
8
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default, getUserAgent } from "./docloader-
|
6
|
+
import { deno_default, getUserAgent } from "./docloader-CD0wlEX1.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";
|
@@ -3,9 +3,9 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { deno_default, getDocumentLoader } from "./docloader-
|
7
|
-
import { Object as Object$1 } from "./vocab-
|
8
|
-
import { lookupWebFinger } from "./lookup-
|
6
|
+
import { deno_default, getDocumentLoader } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { Object as Object$1 } from "./vocab-BeUz_sCd.js";
|
8
|
+
import { lookupWebFinger } from "./lookup-DF-Kf8aT.js";
|
9
9
|
import { getTypeId } from "./type-D2s5lmbZ.js";
|
10
10
|
import { getLogger } from "@logtape/logtape";
|
11
11
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
@@ -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-
|
7
|
-
import { getNodeInfo } from "./client-
|
6
|
+
import { deno_default, getDocumentLoader, kvCache } from "./docloader-CD0wlEX1.js";
|
7
|
+
import { getNodeInfo } from "./client-DUX3b6Xa.js";
|
8
8
|
import { RouterError } from "./router-D_aVZZUc.js";
|
9
|
-
import { nodeInfoToJson } from "./types-
|
10
|
-
import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-
|
11
|
-
import { lookupWebFinger } from "./lookup-
|
9
|
+
import { nodeInfoToJson } from "./types-CqoqWDkp.js";
|
10
|
+
import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage } from "./vocab-BeUz_sCd.js";
|
11
|
+
import { lookupWebFinger } from "./lookup-DF-Kf8aT.js";
|
12
12
|
import { getTypeId } from "./type-D2s5lmbZ.js";
|
13
|
-
import { exportJwk, importJwk, validateCryptoKey } from "./key-
|
14
|
-
import { verifyRequest } from "./http-
|
15
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
16
|
-
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-
|
17
|
-
import { doesActorOwnKey, getKeyOwner } from "./owner-
|
18
|
-
import { signObject, verifyObject } from "./proof-
|
19
|
-
import { lookupObject, traverseCollection } from "./lookup-
|
20
|
-
import { routeActivity } from "./inbox-
|
21
|
-
import { FederationBuilderImpl } from "./builder-
|
13
|
+
import { exportJwk, importJwk, validateCryptoKey } from "./key-Bd9x5bZc.js";
|
14
|
+
import { verifyRequest } from "./http-CQmvdqnv.js";
|
15
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-D3lP3oQJ.js";
|
16
|
+
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-EwYuTK6H.js";
|
17
|
+
import { doesActorOwnKey, getKeyOwner } from "./owner-Cc4nwvMO.js";
|
18
|
+
import { signObject, verifyObject } from "./proof-dej36xUb.js";
|
19
|
+
import { lookupObject, traverseCollection } from "./lookup-DJEy1utC.js";
|
20
|
+
import { routeActivity } from "./inbox-Dxm3dzXC.js";
|
21
|
+
import { FederationBuilderImpl } from "./builder-q1rdJ7Qu.js";
|
22
22
|
import { buildCollectionSynchronizationHeader } from "./collection-Dfb0TPno.js";
|
23
|
-
import { KvKeyCache } from "./keycache-
|
23
|
+
import { KvKeyCache } from "./keycache-DpxW9Koh.js";
|
24
24
|
import { createExponentialBackoffPolicy } from "./retry-BiIhZWgD.js";
|
25
|
-
import { extractInboxes, sendActivity } from "./send-
|
25
|
+
import { extractInboxes, sendActivity } from "./send-Cs6hGpVz.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";
|
@@ -1185,6 +1185,13 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1185
1185
|
error: error$1
|
1186
1186
|
});
|
1187
1187
|
}
|
1188
|
+
if (this.outboxQueue?.nativeRetrial) {
|
1189
|
+
logger$2.error("Failed to send activity {activityId} to {inbox}; backend will handle retry:\n{error}", {
|
1190
|
+
...logData,
|
1191
|
+
error
|
1192
|
+
});
|
1193
|
+
throw error;
|
1194
|
+
}
|
1188
1195
|
const delay = this.outboxRetryPolicy({
|
1189
1196
|
elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
|
1190
1197
|
attempts: message.attempt
|
@@ -1270,6 +1277,20 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
1270
1277
|
recipient: message.identifier
|
1271
1278
|
});
|
1272
1279
|
}
|
1280
|
+
if (this.inboxQueue?.nativeRetrial) {
|
1281
|
+
logger$2.error("Failed to process the incoming activity {activityId}; backend will handle retry:\n{error}", {
|
1282
|
+
error,
|
1283
|
+
activityId: activity.id?.href,
|
1284
|
+
activity: message.activity,
|
1285
|
+
recipient: message.identifier
|
1286
|
+
});
|
1287
|
+
span$1.setStatus({
|
1288
|
+
code: SpanStatusCode.ERROR,
|
1289
|
+
message: String(error)
|
1290
|
+
});
|
1291
|
+
span$1.end();
|
1292
|
+
throw error;
|
1293
|
+
}
|
1273
1294
|
const delay = this.inboxRetryPolicy({
|
1274
1295
|
elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
|
1275
1296
|
attempts: message.attempt
|
@@ -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-
|
7
|
-
import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-
|
8
|
-
import { lookupWebFinger } from "./lookup-
|
9
|
-
import { exportJwk, importJwk, validateCryptoKey } from "./key-
|
10
|
-
import { doubleKnock, verifyRequest } from "./http-
|
11
|
-
import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-
|
12
|
-
import { getNodeInfo, nodeInfoToJson } from "./types-
|
13
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
14
|
-
import { lookupObject, traverseCollection } from "./vocab-
|
6
|
+
import { deno_default, getDocumentLoader, kvCache } from "./docloader-D933g4kZ.js";
|
7
|
+
import { Activity, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, getTypeId } from "./actor-D_TAErPk.js";
|
8
|
+
import { lookupWebFinger } from "./lookup-DEkWpnDW.js";
|
9
|
+
import { exportJwk, importJwk, validateCryptoKey } from "./key-8FgmjBQw.js";
|
10
|
+
import { doubleKnock, verifyRequest } from "./http-fivRSxPO.js";
|
11
|
+
import { detachSignature, doesActorOwnKey, getKeyOwner, hasSignature, signJsonLd, signObject, verifyJsonLd, verifyObject } from "./proof-CQOQgQLC.js";
|
12
|
+
import { getNodeInfo, nodeInfoToJson } from "./types-Bn2FleIz.js";
|
13
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-Cj8NhE13.js";
|
14
|
+
import { lookupObject, traverseCollection } from "./vocab-BKrOvMEW.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-
|
315
|
+
const { FederationImpl: FederationImpl$1 } = await import("./middleware-CWgW_9AC.js");
|
316
316
|
const f = new FederationImpl$1(options);
|
317
317
|
const trailingSlashInsensitiveValue = f.router.trailingSlashInsensitive;
|
318
318
|
f.router = this.router.clone();
|
@@ -2050,6 +2050,13 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2050
2050
|
error: error$1
|
2051
2051
|
});
|
2052
2052
|
}
|
2053
|
+
if (this.outboxQueue?.nativeRetrial) {
|
2054
|
+
logger$1.error("Failed to send activity {activityId} to {inbox}; backend will handle retry:\n{error}", {
|
2055
|
+
...logData,
|
2056
|
+
error
|
2057
|
+
});
|
2058
|
+
throw error;
|
2059
|
+
}
|
2053
2060
|
const delay$1 = this.outboxRetryPolicy({
|
2054
2061
|
elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
|
2055
2062
|
attempts: message.attempt
|
@@ -2135,6 +2142,20 @@ var FederationImpl = class extends FederationBuilderImpl {
|
|
2135
2142
|
recipient: message.identifier
|
2136
2143
|
});
|
2137
2144
|
}
|
2145
|
+
if (this.inboxQueue?.nativeRetrial) {
|
2146
|
+
logger$1.error("Failed to process the incoming activity {activityId}; backend will handle retry:\n{error}", {
|
2147
|
+
error,
|
2148
|
+
activityId: activity.id?.href,
|
2149
|
+
activity: message.activity,
|
2150
|
+
recipient: message.identifier
|
2151
|
+
});
|
2152
|
+
span$1.setStatus({
|
2153
|
+
code: SpanStatusCode.ERROR,
|
2154
|
+
message: String(error)
|
2155
|
+
});
|
2156
|
+
span$1.end();
|
2157
|
+
throw error;
|
2158
|
+
}
|
2138
2159
|
const delay$1 = this.inboxRetryPolicy({
|
2139
2160
|
elapsedTime: Temporal.Instant.from(message.started).until(Temporal.Now.instant()),
|
2140
2161
|
attempts: message.attempt
|
@@ -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-D933g4kZ.js";
|
7
|
+
import "./actor-D_TAErPk.js";
|
8
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-CQ7qEYyO.js";
|
9
|
+
import "./lookup-DEkWpnDW.js";
|
10
|
+
import "./key-8FgmjBQw.js";
|
11
|
+
import "./http-fivRSxPO.js";
|
12
|
+
import "./proof-CQOQgQLC.js";
|
13
|
+
import "./types-Bn2FleIz.js";
|
14
|
+
import "./authdocloader-Cj8NhE13.js";
|
15
|
+
import "./vocab-BKrOvMEW.js";
|
16
|
+
|
17
|
+
export { FederationImpl };
|
@@ -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-BP-bBD2r.js";
|
7
|
+
import "./docloader-CD0wlEX1.js";
|
8
|
+
import "./url-kTAI6_KP.js";
|
9
|
+
import "./semver-CbbIgUsa.js";
|
10
|
+
import "./client-DUX3b6Xa.js";
|
11
|
+
import "./router-D_aVZZUc.js";
|
12
|
+
import "./types-CqoqWDkp.js";
|
13
|
+
import "./multibase-DeCHcK8L.js";
|
14
|
+
import "./vocab-BeUz_sCd.js";
|
15
|
+
import "./langstr-DbWheeIS.js";
|
16
|
+
import "./lookup-DF-Kf8aT.js";
|
17
|
+
import "./type-D2s5lmbZ.js";
|
18
|
+
import "./actor-DtsixKAW.js";
|
19
|
+
import "./key-Bd9x5bZc.js";
|
20
|
+
import "./http-CQmvdqnv.js";
|
21
|
+
import "./authdocloader-D3lP3oQJ.js";
|
22
|
+
import "./ld-EwYuTK6H.js";
|
23
|
+
import "./owner-Cc4nwvMO.js";
|
24
|
+
import "./proof-dej36xUb.js";
|
25
|
+
import "./lookup-DJEy1utC.js";
|
26
|
+
import "./inbox-Dxm3dzXC.js";
|
27
|
+
import "./builder-q1rdJ7Qu.js";
|
28
|
+
import "./collection-Dfb0TPno.js";
|
29
|
+
import "./keycache-DpxW9Koh.js";
|
30
|
+
import "./retry-BiIhZWgD.js";
|
31
|
+
import "./send-Cs6hGpVz.js";
|
32
|
+
|
33
|
+
export { FederationImpl };
|
@@ -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-DSFLLLe6.js";
|
4
|
-
import { ActivityTransformer, Context } from "./context-
|
4
|
+
import { ActivityTransformer, Context } from "./context-DdICJaUT.js";
|
5
5
|
|
6
6
|
//#region compat/transformers.d.ts
|
7
7
|
|
package/dist/mod.d.ts
CHANGED
@@ -9,9 +9,9 @@ import { FetchKeyOptions, FetchKeyResult, HttpMessageSignaturesSpec, HttpMessage
|
|
9
9
|
import { DoesActorOwnKeyOptions, GetKeyOwnerOptions, doesActorOwnKey, getKeyOwner } from "./owner-CbRc94FP.js";
|
10
10
|
import { LookupObjectOptions, PUBLIC_COLLECTION, TraverseCollectionOptions, getTypeId, lookupObject, traverseCollection } from "./mod-DSPyncxx.js";
|
11
11
|
import { ResourceDescriptor, lookupWebFinger } from "./lookup-vJccIKCS.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-
|
13
|
-
import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-
|
14
|
-
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-
|
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-DdICJaUT.js";
|
13
|
+
import { InProcessMessageQueue, InProcessMessageQueueOptions, MessageQueue, MessageQueueEnqueueOptions, MessageQueueListenOptions, ParallelMessageQueue } from "./mq-DYKDDJmp.js";
|
14
|
+
import { actorDehydrator, autoIdAssigner, getDefaultActivityTransformers } from "./mod-5orySGMZ.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-BTHfUeLo.js";
|
package/dist/mod.js
CHANGED
@@ -4,17 +4,17 @@
|
|
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-
|
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-
|
9
|
-
import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-
|
10
|
-
import { lookupWebFinger } from "./lookup-
|
11
|
-
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-
|
12
|
-
import { signRequest, verifyRequest } from "./http-
|
13
|
-
import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-
|
14
|
-
import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-
|
15
|
-
import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-
|
16
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
17
|
-
import { PUBLIC_COLLECTION, lookupObject, traverseCollection } from "./vocab-
|
7
|
+
import { FetchError, fetchDocumentLoader, getDocumentLoader, getUserAgent, kvCache } from "./docloader-D933g4kZ.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-D_TAErPk.js";
|
9
|
+
import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "./middleware-CQ7qEYyO.js";
|
10
|
+
import { lookupWebFinger } from "./lookup-DEkWpnDW.js";
|
11
|
+
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk } from "./key-8FgmjBQw.js";
|
12
|
+
import { signRequest, verifyRequest } from "./http-fivRSxPO.js";
|
13
|
+
import { attachSignature, createProof, createSignature, detachSignature, doesActorOwnKey, getKeyOwner, signJsonLd, signObject, verifyJsonLd, verifyObject, verifyProof, verifySignature } from "./proof-CQOQgQLC.js";
|
14
|
+
import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "./federation-lZOZyLAo.js";
|
15
|
+
import { formatSemVer, getNodeInfo, nodeInfoToJson, parseNodeInfo, parseSemVer } from "./types-Bn2FleIz.js";
|
16
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-Cj8NhE13.js";
|
17
|
+
import { PUBLIC_COLLECTION, lookupObject, traverseCollection } from "./vocab-BKrOvMEW.js";
|
18
18
|
import "./nodeinfo-CyEbLjHs.js";
|
19
19
|
import "./runtime-BSkOVUWM.js";
|
20
20
|
import "./sig-BXJO--F9.js";
|
@@ -32,6 +32,16 @@ interface MessageQueueListenOptions {
|
|
32
32
|
* @since 0.5.0
|
33
33
|
*/
|
34
34
|
interface MessageQueue {
|
35
|
+
/**
|
36
|
+
* Whether the message queue backend provides native retry mechanisms.
|
37
|
+
* When `true`, Fedify will skip its own retry logic and rely on the backend
|
38
|
+
* to handle retries. When `false` or omitted, Fedify will handle retries
|
39
|
+
* using its own retry policies.
|
40
|
+
*
|
41
|
+
* @default `false`
|
42
|
+
* @since 1.7.0
|
43
|
+
*/
|
44
|
+
readonly nativeRetrial?: boolean;
|
35
45
|
/**
|
36
46
|
* Enqueues a message in the queue.
|
37
47
|
* @param message The message to enqueue.
|
@@ -77,6 +87,11 @@ interface InProcessMessageQueueOptions {
|
|
77
87
|
*/
|
78
88
|
declare class InProcessMessageQueue implements MessageQueue {
|
79
89
|
#private;
|
90
|
+
/**
|
91
|
+
* In-process message queue does not provide native retry mechanisms.
|
92
|
+
* @since 1.7.0
|
93
|
+
*/
|
94
|
+
readonly nativeRetrial = false;
|
80
95
|
/**
|
81
96
|
* Constructs a new {@link InProcessMessageQueue} with the given options.
|
82
97
|
* @param options Additional options for the in-process message queue.
|
@@ -105,6 +120,11 @@ declare class ParallelMessageQueue implements MessageQueue {
|
|
105
120
|
#private;
|
106
121
|
readonly queue: MessageQueue;
|
107
122
|
readonly workers: number;
|
123
|
+
/**
|
124
|
+
* Inherits the native retry capability from the wrapped queue.
|
125
|
+
* @since 1.7.0
|
126
|
+
*/
|
127
|
+
readonly nativeRetrial?: boolean;
|
108
128
|
/**
|
109
129
|
* Constructs a new {@link ParallelMessageQueue} with the given queue and
|
110
130
|
* number of workers.
|
@@ -3,20 +3,20 @@
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
4
4
|
globalThis.addEventListener = () => {};
|
5
5
|
|
6
|
-
import { assertEquals } from "../assert_equals-
|
7
|
-
import "../assert-
|
8
|
-
import "../assert_instance_of-
|
9
|
-
import "../docloader-
|
6
|
+
import { assertEquals } from "../assert_equals-Dnj7ejjL.js";
|
7
|
+
import "../assert-YJk-1DlZ.js";
|
8
|
+
import "../assert_instance_of-DBIoG5k7.js";
|
9
|
+
import "../docloader-CD0wlEX1.js";
|
10
10
|
import "../url-kTAI6_KP.js";
|
11
|
-
import "../semver-
|
12
|
-
import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-
|
13
|
-
import { test } from "../testing-
|
14
|
-
import "../std__assert-
|
15
|
-
import "../assert_rejects-
|
16
|
-
import "../assert_is_error-
|
17
|
-
import "../assert_not_equals-
|
18
|
-
import "../assert_throws-
|
19
|
-
import { esm_default } from "../esm-
|
11
|
+
import "../semver-CbbIgUsa.js";
|
12
|
+
import { getNodeInfo, parseInboundService, parseNodeInfo, parseOutboundService, parseProtocol, parseServices, parseSoftware, parseUsage } from "../client-DUX3b6Xa.js";
|
13
|
+
import { test } from "../testing-jcGLO9Lp.js";
|
14
|
+
import "../std__assert-CHXwj7zk.js";
|
15
|
+
import "../assert_rejects-BZjUwo62.js";
|
16
|
+
import "../assert_is_error-jyzqjHud.js";
|
17
|
+
import "../assert_not_equals-wx-SRs4i.js";
|
18
|
+
import "../assert_throws-gBPv3v2V.js";
|
19
|
+
import { esm_default } from "../esm-Btx3E8og.js";
|
20
20
|
|
21
21
|
//#region nodeinfo/client.test.ts
|
22
22
|
test("getNodeInfo()", async (t) => {
|