@fedify/fedify 2.0.0-pr.451.1730 → 2.0.0-pr.451.1735
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-Cg8ZhoVF.js → actor-BlCt_BFA.js} +1 -1
- package/dist/{actor-Cd2CREO0.d.ts → actor-DqFajh9s.d.ts} +2 -2
- package/dist/{actor-D020hlx3.cjs → actor-SSKGPs2C.cjs} +186 -187
- package/dist/{actor-DDhZuMGl.d.cts → actor-f2NtjyCg.d.cts} +2 -2
- package/dist/{actor-DPD6Gbdn.js → actor-qRieKMCS.js} +185 -186
- package/dist/{builder-Dn87hy75.js → builder-Daev8Oe3.js} +3 -3
- package/dist/{client-Cle5j1T1.d.cts → client-94iWEfQa.d.cts} +1 -1
- package/dist/{client-Bkaw0_PR.d.ts → client-BsGzbnV-.d.ts} +1 -1
- package/dist/{client-D6-5okV1.js → client-pY7-3icS.js} +1 -1
- package/dist/compat/mod.d.cts +11 -12
- package/dist/compat/mod.d.ts +11 -12
- package/dist/compat/transformers.test.js +16 -16
- package/dist/{context-BOYzcFSe.d.cts → context-BvYz3eOb.d.cts} +11 -11
- package/dist/{context-DqFifMwj.d.ts → context-myrGWbL_.d.ts} +11 -11
- package/dist/{docloader-B2BFBGqv.js → docloader-CuY-IQHN.js} +4 -5
- package/dist/{esm-CU0Dnk7T.js → esm-CO0P-prF.js} +1 -1
- package/dist/federation/builder.test.js +4 -4
- package/dist/federation/collection.test.js +2 -2
- package/dist/federation/handler.test.js +17 -17
- package/dist/federation/idempotency.test.js +17 -17
- package/dist/federation/inbox.test.js +3 -3
- package/dist/federation/keycache.test.js +3 -3
- package/dist/federation/kv.test.js +2 -2
- package/dist/federation/middleware.test.js +18 -18
- package/dist/federation/mod.cjs +9 -10
- package/dist/federation/mod.d.cts +11 -12
- package/dist/federation/mod.d.ts +11 -12
- package/dist/federation/mod.js +9 -10
- package/dist/federation/mq.test.js +2 -2
- package/dist/federation/negotiation.test.js +2 -2
- package/dist/federation/retry.test.js +2 -2
- package/dist/federation/router.test.js +2 -2
- package/dist/federation/send.test.js +9 -9
- package/dist/{http-DN0v2zoF.js → http--W_KqmV8.js} +2 -2
- package/dist/{http-BE7aFuqn.d.ts → http-BbO0ejuk.d.ts} +1 -1
- package/dist/{http-DMsjudj8.cjs → http-CZRSpr-0.cjs} +5 -5
- package/dist/{http-B6SKO6NJ.d.cts → http-M8k5mKc0.d.cts} +1 -1
- package/dist/{http-DcDb8r1W.js → http-cj5p1nm9.js} +2 -2
- package/dist/{inbox-CgGy7Hzc.js → inbox-DCOu4Fxg.js} +1 -1
- package/dist/{key-jSvnymAk.js → key-CLBIsQ2b.js} +2 -2
- package/dist/{keycache-IVLjlAK9.js → keycache-C_E92fAZ.js} +1 -1
- package/dist/{keys-BKM2Mqu2.js → keys-CESa8pOV.js} +1 -1
- package/dist/kv-cache-6gn8hq87.cjs +133 -0
- package/dist/kv-cache-D6OS46Qp.js +121 -0
- package/dist/kv-cache-z0lgwFi_.js +93 -0
- package/dist/{ld-CcsryBo0.js → ld-uohK5TcN.js} +2 -2
- package/dist/{lookup-BV3A9Zbc.js → lookup-B4NiLSoR.js} +129 -60
- package/dist/{lookup-BbEekiru.js → lookup-Bp3gBRGD.js} +188 -297
- package/dist/lookup-CfVdYD74.cjs +273 -0
- package/dist/{middleware-ekn2KaOw.cjs → middleware-B5t3REnT.cjs} +18 -19
- package/dist/middleware-B86mRO81.cjs +15 -0
- package/dist/{middleware-D-vPitR-.js → middleware-BEWbWO0t.js} +8 -9
- package/dist/middleware-BzGmhttT.js +26 -0
- package/dist/middleware-DxFOBA0V.js +15 -0
- package/dist/{middleware-Dm8sXYUr.js → middleware-yd4xq6Dt.js} +13 -13
- package/dist/{mod-DLIidI_j.d.ts → mod-B2iOw50L.d.ts} +2 -2
- package/dist/{mod-Cm97bAiT.d.ts → mod-BYynOiJG.d.ts} +2 -2
- package/dist/{mod-CRENK2dd.d.ts → mod-BlVovdcy.d.ts} +2 -3
- package/dist/{mod--K7l84wp.d.cts → mod-BxRCHTz-.d.cts} +2 -3
- package/dist/{mod-DuclhZjh.d.cts → mod-C58MZ7Wx.d.cts} +1 -1
- package/dist/{mod-D9XZsft2.d.cts → mod-DbFNTF7m.d.cts} +2 -2
- package/dist/{mod-COlOrmr9.d.cts → mod-DgdBYYa0.d.cts} +2 -2
- package/dist/{mod-CB80AlIA.d.ts → mod-Ds0mpFZU.d.ts} +1 -1
- package/dist/{mod-CLKu6Uo_.d.cts → mod-VastcQsk.d.cts} +2 -2
- package/dist/{mod-CaWbCg0N.d.ts → mod-k0Dk3fGk.d.ts} +2 -2
- package/dist/mod.cjs +13 -15
- package/dist/mod.d.cts +15 -16
- package/dist/mod.d.ts +16 -17
- package/dist/mod.js +14 -15
- package/dist/nodeinfo/client.test.js +4 -4
- package/dist/nodeinfo/handler.test.js +16 -16
- package/dist/nodeinfo/mod.cjs +2 -3
- package/dist/nodeinfo/mod.d.cts +2 -3
- package/dist/nodeinfo/mod.d.ts +2 -3
- package/dist/nodeinfo/mod.js +2 -3
- package/dist/nodeinfo/types.test.js +2 -2
- package/dist/{owner-dkg5OpSC.d.cts → owner-B4HbyP8s.d.cts} +2 -2
- package/dist/{owner-n5c_oZ_M.js → owner-DMwt6EnB.js} +2 -2
- package/dist/{owner-CktUdA0h.d.ts → owner-kQRGVXG1.d.ts} +2 -2
- package/dist/{proof-CLwByIT1.js → proof-BRMzWGtg.js} +3 -3
- package/dist/{proof-CZfrp13P.cjs → proof-DVvnQ6WP.cjs} +7 -7
- package/dist/{proof-CsFR7fiS.js → proof-X6v_1MA6.js} +2 -2
- package/dist/{send-eW9JIzQV.js → send-Cy3TUzxE.js} +2 -2
- package/dist/sig/http.test.js +7 -7
- package/dist/sig/key.test.js +5 -5
- package/dist/sig/ld.test.js +6 -6
- package/dist/sig/mod.cjs +5 -6
- package/dist/sig/mod.d.cts +5 -6
- package/dist/sig/mod.d.ts +5 -6
- package/dist/sig/mod.js +5 -6
- package/dist/sig/owner.test.js +6 -6
- package/dist/sig/proof.test.js +6 -6
- package/dist/testing/docloader.test.js +2 -2
- package/dist/testing/mod.d.ts +1 -27
- package/dist/testing/mod.js +2 -2
- package/dist/{testing-ClYSmXdi.js → testing-BJJvJvZe.js} +1 -1
- package/dist/{types-DaPoJTSc.js → types-BtUjyi5y.js} +1 -1
- package/dist/{types-BT0xc4-R.cjs → types-CWgzGaqk.cjs} +3 -3
- package/dist/utils/docloader.test.js +9 -8
- package/dist/utils/kv-cache.test.js +4 -3
- package/dist/utils/mod.cjs +5 -7
- package/dist/utils/mod.d.cts +5 -6
- package/dist/utils/mod.d.ts +5 -6
- package/dist/utils/mod.js +6 -7
- package/dist/vocab/actor.test.js +4 -4
- package/dist/vocab/lookup.test.js +3 -3
- package/dist/vocab/mod.cjs +3 -4
- package/dist/vocab/mod.d.cts +3 -4
- package/dist/vocab/mod.d.ts +3 -4
- package/dist/vocab/mod.js +3 -4
- package/dist/vocab/type.test.js +2 -2
- package/dist/vocab/vocab.test.js +3 -3
- package/dist/{vocab-CxTuoEVd.cjs → vocab-BPtsEU8k.cjs} +3 -4
- package/dist/{vocab-yFT-fQBj.js → vocab-DFaqbY9O.js} +2 -3
- package/dist/webfinger/handler.test.js +16 -16
- package/dist/webfinger/lookup.test.js +3 -3
- package/dist/webfinger/mod.cjs +2 -3
- package/dist/webfinger/mod.d.cts +1 -2
- package/dist/webfinger/mod.d.ts +1 -2
- package/dist/webfinger/mod.js +2 -3
- package/dist/x/cfworkers.d.cts +2 -2
- package/dist/x/cfworkers.d.ts +2 -2
- package/dist/x/cfworkers.test.js +2 -2
- package/dist/x/hono.d.cts +10 -11
- package/dist/x/hono.d.ts +10 -11
- package/dist/x/sveltekit.d.cts +10 -11
- package/dist/x/sveltekit.d.ts +10 -11
- package/package.json +2 -3
- package/dist/kv-cache-BHIupktM.cjs +0 -4279
- package/dist/kv-cache-DNvS-egZ.js +0 -4236
- package/dist/kv-cache-ydIs4Ul6.js +0 -4267
- package/dist/lookup-CMAGfQ1Q.cjs +0 -210
- package/dist/middleware-DzA970CF.js +0 -16
- package/dist/middleware-VpoC5jyA.js +0 -26
- package/dist/middleware-W_-inBoE.cjs +0 -16
- package/dist/request-BbHkedIU.d.cts +0 -35
- package/dist/request-DKGQaofB.js +0 -184
- package/dist/request-U1t6zZtk.d.ts +0 -39
- package/dist/request-XHWUW2bi.cjs +0 -208
- package/dist/utils/request.test.d.ts +0 -3
- package/dist/utils/request.test.js +0 -48
- package/dist/utils/url.test.d.ts +0 -3
- package/dist/utils/url.test.js +0 -41
- /package/dist/{federation-DOuZpcAw.cjs → federation-CRpdnOMS.cjs} +0 -0
- /package/dist/{federation-pZJsapBn.js → federation-jcR8-ZxP.js} +0 -0
- /package/dist/{kv-Dt06smFt.d.ts → kv-BKNZ-Tb-.d.ts} +0 -0
- /package/dist/{kv-BMKIFXNW.d.cts → kv-Bxr0Q87_.d.cts} +0 -0
- /package/dist/{mod-FZd39qVq.d.cts → mod-B-hUPT2N.d.cts} +0 -0
- /package/dist/{mod-B-ZQqbGe.d.ts → mod-CVgZgliM.d.ts} +0 -0
- /package/dist/{mod-CjsiSl7_.d.ts → mod-xIj-IT58.d.ts} +0 -0
- /package/dist/{mq-CPRJk4mZ.d.ts → mq-CUKlBw08.d.ts} +0 -0
- /package/dist/{mq-B7R1Q-M5.d.cts → mq-DcJPkXD5.d.cts} +0 -0
- /package/dist/{nodeinfo-B0UefMXO.js → nodeinfo-BnthBobC.js} +0 -0
- /package/dist/{nodeinfo-ByTd7HpT.cjs → nodeinfo-CdN0rEnZ.cjs} +0 -0
- /package/dist/{sig-Dx59zAgn.js → sig-C34-oHBl.js} +0 -0
- /package/dist/{sig-DE_NC_VQ.cjs → sig-YYj5tCnr.cjs} +0 -0
- /package/dist/{utils-BXMGcmqK.js → utils-D-Va7aXC.js} +0 -0
- /package/dist/{utils-B6yXfxAQ.cjs → utils-DyRU1gdZ.cjs} +0 -0
- /package/dist/{vocab-ivDKb439.d.ts → vocab-BCWe1Ih5.d.ts} +0 -0
- /package/dist/{vocab-DCBw44JZ.d.cts → vocab-CeDBzu-f.d.cts} +0 -0
- /package/dist/{webfinger-qG8R5jc3.js → webfinger-C72Y8lrh.js} +0 -0
- /package/dist/{webfinger-C949bxcD.cjs → webfinger-vAtLmxOF.cjs} +0 -0
package/dist/lookup-CMAGfQ1Q.cjs
DELETED
@@ -1,210 +0,0 @@
|
|
1
|
-
|
2
|
-
const { Temporal } = require("@js-temporal/polyfill");
|
3
|
-
const { URLPattern } = require("urlpattern-polyfill");
|
4
|
-
|
5
|
-
const require_chunk = require('./chunk-DqRYRqnO.cjs');
|
6
|
-
const require_request = require('./request-XHWUW2bi.cjs');
|
7
|
-
const __logtape_logtape = require_chunk.__toESM(require("@logtape/logtape"));
|
8
|
-
const __opentelemetry_api = require_chunk.__toESM(require("@opentelemetry/api"));
|
9
|
-
const node_dns_promises = require_chunk.__toESM(require("node:dns/promises"));
|
10
|
-
const node_net = require_chunk.__toESM(require("node:net"));
|
11
|
-
|
12
|
-
//#region src/utils/url.ts
|
13
|
-
var UrlError = class extends Error {
|
14
|
-
constructor(message) {
|
15
|
-
super(message);
|
16
|
-
this.name = "UrlError";
|
17
|
-
}
|
18
|
-
};
|
19
|
-
/**
|
20
|
-
* Validates a URL to prevent SSRF attacks.
|
21
|
-
*/
|
22
|
-
async function validatePublicUrl(url) {
|
23
|
-
const parsed = new URL(url);
|
24
|
-
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") throw new UrlError(`Unsupported protocol: ${parsed.protocol}`);
|
25
|
-
let hostname = parsed.hostname;
|
26
|
-
if (hostname.startsWith("[") && hostname.endsWith("]")) hostname = hostname.substring(1, hostname.length - 2);
|
27
|
-
if (hostname === "localhost") throw new UrlError("Localhost is not allowed");
|
28
|
-
if ("Deno" in globalThis && !(0, node_net.isIP)(hostname)) {
|
29
|
-
const netPermission = await Deno.permissions.query({ name: "net" });
|
30
|
-
if (netPermission.state !== "granted") return;
|
31
|
-
}
|
32
|
-
if ("Bun" in globalThis) {
|
33
|
-
if (hostname === "example.com" || hostname.endsWith(".example.com")) return;
|
34
|
-
else if (hostname === "fedify-test.internal") throw new UrlError("Invalid or private address: fedify-test.internal");
|
35
|
-
}
|
36
|
-
let addresses;
|
37
|
-
try {
|
38
|
-
addresses = await (0, node_dns_promises.lookup)(hostname, { all: true });
|
39
|
-
} catch {
|
40
|
-
addresses = [];
|
41
|
-
}
|
42
|
-
for (const { address, family } of addresses) if (family === 4 && !isValidPublicIPv4Address(address) || family === 6 && !isValidPublicIPv6Address(address) || family < 4 || family === 5 || family > 6) throw new UrlError(`Invalid or private address: ${address}`);
|
43
|
-
}
|
44
|
-
function isValidPublicIPv4Address(address) {
|
45
|
-
const parts = address.split(".");
|
46
|
-
const first = parseInt(parts[0]);
|
47
|
-
if (first === 0 || first === 10 || first === 127) return false;
|
48
|
-
const second = parseInt(parts[1]);
|
49
|
-
if (first === 169 && second === 254) return false;
|
50
|
-
if (first === 172 && second >= 16 && second <= 31) return false;
|
51
|
-
if (first === 192 && second === 168) return false;
|
52
|
-
return true;
|
53
|
-
}
|
54
|
-
function isValidPublicIPv6Address(address) {
|
55
|
-
address = expandIPv6Address(address);
|
56
|
-
if (address.at(4) !== ":") return false;
|
57
|
-
const firstWord = parseInt(address.substring(0, 4), 16);
|
58
|
-
return !(firstWord >= 64512 && firstWord <= 65023 || firstWord >= 65152 && firstWord <= 65215 || firstWord === 0 || firstWord >= 65280);
|
59
|
-
}
|
60
|
-
function expandIPv6Address(address) {
|
61
|
-
address = address.toLowerCase();
|
62
|
-
if (address === "::") return "0000:0000:0000:0000:0000:0000:0000:0000";
|
63
|
-
if (address.startsWith("::")) address = "0000" + address;
|
64
|
-
if (address.endsWith("::")) address = address + "0000";
|
65
|
-
address = address.replace("::", ":0000".repeat(8 - (address.match(/:/g) || []).length) + ":");
|
66
|
-
const parts = address.split(":");
|
67
|
-
return parts.map((part) => part.padStart(4, "0")).join(":");
|
68
|
-
}
|
69
|
-
|
70
|
-
//#endregion
|
71
|
-
//#region src/webfinger/lookup.ts
|
72
|
-
const logger = (0, __logtape_logtape.getLogger)([
|
73
|
-
"fedify",
|
74
|
-
"webfinger",
|
75
|
-
"lookup"
|
76
|
-
]);
|
77
|
-
const DEFAULT_MAX_REDIRECTION = 5;
|
78
|
-
/**
|
79
|
-
* Looks up a WebFinger resource.
|
80
|
-
* @param resource The resource URL to look up.
|
81
|
-
* @param options Extra options for looking up the resource.
|
82
|
-
* @returns The resource descriptor, or `null` if not found.
|
83
|
-
* @since 0.2.0
|
84
|
-
*/
|
85
|
-
async function lookupWebFinger(resource, options = {}) {
|
86
|
-
const tracerProvider = options.tracerProvider ?? __opentelemetry_api.trace.getTracerProvider();
|
87
|
-
const tracer = tracerProvider.getTracer(require_request.deno_default.name, require_request.deno_default.version);
|
88
|
-
return await tracer.startActiveSpan("webfinger.lookup", {
|
89
|
-
kind: __opentelemetry_api.SpanKind.CLIENT,
|
90
|
-
attributes: {
|
91
|
-
"webfinger.resource": resource.toString(),
|
92
|
-
"webfinger.resource.scheme": typeof resource === "string" ? resource.replace(/:.*$/, "") : resource.protocol.replace(/:$/, "")
|
93
|
-
}
|
94
|
-
}, async (span) => {
|
95
|
-
try {
|
96
|
-
const result = await lookupWebFingerInternal(resource, options);
|
97
|
-
span.setStatus({ code: result === null ? __opentelemetry_api.SpanStatusCode.ERROR : __opentelemetry_api.SpanStatusCode.OK });
|
98
|
-
return result;
|
99
|
-
} catch (error) {
|
100
|
-
span.setStatus({
|
101
|
-
code: __opentelemetry_api.SpanStatusCode.ERROR,
|
102
|
-
message: String(error)
|
103
|
-
});
|
104
|
-
throw error;
|
105
|
-
} finally {
|
106
|
-
span.end();
|
107
|
-
}
|
108
|
-
});
|
109
|
-
}
|
110
|
-
async function lookupWebFingerInternal(resource, options = {}) {
|
111
|
-
if (typeof resource === "string") resource = new URL(resource);
|
112
|
-
let protocol = "https:";
|
113
|
-
let server;
|
114
|
-
if (resource.protocol === "acct:") {
|
115
|
-
const atPos = resource.pathname.lastIndexOf("@");
|
116
|
-
if (atPos < 0) return null;
|
117
|
-
server = resource.pathname.substring(atPos + 1);
|
118
|
-
if (server === "") return null;
|
119
|
-
} else {
|
120
|
-
protocol = resource.protocol;
|
121
|
-
server = resource.host;
|
122
|
-
}
|
123
|
-
let url = new URL(`${protocol}//${server}/.well-known/webfinger`);
|
124
|
-
url.searchParams.set("resource", resource.href);
|
125
|
-
let redirected = 0;
|
126
|
-
while (true) {
|
127
|
-
logger.debug("Fetching WebFinger resource descriptor from {url}...", { url: url.href });
|
128
|
-
let response;
|
129
|
-
if (options.allowPrivateAddress !== true) try {
|
130
|
-
await validatePublicUrl(url.href);
|
131
|
-
} catch (e) {
|
132
|
-
if (e instanceof UrlError) {
|
133
|
-
logger.error("Invalid URL for WebFinger resource descriptor: {error}", { error: e });
|
134
|
-
return null;
|
135
|
-
}
|
136
|
-
throw e;
|
137
|
-
}
|
138
|
-
try {
|
139
|
-
response = await fetch(url, {
|
140
|
-
headers: {
|
141
|
-
Accept: "application/jrd+json",
|
142
|
-
"User-Agent": typeof options.userAgent === "string" ? options.userAgent : require_request.getUserAgent(options.userAgent)
|
143
|
-
},
|
144
|
-
redirect: "manual",
|
145
|
-
signal: options.signal
|
146
|
-
});
|
147
|
-
} catch (error) {
|
148
|
-
logger.debug("Failed to fetch WebFinger resource descriptor: {error}", {
|
149
|
-
url: url.href,
|
150
|
-
error
|
151
|
-
});
|
152
|
-
return null;
|
153
|
-
}
|
154
|
-
if (response.status >= 300 && response.status < 400 && response.headers.has("Location")) {
|
155
|
-
redirected++;
|
156
|
-
const maxRedirection = options.maxRedirection ?? DEFAULT_MAX_REDIRECTION;
|
157
|
-
if (redirected >= maxRedirection) {
|
158
|
-
logger.error("Too many redirections ({redirections}) while fetching WebFinger resource descriptor.", { redirections: redirected });
|
159
|
-
return null;
|
160
|
-
}
|
161
|
-
const redirectedUrl = new URL(response.headers.get("Location"), response.url == null || response.url === "" ? url : response.url);
|
162
|
-
if (redirectedUrl.protocol !== url.protocol) {
|
163
|
-
logger.error("Redirected to a different protocol ({protocol} to {redirectedProtocol}) while fetching WebFinger resource descriptor.", {
|
164
|
-
protocol: url.protocol,
|
165
|
-
redirectedProtocol: redirectedUrl.protocol
|
166
|
-
});
|
167
|
-
return null;
|
168
|
-
}
|
169
|
-
url = redirectedUrl;
|
170
|
-
continue;
|
171
|
-
}
|
172
|
-
if (!response.ok) {
|
173
|
-
logger.debug("Failed to fetch WebFinger resource descriptor: {status} {statusText}.", {
|
174
|
-
url: url.href,
|
175
|
-
status: response.status,
|
176
|
-
statusText: response.statusText
|
177
|
-
});
|
178
|
-
return null;
|
179
|
-
}
|
180
|
-
try {
|
181
|
-
return await response.json();
|
182
|
-
} catch (e) {
|
183
|
-
if (e instanceof SyntaxError) {
|
184
|
-
logger.debug("Failed to parse WebFinger resource descriptor as JSON: {error}", { error: e });
|
185
|
-
return null;
|
186
|
-
}
|
187
|
-
throw e;
|
188
|
-
}
|
189
|
-
}
|
190
|
-
}
|
191
|
-
|
192
|
-
//#endregion
|
193
|
-
Object.defineProperty(exports, 'UrlError', {
|
194
|
-
enumerable: true,
|
195
|
-
get: function () {
|
196
|
-
return UrlError;
|
197
|
-
}
|
198
|
-
});
|
199
|
-
Object.defineProperty(exports, 'lookupWebFinger', {
|
200
|
-
enumerable: true,
|
201
|
-
get: function () {
|
202
|
-
return lookupWebFinger;
|
203
|
-
}
|
204
|
-
});
|
205
|
-
Object.defineProperty(exports, 'validatePublicUrl', {
|
206
|
-
enumerable: true,
|
207
|
-
get: function () {
|
208
|
-
return validatePublicUrl;
|
209
|
-
}
|
210
|
-
});
|
@@ -1,16 +0,0 @@
|
|
1
|
-
|
2
|
-
import { Temporal } from "@js-temporal/polyfill";
|
3
|
-
import { URLPattern } from "urlpattern-polyfill";
|
4
|
-
|
5
|
-
import "./transformers-BFT6d7J5.js";
|
6
|
-
import "./request-DKGQaofB.js";
|
7
|
-
import "./actor-DPD6Gbdn.js";
|
8
|
-
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-D-vPitR-.js";
|
9
|
-
import "./lookup-BV3A9Zbc.js";
|
10
|
-
import "./http-DcDb8r1W.js";
|
11
|
-
import "./proof-CLwByIT1.js";
|
12
|
-
import "./types-DaPoJTSc.js";
|
13
|
-
import "./kv-cache-ydIs4Ul6.js";
|
14
|
-
import "./vocab-yFT-fQBj.js";
|
15
|
-
|
16
|
-
export { FederationImpl };
|
@@ -1,26 +0,0 @@
|
|
1
|
-
|
2
|
-
import { Temporal } from "@js-temporal/polyfill";
|
3
|
-
import { URLPattern } from "urlpattern-polyfill";
|
4
|
-
globalThis.addEventListener = () => {};
|
5
|
-
|
6
|
-
import "./lookup-BbEekiru.js";
|
7
|
-
import { ContextImpl, FederationImpl, InboxContextImpl, KvSpecDeterminer, createFederation } from "./middleware-Dm8sXYUr.js";
|
8
|
-
import "./client-D6-5okV1.js";
|
9
|
-
import "./types-C2XVl6gj.js";
|
10
|
-
import "./actor-Cg8ZhoVF.js";
|
11
|
-
import "./key-jSvnymAk.js";
|
12
|
-
import "./http-DN0v2zoF.js";
|
13
|
-
import "./ld-CcsryBo0.js";
|
14
|
-
import "./owner-n5c_oZ_M.js";
|
15
|
-
import "./proof-CsFR7fiS.js";
|
16
|
-
import "./docloader-B2BFBGqv.js";
|
17
|
-
import "./kv-cache-DNvS-egZ.js";
|
18
|
-
import "./inbox-CgGy7Hzc.js";
|
19
|
-
import "./builder-Dn87hy75.js";
|
20
|
-
import "./collection-BzWsN9pB.js";
|
21
|
-
import "./keycache-IVLjlAK9.js";
|
22
|
-
import "./negotiation-C4nFufNk.js";
|
23
|
-
import "./retry-CfF8Gn4d.js";
|
24
|
-
import "./send-eW9JIzQV.js";
|
25
|
-
|
26
|
-
export { FederationImpl };
|
@@ -1,16 +0,0 @@
|
|
1
|
-
|
2
|
-
const { Temporal } = require("@js-temporal/polyfill");
|
3
|
-
const { URLPattern } = require("urlpattern-polyfill");
|
4
|
-
|
5
|
-
require('./transformers-CoBS-oFG.cjs');
|
6
|
-
require('./request-XHWUW2bi.cjs');
|
7
|
-
require('./actor-D020hlx3.cjs');
|
8
|
-
const require_middleware = require('./middleware-ekn2KaOw.cjs');
|
9
|
-
require('./lookup-CMAGfQ1Q.cjs');
|
10
|
-
require('./http-DMsjudj8.cjs');
|
11
|
-
require('./proof-CZfrp13P.cjs');
|
12
|
-
require('./types-BT0xc4-R.cjs');
|
13
|
-
require('./kv-cache-BHIupktM.cjs');
|
14
|
-
require('./vocab-CxTuoEVd.cjs');
|
15
|
-
|
16
|
-
exports.FederationImpl = require_middleware.FederationImpl;
|
@@ -1,35 +0,0 @@
|
|
1
|
-
//#region src/utils/request.d.ts
|
2
|
-
|
3
|
-
/**
|
4
|
-
* Options for making `User-Agent` string.
|
5
|
-
* @see {@link getUserAgent}
|
6
|
-
* @since 1.3.0
|
7
|
-
*/
|
8
|
-
interface GetUserAgentOptions {
|
9
|
-
/**
|
10
|
-
* An optional software name and version, e.g., `"Hollo/1.0.0"`.
|
11
|
-
*/
|
12
|
-
software?: string | null;
|
13
|
-
/**
|
14
|
-
* An optional URL to append to the user agent string.
|
15
|
-
* Usually the URL of the ActivityPub instance.
|
16
|
-
*/
|
17
|
-
url?: string | URL | null;
|
18
|
-
}
|
19
|
-
/**
|
20
|
-
* Gets the user agent string for the given application and URL.
|
21
|
-
* @param options The options for making the user agent string.
|
22
|
-
* @returns The user agent string.
|
23
|
-
* @since 1.3.0
|
24
|
-
*/
|
25
|
-
declare function getUserAgent({
|
26
|
-
software,
|
27
|
-
url
|
28
|
-
}?: GetUserAgentOptions): string;
|
29
|
-
/**
|
30
|
-
* Logs the request.
|
31
|
-
* @param request The request to log.
|
32
|
-
* @internal
|
33
|
-
*/
|
34
|
-
//#endregion
|
35
|
-
export { GetUserAgentOptions, getUserAgent };
|
package/dist/request-DKGQaofB.js
DELETED
@@ -1,184 +0,0 @@
|
|
1
|
-
|
2
|
-
import { Temporal } from "@js-temporal/polyfill";
|
3
|
-
import { URLPattern } from "urlpattern-polyfill";
|
4
|
-
|
5
|
-
import process from "node:process";
|
6
|
-
|
7
|
-
//#region deno.json
|
8
|
-
var name = "@fedify/fedify";
|
9
|
-
var version = "2.0.0-pr.451.1730+9a5d9152";
|
10
|
-
var license = "MIT";
|
11
|
-
var exports = {
|
12
|
-
".": "./src/mod.ts",
|
13
|
-
"./compat": "./src/compat/mod.ts",
|
14
|
-
"./federation": "./src/federation/mod.ts",
|
15
|
-
"./nodeinfo": "./src/nodeinfo/mod.ts",
|
16
|
-
"./sig": "./src/sig/mod.ts",
|
17
|
-
"./testing": "./src/testing/mod.ts",
|
18
|
-
"./vocab": "./src/vocab/mod.ts",
|
19
|
-
"./utils": "./src/utils/mod.ts",
|
20
|
-
"./webfinger": "./src/webfinger/mod.ts",
|
21
|
-
"./x/cfworkers": "./src/x/cfworkers.ts",
|
22
|
-
"./x/denokv": "./src/x/denokv.ts",
|
23
|
-
"./x/fresh": "./src/x/fresh.ts",
|
24
|
-
"./x/hono": "./src/x/hono.ts",
|
25
|
-
"./x/sveltekit": "./src/x/sveltekit.ts"
|
26
|
-
};
|
27
|
-
var imports = {
|
28
|
-
"@cfworker/json-schema": "npm:@cfworker/json-schema@^4.1.1",
|
29
|
-
"@fxts/core": "npm:@fxts/core@^1.15.0",
|
30
|
-
"@multiformats/base-x": "npm:@multiformats/base-x@^4.0.1",
|
31
|
-
"@opentelemetry/api": "npm:@opentelemetry/api@^1.9.0",
|
32
|
-
"@opentelemetry/semantic-conventions": "npm:@opentelemetry/semantic-conventions@^1.27.0",
|
33
|
-
"@std/assert": "jsr:@std/assert@^0.226.0",
|
34
|
-
"@std/testing": "jsr:@std/testing@^0.224.0",
|
35
|
-
"@std/url": "jsr:@std/url@^0.225.1",
|
36
|
-
"asn1js": "npm:asn1js@^3.0.5",
|
37
|
-
"byte-encodings": "npm:byte-encodings@^1.0.11",
|
38
|
-
"es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.39.5",
|
39
|
-
"fast-check": "npm:fast-check@^3.22.0",
|
40
|
-
"fetch-mock": "npm:fetch-mock@^12.5.2",
|
41
|
-
"json-canon": "npm:json-canon@^1.0.1",
|
42
|
-
"jsonld": "npm:jsonld@^8.3.2",
|
43
|
-
"multicodec": "npm:multicodec@^3.2.1",
|
44
|
-
"pkijs": "npm:pkijs@^3.2.4",
|
45
|
-
"structured-field-values": "npm:structured-field-values@^2.0.4",
|
46
|
-
"uri-template-router": "npm:uri-template-router@^0.0.17",
|
47
|
-
"url-template": "npm:url-template@^3.1.1"
|
48
|
-
};
|
49
|
-
var include = ["src/vocab/vocab.ts"];
|
50
|
-
var exclude = [
|
51
|
-
".test-report.xml",
|
52
|
-
"apidoc/",
|
53
|
-
"dist/",
|
54
|
-
"node_modules/",
|
55
|
-
"npm/",
|
56
|
-
"pnpm-lock.yaml",
|
57
|
-
"src/cfworkers/dist/",
|
58
|
-
"src/cfworkers/fixtures/",
|
59
|
-
"src/cfworkers/imports.ts",
|
60
|
-
"src/cfworkers/README.md",
|
61
|
-
"src/cfworkers/server.ts",
|
62
|
-
"src/cfworkers/server.js",
|
63
|
-
"src/cfworkers/server.js.map",
|
64
|
-
"src/codegen/schema.yaml",
|
65
|
-
"src/vocab/*.yaml",
|
66
|
-
"!src/vocab/vocab.ts"
|
67
|
-
];
|
68
|
-
var tasks = {
|
69
|
-
"codegen": "GENPATH=vocab-$(deno eval \"console.log(crypto.randomUUID());\").ts && deno run --allow-read --allow-write --check src/codegen/main.ts src/vocab/ src/vocab/$GENPATH && deno fmt src/vocab/$GENPATH && mv src/vocab/$GENPATH src/vocab/vocab.ts && deno cache src/vocab/vocab.ts && deno check src/vocab/vocab.ts",
|
70
|
-
"cache": {
|
71
|
-
"command": "deno cache src/mod.ts",
|
72
|
-
"dependencies": ["codegen"]
|
73
|
-
},
|
74
|
-
"check": {
|
75
|
-
"command": "deno fmt --check && deno lint && deno check src/**/*.ts",
|
76
|
-
"dependencies": ["codegen"]
|
77
|
-
},
|
78
|
-
"test": {
|
79
|
-
"command": "deno test --check --doc --allow-read --allow-write --allow-env --unstable-kv --trace-leaks --parallel",
|
80
|
-
"dependencies": ["codegen"]
|
81
|
-
},
|
82
|
-
"coverage": "deno task test --clean --coverage && deno coverage --html coverage",
|
83
|
-
"bench": {
|
84
|
-
"command": "deno bench --allow-read --allow-write --allow-net --allow-env --allow-run --unstable-kv",
|
85
|
-
"dependencies": ["codegen"]
|
86
|
-
},
|
87
|
-
"apidoc": {
|
88
|
-
"command": "deno doc --html --name=Fedify --output=apidoc/ src/mod.ts",
|
89
|
-
"dependencies": ["codegen"]
|
90
|
-
},
|
91
|
-
"publish": {
|
92
|
-
"command": "deno publish",
|
93
|
-
"dependencies": ["codegen"]
|
94
|
-
},
|
95
|
-
"pnpm:install": "pnpm install --silent",
|
96
|
-
"pnpm:build": {
|
97
|
-
"command": "pnpm exec tsdown",
|
98
|
-
"dependencies": [
|
99
|
-
"codegen",
|
100
|
-
"pnpm:install",
|
101
|
-
"pnpm:build-vocab"
|
102
|
-
]
|
103
|
-
},
|
104
|
-
"pnpm:build-vocab-runtime": { "command": "cd ../vocab/runtime && pnpm build" },
|
105
|
-
"pnpm:build-vocab": { "dependencies": ["pnpm:build-vocab-runtime"] },
|
106
|
-
"test:node": {
|
107
|
-
"command": "cd dist/ && node --test",
|
108
|
-
"dependencies": ["pnpm:build"]
|
109
|
-
},
|
110
|
-
"test:bun": {
|
111
|
-
"command": "cd dist/ && bun test --timeout 60000",
|
112
|
-
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
113
|
-
},
|
114
|
-
"test:cfworkers": {
|
115
|
-
"command": "pnpm exec wrangler deploy --dry-run --outdir src/cfworkers && node --import=tsx src/cfworkers/client.ts",
|
116
|
-
"dependencies": ["pnpm:build-vocab", "pnpm:build"]
|
117
|
-
},
|
118
|
-
"test-all": { "dependencies": [
|
119
|
-
"check",
|
120
|
-
"test",
|
121
|
-
"test:node",
|
122
|
-
"test:bun",
|
123
|
-
"test:cfworkers"
|
124
|
-
] }
|
125
|
-
};
|
126
|
-
var deno_default = {
|
127
|
-
name,
|
128
|
-
version,
|
129
|
-
license,
|
130
|
-
exports,
|
131
|
-
imports,
|
132
|
-
include,
|
133
|
-
exclude,
|
134
|
-
tasks
|
135
|
-
};
|
136
|
-
|
137
|
-
//#endregion
|
138
|
-
//#region src/utils/request.ts
|
139
|
-
/**
|
140
|
-
* Creates a request for the given URL.
|
141
|
-
* @param url The URL to create the request for.
|
142
|
-
* @param options The options for the request.
|
143
|
-
* @returns The created request.
|
144
|
-
* @internal
|
145
|
-
*/
|
146
|
-
function createActivityPubRequest(url, options = {}) {
|
147
|
-
return new Request(url, {
|
148
|
-
headers: {
|
149
|
-
Accept: "application/activity+json, application/ld+json",
|
150
|
-
"User-Agent": typeof options.userAgent === "string" ? options.userAgent : getUserAgent(options.userAgent)
|
151
|
-
},
|
152
|
-
redirect: "manual"
|
153
|
-
});
|
154
|
-
}
|
155
|
-
/**
|
156
|
-
* Gets the user agent string for the given application and URL.
|
157
|
-
* @param options The options for making the user agent string.
|
158
|
-
* @returns The user agent string.
|
159
|
-
* @since 1.3.0
|
160
|
-
*/
|
161
|
-
function getUserAgent({ software, url } = {}) {
|
162
|
-
const fedify = `Fedify/${deno_default.version}`;
|
163
|
-
const runtime = globalThis.Deno?.version?.deno != null ? `Deno/${Deno.version.deno}` : globalThis.process?.versions?.bun != null ? `Bun/${process.versions.bun}` : "navigator" in globalThis && navigator.userAgent === "Cloudflare-Workers" ? navigator.userAgent : globalThis.process?.versions?.node != null ? `Node.js/${process.versions.node}` : null;
|
164
|
-
const userAgent = software == null ? [fedify] : [software, fedify];
|
165
|
-
if (runtime != null) userAgent.push(runtime);
|
166
|
-
if (url != null) userAgent.push(`+${url.toString()}`);
|
167
|
-
const first = userAgent.shift();
|
168
|
-
return `${first} (${userAgent.join("; ")})`;
|
169
|
-
}
|
170
|
-
/**
|
171
|
-
* Logs the request.
|
172
|
-
* @param request The request to log.
|
173
|
-
* @internal
|
174
|
-
*/
|
175
|
-
function logRequest(logger, request) {
|
176
|
-
logger.debug("Fetching document: {method} {url} {headers}", {
|
177
|
-
method: request.method,
|
178
|
-
url: request.url,
|
179
|
-
headers: Object.fromEntries(request.headers.entries())
|
180
|
-
});
|
181
|
-
}
|
182
|
-
|
183
|
-
//#endregion
|
184
|
-
export { createActivityPubRequest, deno_default, getUserAgent, logRequest };
|
@@ -1,39 +0,0 @@
|
|
1
|
-
import { Temporal } from "@js-temporal/polyfill";
|
2
|
-
import { URLPattern } from "urlpattern-polyfill";
|
3
|
-
import "@logtape/logtape";
|
4
|
-
|
5
|
-
//#region src/utils/request.d.ts
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Options for making `User-Agent` string.
|
9
|
-
* @see {@link getUserAgent}
|
10
|
-
* @since 1.3.0
|
11
|
-
*/
|
12
|
-
interface GetUserAgentOptions {
|
13
|
-
/**
|
14
|
-
* An optional software name and version, e.g., `"Hollo/1.0.0"`.
|
15
|
-
*/
|
16
|
-
software?: string | null;
|
17
|
-
/**
|
18
|
-
* An optional URL to append to the user agent string.
|
19
|
-
* Usually the URL of the ActivityPub instance.
|
20
|
-
*/
|
21
|
-
url?: string | URL | null;
|
22
|
-
}
|
23
|
-
/**
|
24
|
-
* Gets the user agent string for the given application and URL.
|
25
|
-
* @param options The options for making the user agent string.
|
26
|
-
* @returns The user agent string.
|
27
|
-
* @since 1.3.0
|
28
|
-
*/
|
29
|
-
declare function getUserAgent({
|
30
|
-
software,
|
31
|
-
url
|
32
|
-
}?: GetUserAgentOptions): string;
|
33
|
-
/**
|
34
|
-
* Logs the request.
|
35
|
-
* @param request The request to log.
|
36
|
-
* @internal
|
37
|
-
*/
|
38
|
-
//#endregion
|
39
|
-
export { GetUserAgentOptions, getUserAgent };
|