dankgrinder 6.5.0 → 6.6.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.
Files changed (2) hide show
  1. package/lib/grinder.js +6 -6
  2. package/package.json +1 -1
package/lib/grinder.js CHANGED
@@ -2746,7 +2746,7 @@ async function start(apiKey, apiUrl) {
2746
2746
  const spin = BRAILLE_SPIN[Math.floor(Date.now() / 80) % BRAILLE_SPIN.length];
2747
2747
  const bar = rgb(139, 92, 246) + '█'.repeat(filled) + rgb(50, 50, 70) + '░'.repeat(empty) + c.reset;
2748
2748
  const pctStr = `${Math.round(pct * 100)}%`;
2749
- process.stdout.write(`\r ${rgb(139, 92, 246)}${spin}${c.reset} ${dim}Logging in...${c.reset} ${bar} ${c.bold}${rgb(52, 211, 153)}${loginDone}${c.reset}${dim}/${c.reset}${c.white}${accounts.length}${c.reset} ${dim}${pctStr}${c.reset} `);
2749
+ process.stdout.write(`\r ${rgb(139, 92, 246)}${spin}${c.reset} ${c.dim}Logging in...${c.reset} ${bar} ${c.bold}${rgb(52, 211, 153)}${loginDone}${c.reset}${c.dim}/${c.reset}${c.white}${accounts.length}${c.reset} ${c.dim}${pctStr}${c.reset} `);
2750
2750
  };
2751
2751
 
2752
2752
  // Progress animation timer
@@ -2798,7 +2798,7 @@ async function start(apiKey, apiUrl) {
2798
2798
  clearInterval(progressInterval);
2799
2799
  // Clear the progress line and show done
2800
2800
  process.stdout.write(`\r${c.clearLine}`);
2801
- console.log(` ${rgb(52, 211, 153)}✓${c.reset} ${c.bold}Login complete${c.reset} ${rgb(52, 211, 153)}${loginDone}/${accounts.length}${c.reset} ${dim}accounts connected${c.reset}`);
2801
+ console.log(` ${rgb(52, 211, 153)}✓${c.reset} ${c.bold}Login complete${c.reset} ${rgb(52, 211, 153)}${loginDone}/${accounts.length}${c.reset} ${c.dim}accounts connected${c.reset}`);
2802
2802
  console.log('');
2803
2803
 
2804
2804
  // Login summary: show invalid tokens clearly
@@ -2820,7 +2820,7 @@ async function start(apiKey, apiUrl) {
2820
2820
  const activeWorkers = workers.filter(w => !w._tokenInvalid);
2821
2821
 
2822
2822
  // Phase 2: Run inventory on ALL valid accounts in parallel (must complete before grinding)
2823
- console.log(` ${rgb(139, 92, 246)}${BRAILLE_SPIN[0]}${c.reset} ${dim}Checking inventory for ${c.reset}${c.bold}${activeWorkers.length}${c.reset}${dim} accounts...${c.reset}`);
2823
+ console.log(` ${rgb(139, 92, 246)}${BRAILLE_SPIN[0]}${c.reset} ${c.dim}Checking inventory for ${c.reset}${c.bold}${activeWorkers.length}${c.reset}${c.dim} accounts...${c.reset}`);
2824
2824
 
2825
2825
  // Animated inventory progress
2826
2826
  let invDone = 0;
@@ -2834,7 +2834,7 @@ async function start(apiKey, apiUrl) {
2834
2834
  const empty = invBarW - filled;
2835
2835
  const spin = BRAILLE_SPIN[Math.floor(Date.now() / 80) % BRAILLE_SPIN.length];
2836
2836
  const bar = rgb(34, 211, 238) + '█'.repeat(filled) + rgb(50, 50, 70) + '░'.repeat(empty) + c.reset;
2837
- process.stdout.write(`\r ${rgb(34, 211, 238)}${spin}${c.reset} ${dim}Inventory...${c.reset} ${bar} ${c.bold}${rgb(52, 211, 153)}${invDone}${c.reset}${dim}/${c.reset}${c.white}${total}${c.reset} ${dim}${Math.round(pct * 100)}%${c.reset} `);
2837
+ process.stdout.write(`\r ${rgb(34, 211, 238)}${spin}${c.reset} ${c.dim}Inventory...${c.reset} ${bar} ${c.bold}${rgb(52, 211, 153)}${invDone}${c.reset}${c.dim}/${c.reset}${c.white}${total}${c.reset} ${c.dim}${Math.round(pct * 100)}%${c.reset} `);
2838
2838
  };
2839
2839
 
2840
2840
  const invProgressInterval = setInterval(drawInvProgress, 80);
@@ -2859,12 +2859,12 @@ async function start(apiKey, apiUrl) {
2859
2859
 
2860
2860
  // Final summary
2861
2861
  if (invFailed > 0) {
2862
- console.log(` ${rgb(239, 68, 68)}✗${c.reset} ${c.bold}Inventory incomplete${c.reset} ${rgb(52, 211, 153)}${invDone}${c.reset}${dim}/${c.reset}${c.white}${total}${c.reset} done, ${rgb(239, 68, 68)}${invFailed} failed${c.reset}`);
2862
+ console.log(` ${rgb(239, 68, 68)}✗${c.reset} ${c.bold}Inventory incomplete${c.reset} ${rgb(52, 211, 153)}${invDone}${c.reset}${c.dim}/${c.reset}${c.white}${total}${c.reset} done, ${rgb(239, 68, 68)}${invFailed} failed${c.reset}`);
2863
2863
  log('error', `${c.red}Not starting grind loops — ${invFailed} accounts failed inventory.${c.reset}`);
2864
2864
  return;
2865
2865
  }
2866
2866
 
2867
- console.log(` ${rgb(52, 211, 153)}✓${c.reset} ${c.bold}Inventory complete${c.reset} ${rgb(52, 211, 153)}${invDone}/${total}${c.reset} ${dim}all clear${c.reset}`);
2867
+ console.log(` ${rgb(52, 211, 153)}✓${c.reset} ${c.bold}Inventory complete${c.reset} ${rgb(52, 211, 153)}${invDone}/${total}${c.reset} ${c.dim}all clear${c.reset}`);
2868
2868
  console.log('');
2869
2869
  console.log(` ${rgb(139, 92, 246)}${c.bold}>>>${c.reset} ${gradientText('Starting grind loops...', [139, 92, 246], [52, 211, 153])}`);
2870
2870
  console.log('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dankgrinder",
3
- "version": "6.5.0",
3
+ "version": "6.6.0",
4
4
  "description": "Dank Memer automation engine — grind coins while you sleep",
5
5
  "bin": {
6
6
  "dankgrinder": "bin/dankgrinder.js"