@fedify/fedify 1.9.4 → 1.9.6-dev.2118
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-DaTw3ZoP.cjs → actor-C71CIMfC.cjs} +187 -187
- package/dist/{actor-Dt6VnVAI.js → actor-CCg-pZae.js} +187 -187
- package/dist/{actor-9lrMxiOC.js → actor-CNWkxCrC.js} +1 -1
- package/dist/{authdocloader-MaPCkajM.cjs → authdocloader-CT1cPj97.cjs} +3 -3
- package/dist/{authdocloader-Dt0rccI_.js → authdocloader-DEGiIEaL.js} +3 -3
- package/dist/{authdocloader-C_IO-V7D.js → authdocloader-wQk3e7Ag.js} +3 -3
- package/dist/{builder-CAqlYTn5.js → builder-D0mOpo0N.js} +4 -4
- package/dist/{client-BuiAxEUJ.js → client-BSRRCCF9.js} +1 -1
- package/dist/compat/transformers.test.js +16 -16
- package/dist/{docloader-Czkn2Slv.js → docloader-ENN4YgIF.js} +31 -11
- package/dist/{docloader-NpoYR27X.cjs → docloader-OWdVzt6R.cjs} +31 -11
- package/dist/{esm-BwprNKvq.js → esm-rU2ogNNz.js} +1 -1
- package/dist/federation/builder.test.js +5 -5
- package/dist/federation/collection.test.js +3 -3
- package/dist/federation/handler.test.js +17 -17
- package/dist/federation/idempotency.test.js +17 -17
- package/dist/federation/inbox.test.js +4 -4
- package/dist/federation/keycache.test.js +8 -4
- package/dist/federation/kv.test.js +3 -3
- package/dist/federation/middleware.test.js +18 -18
- package/dist/federation/mod.cjs +10 -10
- package/dist/federation/mod.js +10 -10
- package/dist/federation/mq.test.js +3 -3
- package/dist/federation/retry.test.js +3 -3
- package/dist/federation/router.test.js +3 -3
- package/dist/federation/send.test.js +10 -10
- package/dist/fixtures/example.com/inline-paged/a.json +8 -0
- package/dist/fixtures/example.com/inline-paged-collection.json +13 -0
- package/dist/{http-4p9YB09O.cjs → http-Bmn4CXIM.cjs} +18 -7
- package/dist/{http-DeTXxhsX.js → http-DAz2fpwK.js} +18 -7
- package/dist/{http-Bds0K1mZ.js → http-LDjZxhgJ.js} +17 -6
- package/dist/{inbox-Bthm50NH.js → inbox-CLgNEczc.js} +1 -1
- package/dist/{key-D94plRTf.js → key-Bsm-uoaE.js} +4 -4
- package/dist/key-Bv9soVGW.cjs +10 -0
- package/dist/{key-Ce4B04hE.cjs → key-C45K8q1u.cjs} +2 -2
- package/dist/{key-CuDHIfti.js → key-C6dA6KgH.js} +3 -3
- package/dist/{key-BQWglQNz.js → key-VDAxfcre.js} +2 -2
- package/dist/{key-DVH5ZRRE.js → key-kD68vuX_.js} +2 -2
- package/dist/{keycache-DGoYy9uR.js → keycache-DtWOiAMc.js} +11 -2
- package/dist/{keys-A6bd_D4-.js → keys-CJezjcJ9.js} +1 -1
- package/dist/{ld-DVmFdxQm.js → ld-DSD_uqio.js} +2 -2
- package/dist/{lookup-DVLCnPMi.js → lookup-B0Qds1Mq.js} +8 -10
- package/dist/{lookup-DtHmRWRO.cjs → lookup-Brpn8XFF.cjs} +1 -1
- package/dist/{lookup-JqEqC50m.js → lookup-Dkw6PUQT.js} +1 -1
- package/dist/middleware-BJbqjuUV.js +17 -0
- package/dist/middleware-BVltQrGG.cjs +17 -0
- package/dist/{middleware-CCvp_5cE.js → middleware-Bn5wceGF.js} +13 -13
- package/dist/{middleware-BBiSgZBC.js → middleware-Cfia6iC-.js} +20 -11
- package/dist/{middleware-CmooH-ru.cjs → middleware-DQ1ijTAg.cjs} +20 -11
- package/dist/middleware-NDh5Vgwn.js +26 -0
- package/dist/mod.cjs +10 -10
- package/dist/mod.js +10 -10
- package/dist/nodeinfo/client.test.js +5 -5
- package/dist/nodeinfo/handler.test.js +16 -16
- package/dist/nodeinfo/mod.cjs +2 -2
- package/dist/nodeinfo/mod.js +2 -2
- package/dist/nodeinfo/semver.test.js +3 -3
- package/dist/nodeinfo/types.test.js +3 -3
- package/dist/{owner-CmrFJ6nC.js → owner-CD3PoJME.js} +2 -2
- package/dist/{proof-B8qjy9Ir.cjs → proof-CKkQu1BL.cjs} +3 -3
- package/dist/{proof-DlPQw64j.js → proof-Qv3fs4TE.js} +3 -3
- package/dist/{proof-BQZSDcog.js → proof-fJIJMt-0.js} +2 -2
- package/dist/runtime/authdocloader.test.js +9 -9
- package/dist/runtime/docloader.test.js +51 -4
- package/dist/runtime/key.test.js +5 -5
- package/dist/runtime/langstr.test.js +3 -3
- package/dist/runtime/link.test.js +3 -3
- package/dist/runtime/mod.cjs +6 -6
- package/dist/runtime/mod.js +6 -6
- package/dist/runtime/multibase/multibase.test.js +3 -3
- package/dist/runtime/url.test.js +3 -3
- package/dist/{send-OGomXDD2.js → send-KX74JBzu.js} +2 -2
- package/dist/sig/http.test.js +51 -8
- package/dist/sig/key.test.js +6 -6
- package/dist/sig/ld.test.js +7 -7
- package/dist/sig/mod.cjs +6 -6
- package/dist/sig/mod.js +6 -6
- package/dist/sig/owner.test.js +7 -7
- package/dist/sig/proof.test.js +7 -7
- package/dist/testing/docloader.test.js +3 -3
- package/dist/testing/mod.js +3 -3
- package/dist/{testing-Ck5xuYFK.js → testing-DlM9L2qY.js} +2 -2
- package/dist/{type-BsdaIaDu.js → type-kdsaa4c5.js} +216 -196
- package/dist/{types-36vZrlJd.cjs → types-Bq8MUNvK.cjs} +1 -1
- package/dist/{types-CqQyG66G.js → types-CfuEksTX.js} +1 -1
- package/dist/vocab/actor.test.js +5 -5
- package/dist/vocab/lookup.test.js +8 -4
- package/dist/vocab/mod.cjs +4 -4
- package/dist/vocab/mod.js +4 -4
- package/dist/vocab/type.test.js +3 -3
- package/dist/vocab/vocab.test.js +4 -4
- package/dist/{vocab-DKmyIckU.cjs → vocab-DBzzAvtf.cjs} +10 -12
- package/dist/{vocab-BI15AKJP.js → vocab-cxfw8FFj.js} +10 -12
- package/dist/webfinger/handler.test.js +16 -16
- package/dist/webfinger/lookup.test.js +4 -4
- package/dist/webfinger/mod.cjs +2 -2
- package/dist/webfinger/mod.js +2 -2
- package/dist/x/cfworkers.test.js +3 -3
- package/package.json +1 -1
- package/dist/key-B8CU1hSv.cjs +0 -10
- package/dist/middleware-B5f9G-Hm.cjs +0 -17
- package/dist/middleware-CnLtrHD9.js +0 -17
- package/dist/middleware-DOB0veaC.js +0 -26
package/dist/federation/mod.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
|
|
5
5
|
import "../transformers-BFT6d7J5.js";
|
|
6
|
-
import "../docloader-
|
|
7
|
-
import "../actor-
|
|
8
|
-
import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-
|
|
9
|
-
import "../lookup-
|
|
10
|
-
import "../key-
|
|
11
|
-
import "../http-
|
|
12
|
-
import "../proof-
|
|
6
|
+
import "../docloader-ENN4YgIF.js";
|
|
7
|
+
import "../actor-CCg-pZae.js";
|
|
8
|
+
import { Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable } from "../middleware-Cfia6iC-.js";
|
|
9
|
+
import "../lookup-Dkw6PUQT.js";
|
|
10
|
+
import "../key-VDAxfcre.js";
|
|
11
|
+
import "../http-DAz2fpwK.js";
|
|
12
|
+
import "../proof-Qv3fs4TE.js";
|
|
13
13
|
import { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue } from "../federation-D1U8YY9t.js";
|
|
14
|
-
import "../types-
|
|
15
|
-
import "../authdocloader-
|
|
16
|
-
import "../vocab-
|
|
14
|
+
import "../types-CfuEksTX.js";
|
|
15
|
+
import "../authdocloader-DEGiIEaL.js";
|
|
16
|
+
import "../vocab-cxfw8FFj.js";
|
|
17
17
|
|
|
18
18
|
export { InProcessMessageQueue, MemoryKvStore, ParallelMessageQueue, Router, RouterError, buildCollectionSynchronizationHeader, createExponentialBackoffPolicy, createFederation, createFederationBuilder, digest, respondWithObject, respondWithObjectIfAcceptable };
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import "../type-
|
|
6
|
+
import "../type-kdsaa4c5.js";
|
|
7
7
|
import { assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
8
|
import { assert } from "../assert-MZs1qjMx.js";
|
|
9
9
|
import "../assert_instance_of-DHz7EHNU.js";
|
|
10
|
-
import "../lookup-
|
|
11
|
-
import { test } from "../testing-
|
|
10
|
+
import "../lookup-B0Qds1Mq.js";
|
|
11
|
+
import { test } from "../testing-DlM9L2qY.js";
|
|
12
12
|
import { assertGreater, assertGreaterOrEqual } from "../std__assert-X-_kMxKM.js";
|
|
13
13
|
import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
|
|
14
14
|
import "../assert_is_error-BPGph1Jx.js";
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import "../type-
|
|
6
|
+
import "../type-kdsaa4c5.js";
|
|
7
7
|
import { AssertionError, assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
|
-
import "../lookup-
|
|
8
|
+
import "../lookup-B0Qds1Mq.js";
|
|
9
9
|
import { createExponentialBackoffPolicy } from "../retry-D4GJ670a.js";
|
|
10
|
-
import { test } from "../testing-
|
|
10
|
+
import { test } from "../testing-DlM9L2qY.js";
|
|
11
11
|
import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
|
|
12
12
|
|
|
13
13
|
//#region src/federation/retry.test.ts
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import "../type-
|
|
6
|
+
import "../type-kdsaa4c5.js";
|
|
7
7
|
import { assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
8
|
import { assert } from "../assert-MZs1qjMx.js";
|
|
9
9
|
import "../assert_instance_of-DHz7EHNU.js";
|
|
10
|
-
import { Router, RouterError } from "../lookup-
|
|
11
|
-
import { test } from "../testing-
|
|
10
|
+
import { Router, RouterError } from "../lookup-B0Qds1Mq.js";
|
|
11
|
+
import { test } from "../testing-DlM9L2qY.js";
|
|
12
12
|
import "../std__assert-X-_kMxKM.js";
|
|
13
13
|
import { assertFalse } from "../assert_rejects-DiIiJbZn.js";
|
|
14
14
|
import "../assert_is_error-BPGph1Jx.js";
|
|
@@ -3,24 +3,24 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Activity, Application, Endpoints, Group, Person, Service } from "../type-
|
|
6
|
+
import { Activity, Application, Endpoints, Group, Person, Service } from "../type-kdsaa4c5.js";
|
|
7
7
|
import { assertEquals } from "../assert_equals-DSbWqCm3.js";
|
|
8
8
|
import { assert } from "../assert-MZs1qjMx.js";
|
|
9
9
|
import "../assert_instance_of-DHz7EHNU.js";
|
|
10
|
-
import "../lookup-
|
|
11
|
-
import "../actor-
|
|
12
|
-
import "../key-
|
|
13
|
-
import { verifyRequest } from "../http-
|
|
14
|
-
import { doesActorOwnKey } from "../owner-
|
|
15
|
-
import { extractInboxes, sendActivity } from "../send-
|
|
16
|
-
import { mockDocumentLoader, test } from "../testing-
|
|
10
|
+
import "../lookup-B0Qds1Mq.js";
|
|
11
|
+
import "../actor-CNWkxCrC.js";
|
|
12
|
+
import "../key-kD68vuX_.js";
|
|
13
|
+
import { verifyRequest } from "../http-LDjZxhgJ.js";
|
|
14
|
+
import { doesActorOwnKey } from "../owner-CD3PoJME.js";
|
|
15
|
+
import { extractInboxes, sendActivity } from "../send-KX74JBzu.js";
|
|
16
|
+
import { mockDocumentLoader, test } from "../testing-DlM9L2qY.js";
|
|
17
17
|
import "../std__assert-X-_kMxKM.js";
|
|
18
18
|
import { assertFalse, assertRejects } from "../assert_rejects-DiIiJbZn.js";
|
|
19
19
|
import "../assert_is_error-BPGph1Jx.js";
|
|
20
20
|
import { assertNotEquals } from "../assert_not_equals-f3m3epl3.js";
|
|
21
21
|
import "../assert_throws-BOO88avQ.js";
|
|
22
|
-
import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-
|
|
23
|
-
import { esm_default } from "../esm-
|
|
22
|
+
import { ed25519Multikey, ed25519PrivateKey, rsaPrivateKey2, rsaPublicKey2 } from "../keys-CJezjcJ9.js";
|
|
23
|
+
import { esm_default } from "../esm-rU2ogNNz.js";
|
|
24
24
|
|
|
25
25
|
//#region src/federation/send.test.ts
|
|
26
26
|
test("extractInboxes()", () => {
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": "https://www.w3.org/ns/activitystreams",
|
|
3
|
+
"id": "https://example.com/inline-paged-collection",
|
|
4
|
+
"type": "Collection",
|
|
5
|
+
"first": {
|
|
6
|
+
"type": "CollectionPage",
|
|
7
|
+
"partOf": "https://example.com/inline-paged-collection",
|
|
8
|
+
"next": "https://example.com/inline-paged/a",
|
|
9
|
+
"items": [
|
|
10
|
+
{ "type": "Note", "content": "Inline first note" }
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
|
-
const require_docloader = require('./docloader-
|
|
7
|
-
const require_actor = require('./actor-
|
|
8
|
-
const require_key = require('./key-
|
|
6
|
+
const require_docloader = require('./docloader-OWdVzt6R.cjs');
|
|
7
|
+
const require_actor = require('./actor-C71CIMfC.cjs');
|
|
8
|
+
const require_key = require('./key-C45K8q1u.cjs');
|
|
9
9
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
10
10
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
11
11
|
const byte_encodings_base64 = require_chunk.__toESM(require("byte-encodings/base64"));
|
|
@@ -14,6 +14,7 @@ const __opentelemetry_semantic_conventions = require_chunk.__toESM(require("@ope
|
|
|
14
14
|
const structured_field_values = require_chunk.__toESM(require("structured-field-values"));
|
|
15
15
|
|
|
16
16
|
//#region src/sig/http.ts
|
|
17
|
+
const DEFAULT_MAX_REDIRECTION = 20;
|
|
17
18
|
/**
|
|
18
19
|
* Signs a request using the given private key.
|
|
19
20
|
* @param request The request to sign.
|
|
@@ -725,7 +726,11 @@ function createRedirectRequest(request, location, body) {
|
|
|
725
726
|
* @since 1.6.0
|
|
726
727
|
*/
|
|
727
728
|
async function doubleKnock(request, identity, options = {}) {
|
|
729
|
+
return await doubleKnockInternal(request, identity, options);
|
|
730
|
+
}
|
|
731
|
+
async function doubleKnockInternal(request, identity, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
|
|
728
732
|
const { specDeterminer, log, tracerProvider, signal } = options;
|
|
733
|
+
visited.add(request.url);
|
|
729
734
|
const origin = new URL(request.url).origin;
|
|
730
735
|
const firstTrySpec = specDeterminer == null ? "rfc9421" : await specDeterminer.determineSpec(origin);
|
|
731
736
|
const body = options.body !== void 0 ? options.body : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
|
|
@@ -740,11 +745,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
740
745
|
signal
|
|
741
746
|
});
|
|
742
747
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
748
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new require_docloader.FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
743
749
|
const location = response.headers.get("Location");
|
|
744
|
-
|
|
750
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
751
|
+
if (visited.has(redirectRequest.url)) throw new require_docloader.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
752
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
745
753
|
...options,
|
|
746
754
|
body
|
|
747
|
-
});
|
|
755
|
+
}, redirected + 1, visited);
|
|
748
756
|
} else if (response.status === 400 || response.status === 401 || response.status > 401) {
|
|
749
757
|
const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
|
|
750
758
|
(0, __logtape_logtape.getLogger)([
|
|
@@ -768,11 +776,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
768
776
|
signal
|
|
769
777
|
});
|
|
770
778
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
779
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new require_docloader.FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
771
780
|
const location = response.headers.get("Location");
|
|
772
|
-
|
|
781
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
782
|
+
if (visited.has(redirectRequest.url)) throw new require_docloader.FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
783
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
773
784
|
...options,
|
|
774
785
|
body
|
|
775
|
-
});
|
|
786
|
+
}, redirected + 1, visited);
|
|
776
787
|
} else if (response.status !== 400 && response.status !== 401) await specDeterminer?.rememberSpec(origin, spec);
|
|
777
788
|
} else await specDeterminer?.rememberSpec(origin, firstTrySpec);
|
|
778
789
|
return response;
|
|
@@ -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 { FetchError, deno_default } from "./docloader-ENN4YgIF.js";
|
|
6
|
+
import { CryptographicKey } from "./actor-CCg-pZae.js";
|
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-VDAxfcre.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";
|
|
@@ -13,6 +13,7 @@ import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } fro
|
|
|
13
13
|
import { Item, decodeDict, encodeItem } from "structured-field-values";
|
|
14
14
|
|
|
15
15
|
//#region src/sig/http.ts
|
|
16
|
+
const DEFAULT_MAX_REDIRECTION = 20;
|
|
16
17
|
/**
|
|
17
18
|
* Signs a request using the given private key.
|
|
18
19
|
* @param request The request to sign.
|
|
@@ -724,7 +725,11 @@ function createRedirectRequest(request, location, body) {
|
|
|
724
725
|
* @since 1.6.0
|
|
725
726
|
*/
|
|
726
727
|
async function doubleKnock(request, identity, options = {}) {
|
|
728
|
+
return await doubleKnockInternal(request, identity, options);
|
|
729
|
+
}
|
|
730
|
+
async function doubleKnockInternal(request, identity, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
|
|
727
731
|
const { specDeterminer, log, tracerProvider, signal } = options;
|
|
732
|
+
visited.add(request.url);
|
|
728
733
|
const origin = new URL(request.url).origin;
|
|
729
734
|
const firstTrySpec = specDeterminer == null ? "rfc9421" : await specDeterminer.determineSpec(origin);
|
|
730
735
|
const body = options.body !== void 0 ? options.body : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
|
|
@@ -739,11 +744,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
739
744
|
signal
|
|
740
745
|
});
|
|
741
746
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
747
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
742
748
|
const location = response.headers.get("Location");
|
|
743
|
-
|
|
749
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
750
|
+
if (visited.has(redirectRequest.url)) throw new FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
751
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
744
752
|
...options,
|
|
745
753
|
body
|
|
746
|
-
});
|
|
754
|
+
}, redirected + 1, visited);
|
|
747
755
|
} else if (response.status === 400 || response.status === 401 || response.status > 401) {
|
|
748
756
|
const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
|
|
749
757
|
getLogger([
|
|
@@ -767,11 +775,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
767
775
|
signal
|
|
768
776
|
});
|
|
769
777
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
778
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
770
779
|
const location = response.headers.get("Location");
|
|
771
|
-
|
|
780
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
781
|
+
if (visited.has(redirectRequest.url)) throw new FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
782
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
772
783
|
...options,
|
|
773
784
|
body
|
|
774
|
-
});
|
|
785
|
+
}, redirected + 1, visited);
|
|
775
786
|
} else if (response.status !== 400 && response.status !== 401) await specDeterminer?.rememberSpec(origin, spec);
|
|
776
787
|
} else await specDeterminer?.rememberSpec(origin, firstTrySpec);
|
|
777
788
|
return response;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, deno_default } from "./type-
|
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
|
6
|
+
import { CryptographicKey, FetchError, deno_default } from "./type-kdsaa4c5.js";
|
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-kD68vuX_.js";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
9
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
10
10
|
import { ATTR_HTTP_REQUEST_HEADER, ATTR_HTTP_REQUEST_METHOD, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
|
|
@@ -13,6 +13,7 @@ import { encodeHex } from "byte-encodings/hex";
|
|
|
13
13
|
import { Item, decodeDict, encodeItem } from "structured-field-values";
|
|
14
14
|
|
|
15
15
|
//#region src/sig/http.ts
|
|
16
|
+
const DEFAULT_MAX_REDIRECTION = 20;
|
|
16
17
|
/**
|
|
17
18
|
* Signs a request using the given private key.
|
|
18
19
|
* @param request The request to sign.
|
|
@@ -724,7 +725,11 @@ function createRedirectRequest(request, location, body) {
|
|
|
724
725
|
* @since 1.6.0
|
|
725
726
|
*/
|
|
726
727
|
async function doubleKnock(request, identity, options = {}) {
|
|
728
|
+
return await doubleKnockInternal(request, identity, options);
|
|
729
|
+
}
|
|
730
|
+
async function doubleKnockInternal(request, identity, options, redirected = 0, visited = /* @__PURE__ */ new Set()) {
|
|
727
731
|
const { specDeterminer, log, tracerProvider, signal } = options;
|
|
732
|
+
visited.add(request.url);
|
|
728
733
|
const origin = new URL(request.url).origin;
|
|
729
734
|
const firstTrySpec = specDeterminer == null ? "rfc9421" : await specDeterminer.determineSpec(origin);
|
|
730
735
|
const body = options.body !== void 0 ? options.body : request.method !== "GET" && request.method !== "HEAD" ? await request.clone().arrayBuffer() : null;
|
|
@@ -739,11 +744,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
739
744
|
signal
|
|
740
745
|
});
|
|
741
746
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
747
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
742
748
|
const location = response.headers.get("Location");
|
|
743
|
-
|
|
749
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
750
|
+
if (visited.has(redirectRequest.url)) throw new FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
751
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
744
752
|
...options,
|
|
745
753
|
body
|
|
746
|
-
});
|
|
754
|
+
}, redirected + 1, visited);
|
|
747
755
|
} else if (response.status === 400 || response.status === 401 || response.status > 401) {
|
|
748
756
|
const spec = firstTrySpec === "draft-cavage-http-signatures-12" ? "rfc9421" : "draft-cavage-http-signatures-12";
|
|
749
757
|
getLogger([
|
|
@@ -767,11 +775,14 @@ async function doubleKnock(request, identity, options = {}) {
|
|
|
767
775
|
signal
|
|
768
776
|
});
|
|
769
777
|
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
|
778
|
+
if (redirected >= DEFAULT_MAX_REDIRECTION) throw new FetchError(request.url, `Too many redirections (${redirected + 1})`);
|
|
770
779
|
const location = response.headers.get("Location");
|
|
771
|
-
|
|
780
|
+
const redirectRequest = createRedirectRequest(request, location, body);
|
|
781
|
+
if (visited.has(redirectRequest.url)) throw new FetchError(request.url, `Redirect loop detected: ${redirectRequest.url}`);
|
|
782
|
+
return doubleKnockInternal(redirectRequest, identity, {
|
|
772
783
|
...options,
|
|
773
784
|
body
|
|
774
|
-
});
|
|
785
|
+
}, redirected + 1, visited);
|
|
775
786
|
} else if (response.status !== 400 && response.status !== 401) await specDeterminer?.rememberSpec(origin, spec);
|
|
776
787
|
} else await specDeterminer?.rememberSpec(origin, firstTrySpec);
|
|
777
788
|
return response;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Activity, deno_default, getTypeId } from "./type-
|
|
6
|
+
import { Activity, deno_default, getTypeId } from "./type-kdsaa4c5.js";
|
|
7
7
|
import { getLogger } from "@logtape/logtape";
|
|
8
8
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
|
9
9
|
|
|
@@ -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-ENN4YgIF.js";
|
|
6
|
+
import "./actor-CCg-pZae.js";
|
|
7
|
+
import "./lookup-Dkw6PUQT.js";
|
|
8
|
+
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-VDAxfcre.js";
|
|
9
9
|
|
|
10
10
|
export { validateCryptoKey };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
|
|
2
|
+
const { Temporal } = require("@js-temporal/polyfill");
|
|
3
|
+
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
|
+
|
|
5
|
+
require('./docloader-OWdVzt6R.cjs');
|
|
6
|
+
require('./actor-C71CIMfC.cjs');
|
|
7
|
+
require('./lookup-Brpn8XFF.cjs');
|
|
8
|
+
const require_key = require('./key-C45K8q1u.cjs');
|
|
9
|
+
|
|
10
|
+
exports.validateCryptoKey = require_key.validateCryptoKey;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
|
-
const require_docloader = require('./docloader-
|
|
7
|
-
const require_actor = require('./actor-
|
|
6
|
+
const require_docloader = require('./docloader-OWdVzt6R.cjs');
|
|
7
|
+
const require_actor = require('./actor-C71CIMfC.cjs');
|
|
8
8
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
9
9
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
10
10
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import "./type-
|
|
7
|
-
import "./actor-
|
|
8
|
-
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-
|
|
6
|
+
import "./type-kdsaa4c5.js";
|
|
7
|
+
import "./actor-CNWkxCrC.js";
|
|
8
|
+
import { exportJwk, fetchKey, generateCryptoKeyPair, importJwk, validateCryptoKey } from "./key-kD68vuX_.js";
|
|
9
9
|
|
|
10
10
|
export { validateCryptoKey };
|
|
@@ -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-ENN4YgIF.js";
|
|
6
|
+
import { CryptographicKey, Object as Object$1, isActor } from "./actor-CCg-pZae.js";
|
|
7
7
|
import { getLogger } from "@logtape/logtape";
|
|
8
8
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
9
9
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, Object as Object$1, deno_default, getDocumentLoader } from "./type-
|
|
7
|
-
import { isActor } from "./actor-
|
|
6
|
+
import { CryptographicKey, Object as Object$1, deno_default, getDocumentLoader } from "./type-kdsaa4c5.js";
|
|
7
|
+
import { isActor } from "./actor-CNWkxCrC.js";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
9
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
10
10
|
|
|
@@ -3,9 +3,14 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, Multikey } from "./type-
|
|
6
|
+
import { CryptographicKey, Multikey } from "./type-kdsaa4c5.js";
|
|
7
7
|
|
|
8
8
|
//#region src/federation/keycache.ts
|
|
9
|
+
const NULL_KEY_CACHE_VALUE = { _fedify: "key-unavailable" };
|
|
10
|
+
const NULL_KEY_CACHE_TTL = Temporal.Duration.from({ minutes: 5 });
|
|
11
|
+
function isNullKeyCacheValue(value) {
|
|
12
|
+
return typeof value === "object" && value != null && "_fedify" in value && value._fedify === NULL_KEY_CACHE_VALUE._fedify;
|
|
13
|
+
}
|
|
9
14
|
var KvKeyCache = class {
|
|
10
15
|
kv;
|
|
11
16
|
prefix;
|
|
@@ -21,6 +26,10 @@ var KvKeyCache = class {
|
|
|
21
26
|
if (this.nullKeys.has(keyId.href)) return null;
|
|
22
27
|
const serialized = await this.kv.get([...this.prefix, keyId.href]);
|
|
23
28
|
if (serialized == null) return void 0;
|
|
29
|
+
if (isNullKeyCacheValue(serialized)) {
|
|
30
|
+
this.nullKeys.add(keyId.href);
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
24
33
|
try {
|
|
25
34
|
return await CryptographicKey.fromJsonLd(serialized, this.options);
|
|
26
35
|
} catch {
|
|
@@ -35,7 +44,7 @@ var KvKeyCache = class {
|
|
|
35
44
|
async set(keyId, key) {
|
|
36
45
|
if (key == null) {
|
|
37
46
|
this.nullKeys.add(keyId.href);
|
|
38
|
-
await this.kv.
|
|
47
|
+
await this.kv.set([...this.prefix, keyId.href], NULL_KEY_CACHE_VALUE, { ttl: NULL_KEY_CACHE_TTL });
|
|
39
48
|
return;
|
|
40
49
|
}
|
|
41
50
|
this.nullKeys.delete(keyId.href);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { CryptographicKey, Multikey, importSpki } from "./type-
|
|
6
|
+
import { CryptographicKey, Multikey, importSpki } from "./type-kdsaa4c5.js";
|
|
7
7
|
|
|
8
8
|
//#region src/testing/keys.ts
|
|
9
9
|
const rsaPublicKey1 = new CryptographicKey({
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Activity, CryptographicKey, Object as Object$1, deno_default, getDocumentLoader, getTypeId } from "./type-
|
|
7
|
-
import { fetchKey, validateCryptoKey } from "./key-
|
|
6
|
+
import { Activity, CryptographicKey, Object as Object$1, deno_default, getDocumentLoader, getTypeId } from "./type-kdsaa4c5.js";
|
|
7
|
+
import { fetchKey, validateCryptoKey } from "./key-kD68vuX_.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";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Object as Object$1, deno_default, getDocumentLoader, getTypeId, lookupWebFinger } from "./type-
|
|
6
|
+
import { Object as Object$1, deno_default, getDocumentLoader, getTypeId, lookupWebFinger } from "./type-kdsaa4c5.js";
|
|
7
7
|
import { cloneDeep, delay } from "es-toolkit";
|
|
8
8
|
import { getLogger } from "@logtape/logtape";
|
|
9
9
|
import { SpanStatusCode, trace } from "@opentelemetry/api";
|
|
@@ -315,15 +315,13 @@ async function lookupObjectInternal(identifier, options = {}) {
|
|
|
315
315
|
* @since 1.1.0
|
|
316
316
|
*/
|
|
317
317
|
async function* traverseCollection(collection, options = {}) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
page = await page.getNext(options);
|
|
326
|
-
}
|
|
318
|
+
const interval = Temporal.Duration.from(options.interval ?? { seconds: 0 }).total("millisecond");
|
|
319
|
+
let page = await collection.getFirst(options);
|
|
320
|
+
if (page == null) for await (const item of collection.getItems(options)) yield item;
|
|
321
|
+
else while (page != null) {
|
|
322
|
+
for await (const item of page.getItems(options)) yield item;
|
|
323
|
+
if (interval > 0) await delay(interval);
|
|
324
|
+
page = await page.getNext(options);
|
|
327
325
|
}
|
|
328
326
|
}
|
|
329
327
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
4
|
|
|
5
5
|
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
|
6
|
-
const require_docloader = require('./docloader-
|
|
6
|
+
const require_docloader = require('./docloader-OWdVzt6R.cjs');
|
|
7
7
|
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
|
8
8
|
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
|
9
9
|
|
|
@@ -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-ENN4YgIF.js";
|
|
6
6
|
import { getLogger } from "@logtape/logtape";
|
|
7
7
|
import { SpanKind, SpanStatusCode, trace } from "@opentelemetry/api";
|
|
8
8
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
import { Temporal } from "@js-temporal/polyfill";
|
|
3
|
+
import { URLPattern } from "urlpattern-polyfill";
|
|
4
|
+
|
|
5
|
+
import "./transformers-BFT6d7J5.js";
|
|
6
|
+
import "./docloader-ENN4YgIF.js";
|
|
7
|
+
import "./actor-CCg-pZae.js";
|
|
8
|
+
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-Cfia6iC-.js";
|
|
9
|
+
import "./lookup-Dkw6PUQT.js";
|
|
10
|
+
import "./key-VDAxfcre.js";
|
|
11
|
+
import "./http-DAz2fpwK.js";
|
|
12
|
+
import "./proof-Qv3fs4TE.js";
|
|
13
|
+
import "./types-CfuEksTX.js";
|
|
14
|
+
import "./authdocloader-DEGiIEaL.js";
|
|
15
|
+
import "./vocab-cxfw8FFj.js";
|
|
16
|
+
|
|
17
|
+
export { FederationImpl };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
const { Temporal } = require("@js-temporal/polyfill");
|
|
3
|
+
const { URLPattern } = require("urlpattern-polyfill");
|
|
4
|
+
|
|
5
|
+
require('./transformers-CoBS-oFG.cjs');
|
|
6
|
+
require('./docloader-OWdVzt6R.cjs');
|
|
7
|
+
require('./actor-C71CIMfC.cjs');
|
|
8
|
+
const require_middleware = require('./middleware-DQ1ijTAg.cjs');
|
|
9
|
+
require('./lookup-Brpn8XFF.cjs');
|
|
10
|
+
require('./key-C45K8q1u.cjs');
|
|
11
|
+
require('./http-Bmn4CXIM.cjs');
|
|
12
|
+
require('./proof-CKkQu1BL.cjs');
|
|
13
|
+
require('./types-Bq8MUNvK.cjs');
|
|
14
|
+
require('./authdocloader-CT1cPj97.cjs');
|
|
15
|
+
require('./vocab-DBzzAvtf.cjs');
|
|
16
|
+
|
|
17
|
+
exports.FederationImpl = require_middleware.FederationImpl;
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
import { URLPattern } from "urlpattern-polyfill";
|
|
4
4
|
globalThis.addEventListener = () => {};
|
|
5
5
|
|
|
6
|
-
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-
|
|
7
|
-
import { getNodeInfo } from "./client-
|
|
8
|
-
import { RouterError, lookupObject, traverseCollection } from "./lookup-
|
|
6
|
+
import { Activity, Collection, CollectionPage, CryptographicKey, Link, Multikey, Object as Object$1, OrderedCollection, OrderedCollectionPage, deno_default, getDocumentLoader, getTypeId, kvCache, lookupWebFinger } from "./type-kdsaa4c5.js";
|
|
7
|
+
import { getNodeInfo } from "./client-BSRRCCF9.js";
|
|
8
|
+
import { RouterError, lookupObject, traverseCollection } from "./lookup-B0Qds1Mq.js";
|
|
9
9
|
import { nodeInfoToJson } from "./types-BIgY6c-l.js";
|
|
10
|
-
import { exportJwk, importJwk, validateCryptoKey } from "./key-
|
|
11
|
-
import { verifyRequest } from "./http-
|
|
12
|
-
import { getAuthenticatedDocumentLoader } from "./authdocloader-
|
|
13
|
-
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-
|
|
14
|
-
import { doesActorOwnKey, getKeyOwner } from "./owner-
|
|
15
|
-
import { signObject, verifyObject } from "./proof-
|
|
16
|
-
import { routeActivity } from "./inbox-
|
|
17
|
-
import { FederationBuilderImpl } from "./builder-
|
|
10
|
+
import { exportJwk, importJwk, validateCryptoKey } from "./key-kD68vuX_.js";
|
|
11
|
+
import { verifyRequest } from "./http-LDjZxhgJ.js";
|
|
12
|
+
import { getAuthenticatedDocumentLoader } from "./authdocloader-wQk3e7Ag.js";
|
|
13
|
+
import { detachSignature, hasSignature, signJsonLd, verifyJsonLd } from "./ld-DSD_uqio.js";
|
|
14
|
+
import { doesActorOwnKey, getKeyOwner } from "./owner-CD3PoJME.js";
|
|
15
|
+
import { signObject, verifyObject } from "./proof-fJIJMt-0.js";
|
|
16
|
+
import { routeActivity } from "./inbox-CLgNEczc.js";
|
|
17
|
+
import { FederationBuilderImpl } from "./builder-D0mOpo0N.js";
|
|
18
18
|
import { buildCollectionSynchronizationHeader } from "./collection-CSzG2j1P.js";
|
|
19
|
-
import { KvKeyCache } from "./keycache-
|
|
19
|
+
import { KvKeyCache } from "./keycache-DtWOiAMc.js";
|
|
20
20
|
import { createExponentialBackoffPolicy } from "./retry-D4GJ670a.js";
|
|
21
|
-
import { extractInboxes, sendActivity } from "./send-
|
|
21
|
+
import { extractInboxes, sendActivity } from "./send-KX74JBzu.js";
|
|
22
22
|
import { getLogger, withContext } from "@logtape/logtape";
|
|
23
23
|
import { SpanKind, SpanStatusCode, context, propagation, trace } from "@opentelemetry/api";
|
|
24
24
|
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";
|