perplexity-hackathon-LawMitra / perplexity_hackathon / demo / scripts / scenarios / advocate-flow.ts
advocate-flow.ts
Raw
import chalk from 'chalk';

const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms));

async function runAdvocateFlow() {
  console.log(chalk.blue('\n=== Starting Advocate Flow Demo ===\n'));

  // Advocate login
  console.log(chalk.yellow('1. Advocate Login'));
  await sleep(1000);
  console.log(chalk.green('✓ Logged in as Michael Johnson'));

  // View dashboard
  console.log(chalk.yellow('\n2. Loading Dashboard'));
  await sleep(1500);
  console.log('Total Cases:', chalk.white('15'));
  console.log('Active Cases:', chalk.white('8'));
  console.log('Resolved Cases:', chalk.white('7'));
  console.log('Success Rate:', chalk.white('92%'));
  await sleep(2000);
  console.log(chalk.green('✓ Dashboard loaded'));

  // Review active case
  console.log(chalk.yellow('\n3. Reviewing Active Case'));
  await sleep(1500);
  console.log('Case Type:', chalk.white('Employment Discrimination'));
  console.log('Client:', chalk.white('Maria Garcia'));
  console.log('Status:', chalk.white('In Progress'));
  await sleep(2000);
  console.log(chalk.green('✓ Case details retrieved'));

  // Update case status
  console.log(chalk.yellow('\n4. Updating Case Status'));
  await sleep(1500);
  console.log('New Status:', chalk.white('Resolved'));
  console.log('Resolution:', chalk.white('Settlement reached with employer'));
  await sleep(2000);
  console.log(chalk.green('✓ Status updated successfully'));

  // Generate legal document
  console.log(chalk.yellow('\n5. Generating Legal Document'));
  await sleep(1500);
  console.log('Document Type:', chalk.white('Settlement Agreement'));
  console.log('Client:', chalk.white('Maria Garcia'));
  console.log('Case Reference:', chalk.white('EMP-2024-002'));
  await sleep(2000);
  console.log(chalk.green('✓ Document generated'));

  console.log(chalk.blue('\n=== Advocate Flow Demo Completed ===\n'));
}

runAdvocateFlow().catch(console.error);