@pkcprotocol/pkc-js 0.0.79 → 0.0.81

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/community/community-client-manager.d.ts +2 -0
  3. package/dist/browser/community/community-client-manager.js +164 -9
  4. package/dist/browser/community/community-client-manager.js.map +1 -1
  5. package/dist/browser/community/remote-community.d.ts +2 -1
  6. package/dist/browser/community/remote-community.js +30 -7
  7. package/dist/browser/community/remote-community.js.map +1 -1
  8. package/dist/browser/community/rpc-local-community.js.map +1 -1
  9. package/dist/browser/community/schema.d.ts +31 -4
  10. package/dist/browser/community/schema.js +16 -10
  11. package/dist/browser/community/schema.js.map +1 -1
  12. package/dist/browser/errors.d.ts +3 -0
  13. package/dist/browser/errors.js +3 -0
  14. package/dist/browser/errors.js.map +1 -1
  15. package/dist/browser/generated-version.d.ts +1 -1
  16. package/dist/browser/generated-version.js +1 -1
  17. package/dist/browser/pkc/pkc.d.ts +1 -2
  18. package/dist/browser/pkc/pkc.js +17 -24
  19. package/dist/browser/pkc/pkc.js.map +1 -1
  20. package/dist/browser/pkc-error.d.ts +1 -1
  21. package/dist/browser/rpc/src/index.js +1 -1
  22. package/dist/browser/rpc/src/index.js.map +1 -1
  23. package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  24. package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
  25. package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  26. package/dist/browser/runtime/node/community/local-community/publication-validation.js +7 -1
  27. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  28. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  29. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  30. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  31. package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  32. package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  33. package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
  34. package/dist/browser/schema/schema-util.d.ts +15 -0
  35. package/dist/browser/signer/signatures.d.ts +1 -0
  36. package/dist/browser/signer/signatures.js +25 -2
  37. package/dist/browser/signer/signatures.js.map +1 -1
  38. package/dist/browser/test/test-util.d.ts +7 -0
  39. package/dist/browser/test/test-util.js +6 -0
  40. package/dist/browser/test/test-util.js.map +1 -1
  41. package/dist/browser/util.d.ts +3 -4
  42. package/dist/browser/util.js +7 -3
  43. package/dist/browser/util.js.map +1 -1
  44. package/dist/bundled/bundle-manifest.json +76 -93
  45. package/dist/bundled/chunks/{helia-for-pkc-7wubsFuU.js → helia-for-pkc-BcNF-orO.js} +33 -33
  46. package/dist/bundled/chunks/{local-community-Cs0aQLE3.js → local-community-B6-jaMsn.js} +1 -1
  47. package/dist/bundled/chunks/{local-community-BhRsFFg0.js → local-community-CyX1HwD0.js} +36 -29
  48. package/dist/bundled/chunks/{node-BKnzoR3G.js → node-BCXmIYLQ.js} +265 -2310
  49. package/dist/bundled/chunks/{rpc-local-community-DlgrBPH8.js → rpc-local-community-BOiy8BX1.js} +133 -567
  50. package/dist/bundled/chunks/{schema-C_dFmYMp.js → schema-DZyEx0YQ.js} +9 -5
  51. package/dist/bundled/chunks/{util-CsiYk_QO.js → util-BTPlI1yF.js} +1 -1
  52. package/dist/bundled/index.js +1 -1
  53. package/dist/bundled/rpc/src/index.js +4 -4
  54. package/dist/node/community/community-client-manager.d.ts +2 -0
  55. package/dist/node/community/community-client-manager.js +164 -9
  56. package/dist/node/community/community-client-manager.js.map +1 -1
  57. package/dist/node/community/remote-community.d.ts +2 -1
  58. package/dist/node/community/remote-community.js +30 -7
  59. package/dist/node/community/remote-community.js.map +1 -1
  60. package/dist/node/community/rpc-local-community.js.map +1 -1
  61. package/dist/node/community/schema.d.ts +31 -4
  62. package/dist/node/community/schema.js +16 -10
  63. package/dist/node/community/schema.js.map +1 -1
  64. package/dist/node/errors.d.ts +3 -0
  65. package/dist/node/errors.js +3 -0
  66. package/dist/node/errors.js.map +1 -1
  67. package/dist/node/generated-version.d.ts +1 -1
  68. package/dist/node/generated-version.js +1 -1
  69. package/dist/node/pkc/pkc.d.ts +1 -2
  70. package/dist/node/pkc/pkc.js +17 -24
  71. package/dist/node/pkc/pkc.js.map +1 -1
  72. package/dist/node/pkc-error.d.ts +1 -1
  73. package/dist/node/rpc/src/index.js +1 -1
  74. package/dist/node/rpc/src/index.js.map +1 -1
  75. package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  76. package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
  77. package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  78. package/dist/node/runtime/node/community/local-community/publication-validation.js +7 -1
  79. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  80. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  81. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  82. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  83. package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  84. package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  85. package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
  86. package/dist/node/schema/schema-util.d.ts +15 -0
  87. package/dist/node/signer/signatures.d.ts +1 -0
  88. package/dist/node/signer/signatures.js +25 -2
  89. package/dist/node/signer/signatures.js.map +1 -1
  90. package/dist/node/test/test-util.d.ts +7 -0
  91. package/dist/node/test/test-util.js +6 -0
  92. package/dist/node/test/test-util.js.map +1 -1
  93. package/dist/node/util.d.ts +3 -4
  94. package/dist/node/util.js +7 -3
  95. package/dist/node/util.js.map +1 -1
  96. package/package.json +2 -2
  97. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  98. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  99. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  100. package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -33
  101. package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
  102. package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
  103. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  104. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  105. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  106. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  107. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  108. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  109. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  110. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  111. package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -33
  112. package/dist/node/runtime/node/address-rewriter-db.js +0 -156
  113. package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
  114. package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  115. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  116. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  117. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  118. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  119. package/dist/bundled/chunks/{src-BEjAH2gY.js → src-WLgFbUwZ.js} +1 -1
@@ -1,534 +0,0 @@
1
- import http from "node:http";
2
- import https from "node:https";
3
- import Logger from "../../logger.js";
4
- import { flat, unique } from "remeda";
5
- import retry from "retry";
6
- import { hideClassPrivateProps } from "../../util.js";
7
- import { AddressRewriterDatabase } from "./address-rewriter-db.js";
8
- const debug = Logger("pkc-js:addresses-rewriter");
9
- const MAX_BODY_PREVIEW_BYTES = 4096;
10
- // `ipfs id` returns self-addresses with a trailing `/p2p/<peerId>` while `swarm addrs`
11
- // returns the same transports without it, so unioning them yields each address twice plus
12
- // non-standard `/p2p`-suffixed entries. The `/routing/v1` provider schema carries the peer id
13
- // in the separate `ID` field and expects transport-only `Addrs`, so strip the trailing
14
- // `/p2p/<peerId>` and dedupe before announcing.
15
- export function normalizeSelfAddrsForProvider(addrs, peerId) {
16
- const suffix = `/p2p/${peerId}`;
17
- return unique(addrs.map((addr) => (addr.endsWith(suffix) ? addr.slice(0, -suffix.length) : addr)));
18
- }
19
- export class AddressesRewriterProxyServer {
20
- constructor({ kuboClients: kuboClient, port, hostname, proxyTargetUrl, pkc }) {
21
- this._requestLogBuffer = [];
22
- this._isWritingLogs = false;
23
- // Failed keys retry logic
24
- this._failedKeys = new Set();
25
- this._isRetrying = false;
26
- this.addresses = {};
27
- this.kuboClients = kuboClient;
28
- this.port = port;
29
- this.hostname = hostname || "127.0.0.1";
30
- this.proxyTarget = new URL(proxyTargetUrl);
31
- this.server = http.createServer((req, res) => this._proxyRequestRewrite(req, res));
32
- this._storageKeyName = `httprouter_proxy_${proxyTargetUrl}`;
33
- this._pkc = pkc;
34
- // Environment-based logging toggle
35
- const envValue = process.env.ENABLE_LOGGING_OF_ADDRESS_REWRITER_PROXY;
36
- this._loggingEnabled = envValue === "1" || envValue?.toLowerCase() === "true";
37
- // Initialize database only when logging is enabled
38
- if (this._loggingEnabled) {
39
- const kuboConfig = this.kuboClients?.[0]?.getEndpointConfig();
40
- this._db = new AddressRewriterDatabase(this._pkc.dataPath, kuboConfig, this.proxyTarget);
41
- }
42
- else {
43
- this._db = null;
44
- }
45
- // Create HTTP agents with connection pooling and keep-alive
46
- this._httpAgent = new http.Agent({
47
- keepAlive: true,
48
- keepAliveMsecs: 30000,
49
- maxSockets: 50,
50
- timeout: 10000
51
- });
52
- this._httpsAgent = new https.Agent({
53
- keepAlive: true,
54
- keepAliveMsecs: 30000,
55
- maxSockets: 50,
56
- timeout: 10000
57
- });
58
- hideClassPrivateProps(this);
59
- }
60
- async listen(callback) {
61
- if (this._loggingEnabled && this._db) {
62
- await this._db.initialize();
63
- debug("Request logging enabled for addresses rewriter proxy");
64
- }
65
- else {
66
- debug("Request logging disabled for addresses rewriter proxy");
67
- }
68
- await this._startUpdateAddressesLoop();
69
- if (this._loggingEnabled) {
70
- this._startRequestLogging();
71
- }
72
- await this._startFailedKeysRetry();
73
- this.server.on("error", (err) => debug.error("Error with address rewriter proxy", this.server.address(), "Proxy target", this.proxyTarget, err));
74
- this.server.listen(this.port, this.hostname, callback);
75
- debug("Addresses rewriter proxy at", this.hostname + ":" + this.port, "started listening to forward requests to", this.proxyTarget.host, `- request logging ${this._loggingEnabled ? "enabled" : "disabled"}`);
76
- await this._pkc._storage.setItem(this._storageKeyName, `http://${this.hostname}:${this.port}`);
77
- }
78
- async destroy() {
79
- this.server.close();
80
- if (this._updateAddressesInterval) {
81
- clearInterval(this._updateAddressesInterval);
82
- }
83
- if (this._logWriteInterval) {
84
- clearInterval(this._logWriteInterval);
85
- }
86
- if (this._retryInterval) {
87
- clearInterval(this._retryInterval);
88
- }
89
- // Write any remaining logs before destroying
90
- await this._writeRequestLogs();
91
- // Close database connection
92
- this._db?.close();
93
- // Destroy HTTP agents to clean up connections
94
- this._httpAgent.destroy();
95
- this._httpsAgent.destroy();
96
- await this._pkc._storage.removeItem(this._storageKeyName);
97
- }
98
- _proxyRequestRewrite(req, res) {
99
- // get post body
100
- let reqBody = "";
101
- req.on("data", (chunk) => {
102
- reqBody += chunk.toString();
103
- });
104
- // wait for full post body
105
- req.on("end", () => {
106
- // Only track and rewrite PUT/POST requests (provider registration)
107
- const shouldRewrite = req.method === "PUT" || req.method === "POST";
108
- // Create request log entry for PUT/POST requests
109
- let requestLogEntry = null;
110
- if (shouldRewrite) {
111
- const keys = this._extractKeysFromRequestBody(reqBody);
112
- const shouldLogRequest = this._loggingEnabled;
113
- if (keys.length > 0 || shouldLogRequest) {
114
- requestLogEntry = {
115
- keys,
116
- receivedAt: Date.now(),
117
- success: false,
118
- method: req.method || "UNKNOWN",
119
- url: req.url || "/",
120
- retryCount: 0,
121
- bodyPreview: shouldLogRequest ? this._createBodyPreview(reqBody) : undefined
122
- };
123
- if (shouldLogRequest) {
124
- this._requestLogBuffer.push(requestLogEntry);
125
- }
126
- }
127
- }
128
- // rewrite body with up to date addresses (only for PUT/POST)
129
- let rewrittenBody = reqBody;
130
- if (shouldRewrite && rewrittenBody) {
131
- try {
132
- const json = JSON.parse(rewrittenBody);
133
- if (json.Providers && Array.isArray(json.Providers)) {
134
- for (const provider of json.Providers) {
135
- const peerId = provider?.Payload?.ID;
136
- if (peerId && this.addresses[peerId]) {
137
- provider.Payload.Addrs = this.addresses[peerId];
138
- }
139
- }
140
- rewrittenBody = JSON.stringify(json);
141
- }
142
- }
143
- catch (e) {
144
- const error = e;
145
- debug("proxy body rewrite error:", error, "body", rewrittenBody, req.url, req.method);
146
- }
147
- }
148
- // proxy the request
149
- this._proxyRequest(req, res, rewrittenBody, requestLogEntry);
150
- });
151
- // Handle request errors
152
- req.on("error", (err) => {
153
- debug.trace("Request error:", req.url, req.method, req.headers, reqBody, err);
154
- if (!res.headersSent) {
155
- debug.trace("Request error:", req.url, req.method, req.headers, reqBody, err);
156
- res.writeHead(500);
157
- res.end("Internal Server Error");
158
- }
159
- });
160
- }
161
- _proxyRequest(req, res, rewrittenBody, requestLogEntry) {
162
- if (requestLogEntry) {
163
- requestLogEntry.retryCount = 0;
164
- requestLogEntry.transmittedAt = Date.now();
165
- }
166
- const { request: httpRequest } = this.proxyTarget.protocol === "https:" ? https : http;
167
- const agent = this.proxyTarget.protocol === "https:" ? this._httpsAgent : this._httpAgent;
168
- const requestOptions = {
169
- hostname: this.proxyTarget.hostname,
170
- protocol: this.proxyTarget.protocol,
171
- path: req.url,
172
- method: req.method,
173
- headers: {
174
- ...req.headers,
175
- // Node lowercases all incoming header names, so req.headers always carries
176
- // `content-length` regardless of the casing kubo used on the wire. Overriding the
177
- // lowercase key alone covers every case; a second uppercase key would only emit a
178
- // duplicate Content-Length header that some routers reject.
179
- "content-length": Buffer.byteLength(rewrittenBody),
180
- host: this.proxyTarget.host
181
- },
182
- agent,
183
- timeout: 10000
184
- };
185
- if (this.proxyTarget.port) {
186
- requestOptions.port = this.proxyTarget.port;
187
- }
188
- const proxyReq = httpRequest(requestOptions);
189
- // Handle timeout
190
- proxyReq.setTimeout(10000, () => {
191
- debug.trace("Proxy request timed out", requestOptions);
192
- if (requestLogEntry) {
193
- requestLogEntry.success = false;
194
- requestLogEntry.statusCode = 504;
195
- requestLogEntry.error = "Request timeout";
196
- requestLogEntry.completed = true;
197
- // Add failed keys to retry set
198
- if (requestLogEntry.keys) {
199
- const sizeBefore = this._failedKeys.size;
200
- requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
201
- const sizeAfter = this._failedKeys.size;
202
- if (sizeAfter > sizeBefore) {
203
- // Save to database when new keys are added
204
- this._saveFailedKeysToDatabase();
205
- }
206
- }
207
- }
208
- proxyReq.destroy();
209
- if (!res.headersSent) {
210
- res.writeHead(504);
211
- res.end("Gateway Timeout");
212
- }
213
- });
214
- // Handle proxy request errors
215
- proxyReq.on("error", (e) => {
216
- proxyReq.destroy();
217
- if (requestLogEntry) {
218
- requestLogEntry.success = false;
219
- requestLogEntry.statusCode = 500;
220
- requestLogEntry.error = `Proxy error: ${e.message}`;
221
- requestLogEntry.completed = true;
222
- debug.trace(`Updated log entry with error for keys: ${requestLogEntry.keys.join(", ")}`);
223
- // Add failed keys to retry set
224
- if (requestLogEntry.keys) {
225
- const sizeBefore = this._failedKeys.size;
226
- requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
227
- const sizeAfter = this._failedKeys.size;
228
- if (sizeAfter > sizeBefore) {
229
- // Save to database when new keys are added
230
- this._saveFailedKeysToDatabase();
231
- }
232
- }
233
- }
234
- if (!res.headersSent) {
235
- debug.trace("address rewriter proxy error:", e, "Request options", requestOptions);
236
- res.writeHead(500);
237
- res.end("Internal Server Error");
238
- }
239
- });
240
- // Handle the proxy response
241
- proxyReq.on("response", (proxyRes) => {
242
- const statusCode = proxyRes.statusCode || 500;
243
- const isSuccess = statusCode >= 200 && statusCode < 300;
244
- if (requestLogEntry) {
245
- requestLogEntry.success = isSuccess;
246
- requestLogEntry.statusCode = statusCode;
247
- requestLogEntry.completed = true;
248
- if (!isSuccess) {
249
- requestLogEntry.error = `HTTP ${statusCode}`;
250
- // Add failed keys to retry set
251
- if (requestLogEntry.keys) {
252
- const sizeBefore = this._failedKeys.size;
253
- requestLogEntry.keys.forEach((key) => this._failedKeys.add(key));
254
- const sizeAfter = this._failedKeys.size;
255
- if (sizeAfter > sizeBefore) {
256
- // Save to database when new keys are added
257
- this._saveFailedKeysToDatabase();
258
- }
259
- }
260
- }
261
- }
262
- // Handle proxy response errors
263
- proxyRes.on("error", (err) => {
264
- debug.trace("Proxy response error:", err);
265
- if (!res.headersSent) {
266
- res.writeHead(500);
267
- res.end("Proxy Response Error");
268
- }
269
- if (requestLogEntry) {
270
- requestLogEntry.success = false;
271
- requestLogEntry.statusCode = 500;
272
- requestLogEntry.error = `Proxy response error: ${err.message}`;
273
- requestLogEntry.completed = true;
274
- }
275
- proxyRes.destroy(err);
276
- });
277
- // Forward successful response
278
- if (!res.headersSent) {
279
- res.writeHead(statusCode, proxyRes.headers);
280
- proxyRes.pipe(res);
281
- }
282
- res.on("finish", () => {
283
- proxyRes.resume();
284
- });
285
- });
286
- proxyReq.write(rewrittenBody);
287
- proxyReq.end();
288
- }
289
- // get up to date listen addresses from kubo every x minutes
290
- async _startUpdateAddressesLoop() {
291
- if (!this.kuboClients?.length)
292
- throw Error("should have a defined kubo rpc client option to start the address rewriter");
293
- const isRetriableError = (error) => {
294
- if (typeof error !== "object" || error === null)
295
- return false;
296
- const err = error;
297
- return err.response?.status === 500 || err.status === 500 || err.statusCode === 500;
298
- };
299
- const tryUpdateAddressesForClient = async (kuboClient) => {
300
- return new Promise((resolve) => {
301
- const operation = retry.operation({
302
- retries: 3,
303
- factor: 2,
304
- minTimeout: 1000,
305
- maxTimeout: 8000
306
- });
307
- operation.attempt(async (currentAttempt) => {
308
- try {
309
- const idRes = await kuboClient.id();
310
- const swarmAddrsRes = await kuboClient.swarm.addrs();
311
- const peerId = idRes.id.toString();
312
- if (typeof peerId !== "string")
313
- throw Error("Failed to get Peer ID of kubo node");
314
- const swarmListeningAddresses = swarmAddrsRes.filter((swarmAddr) => swarmAddr.id.toString() === peerId);
315
- const addresses = normalizeSelfAddrsForProvider([
316
- ...idRes.addresses.map((addr) => addr.toString()),
317
- ...flat(swarmListeningAddresses.map((swarmAddr) => swarmAddr.addrs.map((addr) => addr.toString())))
318
- ], peerId);
319
- if (addresses.length === 0) {
320
- throw Error(`Failed to get any addresses for peer ${peerId}`);
321
- }
322
- this.addresses[peerId] = addresses;
323
- resolve();
324
- }
325
- catch (e) {
326
- const error = e;
327
- if (isRetriableError(error)) {
328
- debug(`tryUpdateAddresses attempt ${currentAttempt}/4 failed with 500 error:`, error.message, {
329
- kuboConfig: kuboClient.getEndpointConfig()
330
- });
331
- if (operation.retry(error))
332
- return;
333
- }
334
- debug("tryUpdateAddresses error:", error.message, { kuboConfig: kuboClient.getEndpointConfig() });
335
- resolve(); // Don't reject, just log and continue with other clients
336
- }
337
- });
338
- });
339
- };
340
- const tryUpdateAddresses = async () => {
341
- const promises = this.kuboClients.map(tryUpdateAddressesForClient);
342
- await Promise.allSettled(promises);
343
- };
344
- await tryUpdateAddresses();
345
- this._updateAddressesInterval = setInterval(tryUpdateAddresses, 1000 * 60);
346
- }
347
- _extractKeysFromRequestBody(body) {
348
- try {
349
- const json = JSON.parse(body);
350
- const keys = [];
351
- if (json.Providers && Array.isArray(json.Providers)) {
352
- for (const provider of json.Providers) {
353
- if (provider?.Payload?.Keys) {
354
- keys.push(...provider.Payload.Keys);
355
- }
356
- }
357
- }
358
- return keys;
359
- }
360
- catch {
361
- return [];
362
- }
363
- }
364
- _createBodyPreview(body) {
365
- const buffer = Buffer.from(body, "utf8");
366
- if (buffer.length <= MAX_BODY_PREVIEW_BYTES)
367
- return body;
368
- const truncated = buffer.subarray(0, MAX_BODY_PREVIEW_BYTES).toString("utf8");
369
- const truncatedBytes = buffer.length - MAX_BODY_PREVIEW_BYTES;
370
- return `${truncated}...[truncated ${truncatedBytes} bytes]`;
371
- }
372
- async _writeRequestLogs() {
373
- if (!this._loggingEnabled || !this._db) {
374
- return;
375
- }
376
- if (this._requestLogBuffer.length === 0 || this._isWritingLogs) {
377
- return;
378
- }
379
- this._isWritingLogs = true;
380
- // Only persist entries whose terminal callback has run; entries still in flight keep their
381
- // initial `success: false` placeholder and would be persisted (and never corrected) if
382
- // flushed now, so leave them buffered for a later tick. The 10s request timeout guarantees
383
- // every entry eventually completes, so nothing is buffered forever. See issue #157.
384
- const logsToWrite = this._requestLogBuffer.filter((entry) => entry.completed);
385
- if (logsToWrite.length === 0) {
386
- this._isWritingLogs = false;
387
- return;
388
- }
389
- const inFlightLogs = this._requestLogBuffer.filter((entry) => !entry.completed);
390
- this._requestLogBuffer = inFlightLogs; // Keep in-flight entries; clear flushed ones to prevent duplicates
391
- try {
392
- this._db.insertRequestLogs(logsToWrite);
393
- debug.trace(`Wrote ${logsToWrite.length} new request log entries to SQLite database`);
394
- }
395
- catch (error) {
396
- debug.error(`Failed to write request logs to SQLite database:`, error);
397
- // Put logs back in buffer on failure
398
- this._requestLogBuffer.unshift(...logsToWrite);
399
- }
400
- finally {
401
- this._isWritingLogs = false;
402
- }
403
- }
404
- _startRequestLogging() {
405
- if (!this._loggingEnabled || !this._db) {
406
- return;
407
- }
408
- const writeInterval = 5 * 1000; // 5 seconds
409
- this._logWriteInterval = setInterval(async () => {
410
- await this._writeRequestLogs();
411
- }, writeInterval);
412
- }
413
- async _startFailedKeysRetry() {
414
- // Load failed keys from database on startup
415
- this._loadFailedKeysFromDatabase();
416
- // Start 2-minute interval for retrying failed keys
417
- const retryInterval = 2 * 60 * 1000; // 2 minutes
418
- this._retryInterval = setInterval(async () => {
419
- // Skip if a previous run is still going; the per-key provide loop can exceed the
420
- // interval, and overlapping runs would race on _failedKeys and double-provide.
421
- if (this._isRetrying) {
422
- debug.trace("Previous failed-keys retry still running, skipping this tick");
423
- return;
424
- }
425
- this._isRetrying = true;
426
- try {
427
- await this._retryFailedKeys();
428
- }
429
- finally {
430
- this._isRetrying = false;
431
- }
432
- }, retryInterval);
433
- debug(`Started failed keys retry with ${this._failedKeys.size} keys from previous sessions`);
434
- }
435
- _loadFailedKeysFromDatabase() {
436
- if (!this._loggingEnabled || !this._db) {
437
- return;
438
- }
439
- try {
440
- const keys = this._db.loadFailedKeys();
441
- keys.forEach((key) => this._failedKeys.add(key));
442
- debug(`Loaded ${keys.length} failed keys from database`);
443
- }
444
- catch (error) {
445
- debug.error("Failed to load failed keys from database:", error);
446
- throw error;
447
- }
448
- }
449
- _saveFailedKeysToDatabase() {
450
- if (!this._loggingEnabled || !this._db) {
451
- return;
452
- }
453
- try {
454
- const keys = Array.from(this._failedKeys);
455
- this._db.saveFailedKeys(keys);
456
- if (keys.length === 0) {
457
- debug.trace(`All keys successfully provided - no failed keys to save`);
458
- }
459
- else {
460
- debug.trace(`Saved ${keys.length} failed keys to database`);
461
- }
462
- }
463
- catch (error) {
464
- debug.error("Failed to save failed keys to database:", error);
465
- throw error;
466
- }
467
- }
468
- async _retryFailedKeys() {
469
- if (this._failedKeys.size === 0) {
470
- debug.trace(`No failed keys to retry - all keys successfully provided`);
471
- return;
472
- }
473
- debug(`Retrying ${this._failedKeys.size} failed keys`);
474
- const keysToRetry = Array.from(this._failedKeys);
475
- const kuboClient = this.kuboClients?.[0];
476
- if (!kuboClient) {
477
- debug.error("No kubo client available for retry");
478
- return;
479
- }
480
- const successfulKeys = [];
481
- const stillFailedKeys = [];
482
- const keysToDiscard = [];
483
- // Process each key individually to get better granular control
484
- for (const key of keysToRetry) {
485
- try {
486
- debug.trace(`Providing key to HTTP routers: ${key}`);
487
- const events = [];
488
- for await (const event of kuboClient.routing.provide(key, { recursive: true, verbose: true })) {
489
- events.push(event);
490
- debug(`Routing provide event for ${key}:`, event);
491
- }
492
- successfulKeys.push(key);
493
- debug.trace(`Successfully provided key: ${key}`);
494
- // Log successful reprovide attempt
495
- this._logReprovideAttempt(key, true, undefined, false);
496
- }
497
- catch (error) {
498
- const errorMessage = error instanceof Error ? error.message : String(error);
499
- const isBlockNotLocal = errorMessage.includes("block") && errorMessage.includes("not found locally");
500
- // Log failed reprovide attempt
501
- this._logReprovideAttempt(key, false, errorMessage, isBlockNotLocal);
502
- // If block not found locally, discard this key - no point in retrying
503
- if (isBlockNotLocal) {
504
- keysToDiscard.push(key);
505
- debug.trace(`Discarding key ${key} - block not found locally, will not retry`);
506
- }
507
- else {
508
- stillFailedKeys.push(key);
509
- debug.trace(`Failed to provide key ${key}:`, error);
510
- }
511
- }
512
- }
513
- // Remove successful keys and keys to discard from failed set
514
- successfulKeys.forEach((key) => this._failedKeys.delete(key));
515
- keysToDiscard.forEach((key) => this._failedKeys.delete(key));
516
- // Save updated failed keys to database
517
- this._saveFailedKeysToDatabase();
518
- debug.trace(`Retry completed: ${successfulKeys.length} successful, ${stillFailedKeys.length} still failed, ${keysToDiscard.length} discarded`);
519
- }
520
- _logReprovideAttempt(key, success, error, blockNotLocal) {
521
- if (!this._loggingEnabled || !this._db) {
522
- return;
523
- }
524
- try {
525
- this._db.insertReprovideLog(key, success, error, blockNotLocal);
526
- debug.trace(`Logged reprovide attempt for key ${key}: success=${success}, blockNotLocal=${blockNotLocal}`);
527
- }
528
- catch (error) {
529
- debug.error(`Failed to log reprovide attempt for key ${key}:`, error);
530
- throw error;
531
- }
532
- }
533
- }
534
- //# sourceMappingURL=addresses-rewriter-proxy-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addresses-rewriter-proxy-server.js","sourceRoot":"","sources":["../../../../src/runtime/browser/addresses-rewriter-proxy-server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { PKC } from "../../pkc/pkc.js";
2
- export declare function setupKuboAddressesRewriterAndHttpRouters(pkc: PKC): Promise<{
3
- destroy: () => Promise<void>;
4
- }>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-kubo-address-rewriter-and-http-router.js","sourceRoot":"","sources":["../../../../src/runtime/browser/setup-kubo-address-rewriter-and-http-router.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function setupKuboAddressesRewriterAndHttpRouters(): void;
@@ -1,4 +0,0 @@
1
- export function setupKuboAddressesRewriterAndHttpRouters() {
2
- throw Error("Should not be called in browser");
3
- }
4
- //# sourceMappingURL=setup-kubo-address-rewriter-and-http-router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-kubo-address-rewriter-and-http-router.js","sourceRoot":"","sources":["../../../../src/runtime/browser/setup-kubo-address-rewriter-and-http-router.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,wCAAwC;IACpD,MAAM,KAAK,CAAC,iCAAiC,CAAC,CAAC;AACnD,CAAC"}
@@ -1,33 +0,0 @@
1
- import type { EndpointConfig } from "kubo-rpc-client";
2
- export type RequestLogEntry = {
3
- keys: string[];
4
- receivedAt: number;
5
- transmittedAt?: number;
6
- success: boolean;
7
- statusCode?: number;
8
- method: string;
9
- url: string;
10
- error?: string;
11
- retryCount?: number;
12
- bodyPreview?: string;
13
- completed?: boolean;
14
- };
15
- export type ReprovideLogEntry = {
16
- key: string;
17
- timestamp: number;
18
- success: boolean;
19
- error?: string;
20
- blockNotLocal?: boolean;
21
- };
22
- export declare class AddressRewriterDatabase {
23
- private _db;
24
- private _dbPath;
25
- constructor(dataPath: string, kuboConfig: EndpointConfig | undefined, proxyTarget: URL);
26
- private _initializeDbPath;
27
- initialize(): Promise<void>;
28
- close(): void;
29
- insertRequestLogs(logs: RequestLogEntry[]): void;
30
- insertReprovideLog(key: string, success: boolean, error?: string, blockNotLocal?: boolean): void;
31
- loadFailedKeys(): string[];
32
- saveFailedKeys(keys: string[]): void;
33
- }