@calimero-network/mero-js 7.2.0 → 7.3.0
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/index.browser.mjs +2 -2
- package/dist/index.browser.mjs.map +4 -4
- package/dist/index.cjs +58 -0
- package/dist/index.cjs.map +3 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +58 -0
- package/dist/index.mjs.map +3 -3
- package/dist/nodeDiscovery.d.ts +48 -0
- package/dist/nodeDiscovery.d.ts.map +1 -0
- package/dist/nodeDiscovery.js +102 -0
- package/dist/nodeDiscovery.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -14,4 +14,6 @@ export { SseClient, WsClient } from './events';
|
|
|
14
14
|
export type { SseEventData, WsEventData, AppVersionChangedEvent, GroupMembershipEventData } from './events';
|
|
15
15
|
export * from './cloud';
|
|
16
16
|
export * from './capabilities';
|
|
17
|
+
export { DEFAULT_LOCAL_NODE_PORTS, localNodeUrl, nodeEndpoint, probeNodeHealth, discoverLocalNodes, } from './nodeDiscovery';
|
|
18
|
+
export type { DiscoverLocalNodesOptions } from './nodeDiscovery';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGzD,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG5G,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGzD,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,aAAa,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAG5G,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -21,4 +21,5 @@ export * from './cloud';
|
|
|
21
21
|
// Member capability bitmask constants & helpers
|
|
22
22
|
export * from './capabilities';
|
|
23
23
|
// Utilities
|
|
24
|
+
export { DEFAULT_LOCAL_NODE_PORTS, localNodeUrl, nodeEndpoint, probeNodeHealth, discoverLocalNodes, } from './nodeDiscovery';
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,uEAAuE;AAEvE,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjD,2CAA2C;AAC3C,cAAc,eAAe,CAAC;AAE9B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI5C,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG/C,uCAAuC;AACvC,cAAc,SAAS,CAAC;AAExB,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAE/B,YAAY"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,uEAAuE;AAEvE,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGjD,2CAA2C;AAC3C,cAAc,eAAe,CAAC;AAE9B,kBAAkB;AAClB,cAAc,YAAY,CAAC;AAE3B,mBAAmB;AACnB,cAAc,aAAa,CAAC;AAE5B,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG9D,cAAc;AACd,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAGzE,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAI5C,2BAA2B;AAC3B,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG/C,uCAAuC;AACvC,cAAc,SAAS,CAAC;AAExB,gDAAgD;AAChD,cAAc,gBAAgB,CAAC;AAE/B,YAAY;AACZ,OAAO,EACL,wBAAwB,EACxB,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -2382,12 +2382,66 @@ function withCap(mask, cap) {
|
|
|
2382
2382
|
function withoutCap(mask, cap) {
|
|
2383
2383
|
return (mask & ~cap) >>> 0;
|
|
2384
2384
|
}
|
|
2385
|
+
|
|
2386
|
+
// src/nodeDiscovery.ts
|
|
2387
|
+
var DEFAULT_LOCAL_NODE_PORTS = [2428, 2429, 2528, 2529];
|
|
2388
|
+
var LOCAL_HOST = "localhost";
|
|
2389
|
+
var DEFAULT_PROBE_TIMEOUT_MS = 2e3;
|
|
2390
|
+
function localNodeUrl(port) {
|
|
2391
|
+
return `http://${LOCAL_HOST}:${port}`;
|
|
2392
|
+
}
|
|
2393
|
+
function nodeEndpoint(baseUrl, path) {
|
|
2394
|
+
const base = baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
|
|
2395
|
+
return new URL(path, base).toString();
|
|
2396
|
+
}
|
|
2397
|
+
async function probeNodeHealth(baseUrl, options = {}) {
|
|
2398
|
+
const { timeoutMs = DEFAULT_PROBE_TIMEOUT_MS, signal } = options;
|
|
2399
|
+
if (signal?.aborted) return false;
|
|
2400
|
+
const controller = new AbortController();
|
|
2401
|
+
const onAbort = () => controller.abort();
|
|
2402
|
+
const abortSignal = signal;
|
|
2403
|
+
if (abortSignal) abortSignal.addEventListener("abort", onAbort, { once: true });
|
|
2404
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
2405
|
+
try {
|
|
2406
|
+
const url = nodeEndpoint(baseUrl, "admin-api/health");
|
|
2407
|
+
const res = await fetch(url, {
|
|
2408
|
+
method: "GET",
|
|
2409
|
+
signal: controller.signal
|
|
2410
|
+
});
|
|
2411
|
+
if (!res.ok) return false;
|
|
2412
|
+
try {
|
|
2413
|
+
const body = await res.json();
|
|
2414
|
+
const status = body?.data?.status !== void 0 ? body?.data?.status : body?.status;
|
|
2415
|
+
if (status === void 0) return true;
|
|
2416
|
+
return typeof status === "string" && status.toLowerCase() === "alive";
|
|
2417
|
+
} catch {
|
|
2418
|
+
return true;
|
|
2419
|
+
}
|
|
2420
|
+
} catch {
|
|
2421
|
+
return false;
|
|
2422
|
+
} finally {
|
|
2423
|
+
clearTimeout(timer);
|
|
2424
|
+
if (abortSignal) abortSignal.removeEventListener("abort", onAbort);
|
|
2425
|
+
}
|
|
2426
|
+
}
|
|
2427
|
+
async function discoverLocalNodes(options = {}) {
|
|
2428
|
+
const { ports = DEFAULT_LOCAL_NODE_PORTS, timeoutMs, signal } = options;
|
|
2429
|
+
const results = await Promise.all(
|
|
2430
|
+
ports.map(async (port) => {
|
|
2431
|
+
const url = localNodeUrl(port);
|
|
2432
|
+
const ok = await probeNodeHealth(url, { timeoutMs, signal });
|
|
2433
|
+
return ok ? url : null;
|
|
2434
|
+
})
|
|
2435
|
+
);
|
|
2436
|
+
return results.filter((url) => url !== null);
|
|
2437
|
+
}
|
|
2385
2438
|
export {
|
|
2386
2439
|
AdminApiClient,
|
|
2387
2440
|
AuthApiClient,
|
|
2388
2441
|
AuthRevokedError,
|
|
2389
2442
|
CAPABILITIES,
|
|
2390
2443
|
CloudClient,
|
|
2444
|
+
DEFAULT_LOCAL_NODE_PORTS,
|
|
2391
2445
|
HTTPError,
|
|
2392
2446
|
LocalStorageTokenStore,
|
|
2393
2447
|
MemoryTokenStore,
|
|
@@ -2415,8 +2469,12 @@ export {
|
|
|
2415
2469
|
createRetryableMethod,
|
|
2416
2470
|
createTimeoutSignal,
|
|
2417
2471
|
createUniversalHttpClient,
|
|
2472
|
+
discoverLocalNodes,
|
|
2418
2473
|
hasCap,
|
|
2474
|
+
localNodeUrl,
|
|
2475
|
+
nodeEndpoint,
|
|
2419
2476
|
parseAuthCallback,
|
|
2477
|
+
probeNodeHealth,
|
|
2420
2478
|
withCap,
|
|
2421
2479
|
withRetry,
|
|
2422
2480
|
withoutCap
|