sigrank 0.0.227 → 0.0.228

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/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://raw.githubusercontent.com/anthropics/mcpb/main/schemas/mcpb-manifest-v0.4.schema.json",
3
3
  "manifest_version": "0.4",
4
4
  "name": "sigrank",
5
- "version": "0.0.226",
5
+ "version": "0.0.227",
6
6
  "description": "Ranks AI coding operators by token cascade efficiency (Yield = cache_read \u00d7 output / input\u00b2). 23 tools for yield calculation, local token usage pulls, signed submission, and tokscale-powered analytics (market share, developer profiles, model trends, cost analysis, device profiles, MCP usage, competitive intelligence). Privacy-first: runs locally, only four token counts leave the machine.",
7
7
  "author": {
8
8
  "name": "SunrisesIllNeverSee",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigrank",
3
- "version": "0.0.227",
3
+ "version": "0.0.228",
4
4
  "author": "SunrisesIllNeverSee (https://github.com/SunrisesIllNeverSee)",
5
5
  "description": "SigRank MCP server — AI operator evaluation and token cascade efficiency tools. The yield cascade + live leaderboard as MCP tools any agent can call.",
6
6
  "mcpName": "io.github.SunrisesIllNeverSee/sigrank-mcp",
@@ -413,15 +413,19 @@ async function fillDashboardRest(
413
413
  { shouldLoadPlatform, onPlatformStarted, onPlatformLoaded } = {},
414
414
  ) {
415
415
  if (!dashData?._remaining) return false;
416
- // Pull one platform at a time. Some adapters scan large session trees, so
417
- // waiting for the entire batch would prevent the dashboard from updating
418
- // while the slowest platform is still being read.
419
- for (const platform of dashData._remaining) {
420
- if (shouldLoadPlatform && !shouldLoadPlatform(platform)) continue;
421
- await onPlatformStarted?.(platform);
422
- const result = await pullDashboardPlatform(dashData, platform);
423
- await onPlatformLoaded?.(platform, result);
424
- }
416
+ // Pull all remaining platforms IN PARALLEL. The old sequential approach took
417
+ // 25s+ (18 platforms × ~1.5s each, most returning nothing). Parallel cuts
418
+ // total wait to the slowest single platform (~2-3s).
419
+ const toLoad = dashData._remaining.filter(
420
+ (p) => !shouldLoadPlatform || shouldLoadPlatform(p),
421
+ );
422
+ await Promise.all(
423
+ toLoad.map(async (platform) => {
424
+ await onPlatformStarted?.(platform);
425
+ const result = await pullDashboardPlatform(dashData, platform);
426
+ await onPlatformLoaded?.(platform, result);
427
+ }),
428
+ );
425
429
  dashData._loading = false;
426
430
  dashData._remaining = null;
427
431
  return true;