@pkcprotocol/pkc-js 0.0.44 → 0.0.46
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/README.md +41 -0
- package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +2 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js +5 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +96 -0
- package/dist/browser/clients/rpc-client/rpc-schema-util.js +4 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/browser/clients/rpc-client/schema.d.ts +89 -2
- package/dist/browser/clients/rpc-client/schema.js +10 -1
- package/dist/browser/clients/rpc-client/schema.js.map +1 -1
- package/dist/browser/clients/rpc-client/types.d.ts +3 -1
- package/dist/browser/community/remote-community.d.ts +5 -1
- package/dist/browser/community/remote-community.js +6 -0
- package/dist/browser/community/remote-community.js.map +1 -1
- package/dist/browser/community/rpc-local-community.d.ts +5 -1
- package/dist/browser/community/rpc-local-community.js +3 -0
- package/dist/browser/community/rpc-local-community.js.map +1 -1
- package/dist/browser/community/schema.d.ts +28 -18
- package/dist/browser/community/schema.js +8 -0
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/community/types.d.ts +2 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/index-with-compile-cache.d.ts +254 -0
- package/dist/browser/index-with-compile-cache.js +25 -0
- package/dist/browser/index-with-compile-cache.js.map +1 -0
- package/dist/browser/pages/schema.d.ts +5 -5
- package/dist/browser/pkc/pkc.d.ts +3 -4
- package/dist/browser/pkc/pkc.js +16 -19
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/publications/comment/schema.d.ts +2 -2
- package/dist/browser/publications/comment/schema.js +7 -1
- package/dist/browser/publications/comment/schema.js.map +1 -1
- package/dist/browser/rpc/src/index.d.ts +2 -1
- package/dist/browser/rpc/src/index.js +30 -2
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/runtime/browser/compile-cache.d.ts +1 -0
- package/dist/browser/runtime/browser/compile-cache.js +7 -0
- package/dist/browser/runtime/browser/compile-cache.js.map +1 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/browser/runtime/node/community/db-handler.d.ts +4 -2
- package/dist/browser/runtime/node/community/db-handler.js +30 -1
- package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
- package/dist/browser/runtime/node/community/db-row-parser.d.ts +2 -0
- package/dist/browser/runtime/node/community/db-row-parser.js +6 -0
- package/dist/browser/runtime/node/community/db-row-parser.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community.d.ts +5 -1
- package/dist/browser/runtime/node/community/local-community.js +12 -0
- package/dist/browser/runtime/node/community/local-community.js.map +1 -1
- package/dist/browser/runtime/node/compile-cache.d.ts +1 -0
- package/dist/browser/runtime/node/compile-cache.js +29 -0
- package/dist/browser/runtime/node/compile-cache.js.map +1 -0
- package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +10 -79
- package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/dist/bundled/bundle-manifest.json +1288 -0
- package/dist/bundled/challenges.js +1 -0
- package/dist/bundled/chunks/helia-for-pkc-uRINWDzG.js +281 -0
- package/dist/bundled/chunks/local-community-CCSP8e6_.js +2 -0
- package/dist/bundled/chunks/local-community-iVvgerOY.js +7218 -0
- package/dist/bundled/chunks/node-DMNVMYGv.js +7567 -0
- package/dist/bundled/chunks/rpc-local-community-DG6G0xL6.js +128945 -0
- package/dist/bundled/chunks/schema-Bo3XK8Oe.js +34342 -0
- package/dist/bundled/chunks/util-I3gVOp6w.js +200 -0
- package/dist/bundled/index-with-compile-cache.js +19 -0
- package/dist/bundled/index.js +2 -0
- package/dist/bundled/rpc/src/index.js +1473 -0
- package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +2 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.js +5 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +96 -0
- package/dist/node/clients/rpc-client/rpc-schema-util.js +4 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/node/clients/rpc-client/schema.d.ts +89 -2
- package/dist/node/clients/rpc-client/schema.js +10 -1
- package/dist/node/clients/rpc-client/schema.js.map +1 -1
- package/dist/node/clients/rpc-client/types.d.ts +3 -1
- package/dist/node/community/remote-community.d.ts +5 -1
- package/dist/node/community/remote-community.js +6 -0
- package/dist/node/community/remote-community.js.map +1 -1
- package/dist/node/community/rpc-local-community.d.ts +5 -1
- package/dist/node/community/rpc-local-community.js +3 -0
- package/dist/node/community/rpc-local-community.js.map +1 -1
- package/dist/node/community/schema.d.ts +28 -18
- package/dist/node/community/schema.js +8 -0
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/community/types.d.ts +2 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/index-with-compile-cache.d.ts +254 -0
- package/dist/node/index-with-compile-cache.js +25 -0
- package/dist/node/index-with-compile-cache.js.map +1 -0
- package/dist/node/pages/schema.d.ts +5 -5
- package/dist/node/pkc/pkc.d.ts +3 -4
- package/dist/node/pkc/pkc.js +16 -19
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/publications/comment/schema.d.ts +2 -2
- package/dist/node/publications/comment/schema.js +7 -1
- package/dist/node/publications/comment/schema.js.map +1 -1
- package/dist/node/rpc/src/index.d.ts +2 -1
- package/dist/node/rpc/src/index.js +30 -2
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/runtime/browser/compile-cache.d.ts +1 -0
- package/dist/node/runtime/browser/compile-cache.js +7 -0
- package/dist/node/runtime/browser/compile-cache.js.map +1 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
- package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
- package/dist/node/runtime/node/community/db-handler.d.ts +4 -2
- package/dist/node/runtime/node/community/db-handler.js +30 -1
- package/dist/node/runtime/node/community/db-handler.js.map +1 -1
- package/dist/node/runtime/node/community/db-row-parser.d.ts +2 -0
- package/dist/node/runtime/node/community/db-row-parser.js +6 -0
- package/dist/node/runtime/node/community/db-row-parser.js.map +1 -1
- package/dist/node/runtime/node/community/local-community.d.ts +5 -1
- package/dist/node/runtime/node/community/local-community.js +12 -0
- package/dist/node/runtime/node/community/local-community.js.map +1 -1
- package/dist/node/runtime/node/compile-cache.d.ts +1 -0
- package/dist/node/runtime/node/compile-cache.js +29 -0
- package/dist/node/runtime/node/compile-cache.js.map +1 -0
- package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
- package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +10 -79
- package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
- package/package.json +18 -9
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -31
- package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
- package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -45
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -493
- package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
- package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
- package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -31
- package/dist/node/runtime/node/address-rewriter-db.js +0 -156
- package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -45
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -493
- package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
- package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Enables Node's on-disk V8 compile cache (issue #120). Caching the compiled bytecode
|
|
2
|
+
// recovers the parse/compile portion of import time (~29% of the post-lazy-load cost) on
|
|
3
|
+
// every run after the first.
|
|
4
|
+
//
|
|
5
|
+
// V8 only caches modules compiled AFTER the cache is enabled — and Node's ESM loader
|
|
6
|
+
// compiles the entire static import graph before any module body runs. So calling this
|
|
7
|
+
// from inside index.ts would never cover the package's own graph; it must be called from
|
|
8
|
+
// a thin bootstrap entry (index-with-compile-cache.ts) BEFORE the real entry is
|
|
9
|
+
// dynamic-imported.
|
|
10
|
+
//
|
|
11
|
+
// Designed to be a quiet optimization, never fatal:
|
|
12
|
+
// - no-op on Node < 22.8 (enableCompileCache doesn't exist there; engines allows >= 22)
|
|
13
|
+
// - cache dir is Node's default (os.tmpdir()/node-compile-cache), overridable with the
|
|
14
|
+
// NODE_COMPILE_CACHE env var; consumers can opt out with NODE_DISABLE_COMPILE_CACHE=1
|
|
15
|
+
// - enableCompileCache itself reports failures via its return value instead of throwing,
|
|
16
|
+
// but we still guard with try/catch in case of exotic runtimes
|
|
17
|
+
// Default import, not a named import: named imports of builtins are validated at link
|
|
18
|
+
// time, so `import { enableCompileCache }` would throw on Node 22.0-22.7.
|
|
19
|
+
import nodeModule from "node:module";
|
|
20
|
+
export function enableNodeCompileCache() {
|
|
21
|
+
try {
|
|
22
|
+
if (typeof nodeModule.enableCompileCache === "function")
|
|
23
|
+
nodeModule.enableCompileCache();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
// compile cache is an optimization only — never let it break startup
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=compile-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-cache.js","sourceRoot":"","sources":["../../../../src/runtime/browser/compile-cache.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,yFAAyF;AACzF,6BAA6B;AAC7B,EAAE;AACF,qFAAqF;AACrF,uFAAuF;AACvF,yFAAyF;AACzF,gFAAgF;AAChF,oBAAoB;AACpB,EAAE;AACF,oDAAoD;AACpD,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,yFAAyF;AACzF,iEAAiE;AAEjE,sFAAsF;AACtF,0EAA0E;AAC1E,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,sBAAsB;IAClC,IAAI,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,kBAAkB,KAAK,UAAU;YAAE,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC7F,CAAC;IAAC,MAAM,CAAC;QACL,qEAAqE;IACzE,CAAC;AACL,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import retry from "retry";
|
|
2
|
-
import { AddressesRewriterProxyServer } from "./addresses-rewriter-proxy-server.js";
|
|
3
2
|
import Logger from "../../logger.js";
|
|
4
3
|
import { PKCError } from "../../pkc-error.js";
|
|
5
4
|
import * as remeda from "remeda";
|
|
6
|
-
import tcpPortUsed from "tcp-port-used";
|
|
7
5
|
function _mergeRouterConfigs(existingConfig, newConfig) {
|
|
8
6
|
if (!existingConfig?.Routers)
|
|
9
7
|
return newConfig;
|
|
@@ -107,85 +105,21 @@ async function _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue) {
|
|
|
107
105
|
}
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
|
-
async function
|
|
108
|
+
export async function setupKuboHttpRouters(pkc) {
|
|
111
109
|
if (pkc.destroyed)
|
|
112
|
-
return
|
|
113
|
-
const mappingKeyName = `httprouter_proxy_${httpRouterUrl}`;
|
|
114
|
-
try {
|
|
115
|
-
const urlOfProxyOfHttpRouter = await pkc._storage.getItem(mappingKeyName);
|
|
116
|
-
if (pkc.destroyed)
|
|
117
|
-
return undefined;
|
|
118
|
-
if (urlOfProxyOfHttpRouter) {
|
|
119
|
-
const proxyHttpUrl = new URL(urlOfProxyOfHttpRouter);
|
|
120
|
-
if (await tcpPortUsed.check(Number(proxyHttpUrl.port), "127.0.0.1"))
|
|
121
|
-
return urlOfProxyOfHttpRouter;
|
|
122
|
-
if (pkc.destroyed)
|
|
123
|
-
return undefined;
|
|
124
|
-
await pkc._storage.removeItem(mappingKeyName);
|
|
125
|
-
}
|
|
126
|
-
return undefined;
|
|
127
|
-
}
|
|
128
|
-
catch (error) {
|
|
129
|
-
if (pkc.destroyed && error instanceof Error && error.message.includes("database connection is not open")) {
|
|
130
|
-
return undefined;
|
|
131
|
-
}
|
|
132
|
-
throw error;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
export async function setupKuboAddressesRewriterAndHttpRouters(pkc) {
|
|
136
|
-
if (pkc.destroyed) {
|
|
137
|
-
return {
|
|
138
|
-
destroy: async () => { }
|
|
139
|
-
};
|
|
140
|
-
}
|
|
110
|
+
return;
|
|
141
111
|
if (!Array.isArray(pkc.kuboRpcClientsOptions) || pkc.kuboRpcClientsOptions.length <= 0)
|
|
142
112
|
throw Error("need ipfs http client to be defined");
|
|
143
113
|
if (!Array.isArray(pkc.httpRoutersOptions) || pkc.httpRoutersOptions.length <= 0)
|
|
144
114
|
throw Error("Need http router options to defined");
|
|
145
|
-
const
|
|
146
|
-
// Set up http
|
|
147
|
-
const httpRouterProxyUrls = [];
|
|
148
|
-
const proxyServers = [];
|
|
149
|
-
let addressesRewriterStartPort = 19575; // use port 19575 as first port, looks like IPRTR (IPFS ROUTER)
|
|
150
|
-
for (const httpRouter of pkc.httpRoutersOptions) {
|
|
151
|
-
if (pkc.destroyed)
|
|
152
|
-
break;
|
|
153
|
-
const startedProxyUrl = await _getStartedProxyUrl(pkc, httpRouter);
|
|
154
|
-
if (startedProxyUrl) {
|
|
155
|
-
httpRouterProxyUrls.push(startedProxyUrl);
|
|
156
|
-
continue;
|
|
157
|
-
}
|
|
158
|
-
// launch the proxy server
|
|
159
|
-
let port = addressesRewriterStartPort;
|
|
160
|
-
const hostname = "127.0.0.1";
|
|
161
|
-
while (await tcpPortUsed.check(port, hostname))
|
|
162
|
-
// keep increasing port till we find an empty port
|
|
163
|
-
port++;
|
|
164
|
-
const addressesRewriterProxyServer = new AddressesRewriterProxyServer({
|
|
165
|
-
kuboClients: Object.values(pkc.clients.kuboRpcClients).map((kubo) => kubo._client),
|
|
166
|
-
port,
|
|
167
|
-
hostname,
|
|
168
|
-
proxyTargetUrl: httpRouter,
|
|
169
|
-
pkc
|
|
170
|
-
});
|
|
171
|
-
await addressesRewriterProxyServer.listen();
|
|
172
|
-
if (pkc.destroyed) {
|
|
173
|
-
await addressesRewriterProxyServer.destroy();
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
proxyServers.push(addressesRewriterProxyServer);
|
|
177
|
-
// save the proxy urls to use them later
|
|
178
|
-
const httpRouterProxyUrl = `http://${hostname}:${port}`;
|
|
179
|
-
httpRouterProxyUrls.push(httpRouterProxyUrl);
|
|
180
|
-
}
|
|
181
|
-
httpRouterProxyUrls.sort(); // make sure it's always the same order
|
|
182
|
-
// Set up http routers to use proxies
|
|
115
|
+
const httpRouterUrls = [...pkc.httpRoutersOptions].sort(); // make sure it's always the same order
|
|
116
|
+
// Set up http routers directly on the kubo nodes
|
|
183
117
|
const kuboClients = pkc.clients.kuboRpcClients;
|
|
184
118
|
const httpRoutersConfig = {
|
|
185
119
|
HttpRoutersParallel: { Type: "parallel", Parameters: { Routers: [] } },
|
|
186
120
|
HttpRouterNotSupported: { Type: "http", Parameters: { Endpoint: "http://kubohttprouternotsupported" } }
|
|
187
121
|
};
|
|
188
|
-
for (const [i, httpRouterUrl] of
|
|
122
|
+
for (const [i, httpRouterUrl] of httpRouterUrls.entries()) {
|
|
189
123
|
const RouterName = `HttpRouter${i + 1}`;
|
|
190
124
|
httpRoutersConfig[RouterName] = {
|
|
191
125
|
Type: "http",
|
|
@@ -215,6 +149,10 @@ export async function setupKuboAddressesRewriterAndHttpRouters(pkc) {
|
|
|
215
149
|
const settingOptionRetryOption = retry.operation({ forever: true, factor: 2 });
|
|
216
150
|
const setHttpRouterOnAllNodes = new Promise((resolve) => {
|
|
217
151
|
settingOptionRetryOption.attempt(async (curAttempt) => {
|
|
152
|
+
if (pkc.destroyed) {
|
|
153
|
+
resolve(1);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
218
156
|
for (const kuboClient of Object.values(kuboClients)) {
|
|
219
157
|
try {
|
|
220
158
|
await _setHttpRouterOptionsOnKuboNode(kuboClient, routingValue);
|
|
@@ -229,12 +167,5 @@ export async function setupKuboAddressesRewriterAndHttpRouters(pkc) {
|
|
|
229
167
|
});
|
|
230
168
|
await setHttpRouterOnAllNodes;
|
|
231
169
|
settingOptionRetryOption.stop();
|
|
232
|
-
return {
|
|
233
|
-
destroy: async () => {
|
|
234
|
-
for (const proxyServer of proxyServers) {
|
|
235
|
-
await proxyServer.destroy();
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
170
|
}
|
|
240
|
-
//# sourceMappingURL=setup-kubo-
|
|
171
|
+
//# sourceMappingURL=setup-kubo-http-routers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-kubo-http-routers.js","sourceRoot":"","sources":["../../../../src/runtime/browser/setup-kubo-http-routers.ts"],"names":[],"mappings":"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"}
|