tide-commander 0.63.0 → 0.63.2

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.
@@ -471,8 +471,23 @@ async function main() {
471
471
  const port = meta?.port ?? process.env.PORT ?? '6200';
472
472
  const host = meta?.host ?? process.env.HOST ?? 'localhost';
473
473
  const url = `http://${host}:${port}`;
474
- console.log(`\n🌊 Tide Commander is already running (PID: ${existingPid})`);
475
- console.log(`šŸš€ Open: ${url}\n`);
474
+ const dim = '\x1b[2m';
475
+ const yellow = '\x1b[33m';
476
+ const cyan = '\x1b[36m';
477
+ const bright = '\x1b[1m';
478
+ const reset = '\x1b[0m';
479
+ const blue = '\x1b[34m';
480
+ const _green = '\x1b[32m';
481
+ console.log(`\n${cyan}${bright}🌊 Tide Commander${reset} ${dim}(already running, PID: ${existingPid})${reset}`);
482
+ console.log(`${cyan}${'═'.repeat(60)}${reset}`);
483
+ console.log(`${blue}${bright}šŸš€ Open: ${url}${reset}`);
484
+ console.log(`${cyan}${'─'.repeat(60)}${reset}`);
485
+ console.log(`${dim}Commands:${reset}`);
486
+ console.log(` ${yellow}tide-commander status${reset} ${dim}Show server status & uptime${reset}`);
487
+ console.log(` ${yellow}tide-commander stop${reset} ${dim}Stop the server${reset}`);
488
+ console.log(` ${yellow}tide-commander logs -f${reset} ${dim}Follow live server logs${reset}`);
489
+ console.log(` ${yellow}tide-commander --help${reset} ${dim}Show all options${reset}`);
490
+ console.log(`${cyan}${'═'.repeat(60)}${reset}\n`);
476
491
  return;
477
492
  }
478
493
  }
@@ -513,12 +528,19 @@ async function main() {
513
528
  const bright = '\x1b[1m';
514
529
  const reset = '\x1b[0m';
515
530
  const blue = '\x1b[34m';
531
+ const dim = '\x1b[2m';
532
+ const yellow = '\x1b[33m';
516
533
  console.log(`\n${cyan}${bright}🌊 Tide Commander${reset}`);
517
534
  console.log(`${cyan}${'═'.repeat(60)}${reset}`);
518
535
  console.log(`${green}āœ“${reset} Started in background (PID: ${child.pid ?? 'unknown'})`);
519
536
  console.log(`${blue}${bright}šŸš€ Open: ${url}${reset}`);
520
537
  console.log(` Version: ${getPackageVersion()}`);
521
- console.log(`${green}šŸ“ Logs${reset}: tail -f logs/server.log`);
538
+ console.log(`${cyan}${'─'.repeat(60)}${reset}`);
539
+ console.log(`${dim}Commands:${reset}`);
540
+ console.log(` ${yellow}tide-commander status${reset} ${dim}Show server status & uptime${reset}`);
541
+ console.log(` ${yellow}tide-commander stop${reset} ${dim}Stop the server${reset}`);
542
+ console.log(` ${yellow}tide-commander logs -f${reset} ${dim}Follow live server logs${reset}`);
543
+ console.log(` ${yellow}tide-commander --help${reset} ${dim}Show all options${reset}`);
522
544
  console.log(`${cyan}${'═'.repeat(60)}${reset}\n`);
523
545
  return;
524
546
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tide-commander",
3
- "version": "0.63.0",
3
+ "version": "0.63.2",
4
4
  "description": "Visual multi-agent orchestrator and manager for Claude Code with 3D/2D interface",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- :root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-card: #15151f;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #606070;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-tertiary: #06b6d4;--accent-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%);--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 40px rgba(99, 102, 241, .3);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-lg)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.icon{width:1.25em;height:1.25em;vertical-align:middle}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 60px #6366f166}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card);border-color:var(--border-hover)}.btn-outline{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-outline:hover{background:var(--bg-tertiary);border-color:var(--border-hover)}.btn-lg{padding:1rem 2rem;font-size:1rem}.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#0a0a0fcc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border)}.nav-content{max-width:1200px;margin:0 auto;padding:0 var(--space-lg);height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:600;font-size:1.125rem}.logo-icon{font-size:1.5rem}.nav-links{display:flex;align-items:center;gap:var(--space-xl)}.nav-links a:not(.btn){color:var(--text-secondary);font-size:.9375rem;transition:color .2s}.nav-links a:not(.btn):hover{color:var(--text-primary)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:var(--space-4xl) 0;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%);mask-image:radial-gradient(ellipse at center,black 0%,transparent 70%)}.glow{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;animation:float 8s ease-in-out infinite}.glow-1{top:10%;left:20%;width:400px;height:400px;background:var(--accent-primary)}.glow-2{top:40%;right:10%;width:300px;height:300px;background:var(--accent-secondary);animation-delay:-3s}.glow-3{bottom:10%;left:40%;width:350px;height:350px;background:var(--accent-tertiary);animation-delay:-5s}@keyframes float{0%,to{transform:translate(0)}33%{transform:translate(30px,-30px)}66%{transform:translate(-20px,20px)}}.hero-content{position:relative;z-index:1;max-width:600px;padding-left:var(--space-lg)}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:100px;font-size:.8125rem;color:var(--text-secondary);margin-bottom:var(--space-xl)}.badge-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.hero-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1.1;margin-bottom:var(--space-lg);letter-spacing:-.02em}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.7}.hero-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-3xl);flex-wrap:wrap}.hero-stats{display:flex;gap:var(--space-3xl)}.stat{display:flex;flex-direction:column}.stat-value{font-size:2rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.875rem;color:var(--text-muted)}.hero-visual{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:45%;max-width:550px;z-index:1}.battlefield-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.preview-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.preview-dots{display:flex;gap:6px}.preview-dots span{width:12px;height:12px;border-radius:50%;background:var(--bg-primary)}.preview-dots span:nth-child(1){background:#ff5f56}.preview-dots span:nth-child(2){background:#ffbd2e}.preview-dots span:nth-child(3){background:#27ca40}.preview-title{font-size:.8125rem;color:var(--text-muted)}.preview-content{padding:var(--space-lg)}.mini-battlefield{position:relative;height:280px;background:linear-gradient(135deg,#1a2f1a,#0f1f0f);border-radius:var(--radius-md);overflow:hidden}.terrain{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 20% 30%,rgba(34,197,94,.1) 0%,transparent 30%),radial-gradient(circle at 70% 60%,rgba(34,197,94,.08) 0%,transparent 25%),radial-gradient(circle at 40% 80%,rgba(34,197,94,.06) 0%,transparent 20%)}.agent{position:absolute;display:flex;flex-direction:column;align-items:center;transition:transform 1s ease-in-out}.agent-1{top:20%;left:15%}.agent-2{top:60%;left:25%}.agent-3{top:35%;left:55%}.agent-4{top:70%;left:70%}.agent-ring{width:50px;height:50px;border:2px solid var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#6366f11a;transition:all .3s}.agent-ring.selected{border-color:var(--success);background:#22c55e33;box-shadow:0 0 20px #22c55e66;animation:selected-pulse 1.5s ease-in-out infinite}@keyframes selected-pulse{0%,to{box-shadow:0 0 20px #22c55e66}50%{box-shadow:0 0 30px #22c55e99}}.agent-icon{font-size:1.5rem}.agent-status{width:10px;height:10px;border-radius:50%;margin-top:var(--space-xs)}.agent-status.working{background:var(--warning);animation:status-blink 1s ease-in-out infinite}.agent-status.idle{background:var(--text-muted)}.agent-status.waiting{background:var(--accent-tertiary)}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.4}}.delegation-line{position:absolute;top:50%;left:100%;width:80px;height:2px;background:linear-gradient(90deg,var(--success),transparent);transform-origin:left center;animation:delegation 2s ease-in-out infinite}@keyframes delegation{0%{opacity:0;transform:scaleX(0)}50%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}.selection-box{position:absolute;top:15%;left:10%;width:45%;height:60%;border:2px dashed rgba(99,102,241,.5);background:#6366f10d;border-radius:var(--radius-sm);animation:selection-fade 3s ease-in-out infinite}@keyframes selection-fade{0%,to{opacity:0}40%,60%{opacity:1}}.features{padding:var(--space-4xl) 0;background:var(--bg-secondary)}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-tag{display:inline-block;padding:var(--space-xs) var(--space-md);background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:100px;font-size:.8125rem;font-weight:500;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-md)}.section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--space-md)}.section-header p{font-size:1.125rem;color:var(--text-secondary);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all .3s ease}.feature-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:var(--shadow-md)}.feature-card.feature-large{grid-column:span 2}.feature-icon{font-size:2rem;margin-bottom:var(--space-md)}.feature-card h3{font-size:1.25rem;font-weight:600;margin-bottom:var(--space-sm)}.feature-card p{color:var(--text-secondary);font-size:.9375rem}.feature-visual{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--bg-tertiary);border-radius:var(--radius-md)}.controls-visual{display:flex;gap:var(--space-xl);flex-wrap:wrap}.control-hint{display:flex;align-items:center;gap:var(--space-sm)}.control-hint kbd{display:inline-block;padding:var(--space-xs) var(--space-sm);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8125rem}.control-hint span{color:var(--text-muted);font-size:.8125rem}.session-visual{display:flex;align-items:center;justify-content:center}.session-timeline{display:flex;align-items:center}.session-point{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.session-dot{width:12px;height:12px;border-radius:50%;background:var(--text-muted);transition:all .3s}.session-point.active .session-dot{background:var(--success);box-shadow:0 0 10px #22c55e80}.session-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.session-line{width:40px;height:2px;background:var(--border)}.agent-classes{padding:var(--space-4xl) 0}.classes-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.class-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center;transition:all .3s;position:relative}.class-card:hover{border-color:var(--accent-primary);transform:translateY(-4px)}.class-card.class-boss{border-color:#f59e0b4d;background:linear-gradient(135deg,var(--bg-secondary) 0%,rgba(245,158,11,.05) 100%)}.class-card.class-boss:hover{border-color:var(--warning)}.class-icon{font-size:2.5rem;margin-bottom:var(--space-sm)}.class-card h4{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-xs)}.class-card p{font-size:.8125rem;color:var(--text-muted)}.class-badge{position:absolute;top:var(--space-sm);right:var(--space-sm);padding:2px 8px;background:#f59e0b33;border-radius:100px;font-size:.6875rem;color:var(--warning);text-transform:uppercase;letter-spacing:.05em}.how-it-works{padding:var(--space-4xl) 0;background:var(--bg-secondary)}.workflow{display:flex;flex-direction:column;gap:var(--space-3xl)}.workflow-step{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-xl);align-items:center}.step-number{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);border-radius:50%;font-size:1.25rem;font-weight:700}.step-content h3{font-size:1.5rem;font-weight:600;margin-bottom:var(--space-sm)}.step-content p{color:var(--text-secondary)}.step-visual{min-width:300px}.terminal-mock,.command-mock,.status-mock{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);font-family:var(--font-mono);font-size:.875rem}.terminal-mock code{color:var(--success)}.cursor{color:var(--text-primary);animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.command-mock .prompt{color:var(--accent-primary);margin-right:var(--space-sm)}.command-mock .command{color:var(--text-primary)}.status-mock{display:flex;flex-direction:column;gap:var(--space-sm)}.status-item{display:flex;align-items:center;gap:var(--space-sm)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.working{background:var(--warning)}.status-dot.idle{background:var(--text-muted)}.tech-stack{padding:var(--space-4xl) 0}.tech-grid{display:flex;justify-content:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-3xl)}.tech-card{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .3s}.tech-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.tech-icon{font-size:1.5rem}.architecture{max-width:700px;margin:0 auto}.arch-diagram{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-xl);font-family:var(--font-mono);font-size:.8125rem;color:var(--text-secondary);overflow-x:auto;line-height:1.8}.cta{padding:var(--space-4xl) 0;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.cta-content{text-align:center;max-width:700px;margin:0 auto}.cta-content h2{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--space-md)}.cta-content p{font-size:1.125rem;color:var(--text-secondary);margin-bottom:var(--space-2xl)}.cta-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.install-command{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);max-width:100%;overflow-x:auto}.install-command code{font-family:var(--font-mono);font-size:.8125rem;color:var(--text-secondary);white-space:nowrap}.copy-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-xs);transition:color .2s;flex-shrink:0}.copy-btn:hover{color:var(--text-primary)}.copy-btn.copied{color:var(--success)}.footer{padding:var(--space-2xl) 0;border-top:1px solid var(--border)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);text-align:center}.footer-brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:600}.footer-tagline{font-size:.875rem;color:var(--text-muted)}.footer-links{display:flex;gap:var(--space-xl)}.footer-links a{color:var(--text-secondary);font-size:.875rem;transition:color .2s}.footer-links a:hover{color:var(--text-primary)}@media(max-width:1024px){.hero{flex-direction:column;padding-top:100px}.hero-visual{position:relative;right:auto;top:auto;transform:none;width:100%;max-width:500px;margin-top:var(--space-3xl)}.hero-content{max-width:100%;text-align:center;padding:0 var(--space-lg)}.hero-actions,.hero-stats{justify-content:center}.features-grid{grid-template-columns:1fr}.feature-card.feature-large{grid-column:span 1}.workflow-step{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.step-visual{grid-column:1 / -1;min-width:auto}}@media(max-width:768px){.nav-links a:not(.btn){display:none}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-stats{flex-direction:column;gap:var(--space-lg)}.classes-showcase{grid-template-columns:repeat(2,1fr)}.controls-visual{flex-direction:column;gap:var(--space-md)}.install-command{flex-direction:column;text-align:center}.install-command code{font-size:.75rem}}@media(max-width:480px){.classes-showcase{grid-template-columns:1fr}.hero-actions{flex-direction:column;width:100%}.btn-lg{width:100%;justify-content:center}}