{"version":3,"sources":["../src/init.ts","../node_modules/tsup/assets/cjs_shims.js"],"sourcesContent":["#!/usr/bin/env node\n\n/**\n * Claude Orchestra Initialization CLI\n * Usage: npx claude-orchestra init\n */\n\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport { execSync } from 'child_process';\nimport { fileURLToPath } from 'url';\n\n// ES module equivalent of __dirname\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nconst ORCHESTRA_VERSION = '1.0.1';\n\n// ANSI color codes\nconst colors = {\n  reset: '\\x1b[0m',\n  bright: '\\x1b[1m',\n  red: '\\x1b[31m',\n  green: '\\x1b[32m',\n  yellow: '\\x1b[33m',\n  blue: '\\x1b[34m',\n  magenta: '\\x1b[35m',\n};\n\ntype Color = keyof typeof colors;\n\ninterface Config {\n  version?: string;\n  installedAt?: string;\n  lastUpdated?: string;\n  [key: string]: unknown;\n}\n\ninterface Settings {\n  permissions?: {\n    allow?: string[];\n    deny?: string[];\n    ask?: string[];\n  };\n  enabledMcpjsonServers?: string[];\n  enableAllProjectMcpServers?: boolean;\n}\n\nfunction log(msg: string, color: Color = 'reset') {\n  console.log(`${colors[color]}${msg}${colors.reset}`);\n}\n\nfunction detectInstalledVersion(): { version: string; installedAt: string } | null {\n  const configPath = '.claude/config.json';\n  if (fs.existsSync(configPath)) {\n    try {\n      const config = JSON.parse(fs.readFileSync(configPath, 'utf8')) as Config;\n      return {\n        version: config.version || 'unknown',\n        installedAt: config.installedAt || 'unknown',\n      };\n    } catch (_error) {\n      return null;\n    }\n  }\n  return null;\n}\n\nfunction mergeSettingsLocal(): void {\n  const settingsPath = '.claude/settings.local.json';\n  const backupPath = '.claude.backup/settings.local.json';\n\n  if (!fs.existsSync(backupPath)) return;\n\n  try {\n    const userSettings = JSON.parse(fs.readFileSync(backupPath, 'utf8')) as Settings;\n    const defaultSettings = JSON.parse(fs.readFileSync(settingsPath, 'utf8')) as Settings;\n\n    // Deep merge: preserve user customizations, add new defaults\n    const merged = {\n      permissions: {\n        allow: [\n          ...new Set([\n            ...(defaultSettings.permissions?.allow || []),\n            ...(userSettings.permissions?.allow || []),\n          ]),\n        ],\n        deny: userSettings.permissions?.deny || [],\n        ask: userSettings.permissions?.ask || [],\n      },\n      enabledMcpjsonServers:\n        userSettings.enabledMcpjsonServers || defaultSettings.enabledMcpjsonServers || [],\n      enableAllProjectMcpServers:\n        userSettings.enableAllProjectMcpServers ??\n        defaultSettings.enableAllProjectMcpServers ??\n        true,\n    };\n\n    fs.writeFileSync(settingsPath, JSON.stringify(merged, null, 2) + '\\n');\n    log('✅ Merged settings.local.json (preserved your customizations)', 'green');\n  } catch (_error) {\n    log('⚠️  Could not merge settings.local.json, using defaults', 'yellow');\n  }\n}\n\nfunction logHeader() {\n  log('', 'reset');\n  log('🎼 Claude Orchestra v' + ORCHESTRA_VERSION, 'bright');\n  log('==================================', 'bright');\n  log('', 'reset');\n}\n\nfunction checkProjectDirectory() {\n  const hasGit = fs.existsSync('.git');\n  const hasPackageJson = fs.existsSync('package.json');\n\n  if (!hasGit && !hasPackageJson) {\n    log('⚠️  Not in a project directory.', 'yellow');\n    log('   This will create .claude/ in the current directory.', 'yellow');\n    log('', 'reset');\n  }\n}\n\nfunction checkExistingInstallation(options?: { force?: boolean }): boolean {\n  if (!fs.existsSync('.claude')) return false;\n\n  const installed = detectInstalledVersion();\n  const isForce = options?.force || process.argv.includes('--force');\n\n  if (installed) {\n    if (installed.version === ORCHESTRA_VERSION && !isForce) {\n      log('✅ Claude Orchestra is already up to date (v' + ORCHESTRA_VERSION + ')', 'green');\n      log('   Use --force to reinstall anyway', 'yellow');\n      log('', 'reset');\n      return true; // Signal to exit\n    } else if (installed.version !== ORCHESTRA_VERSION) {\n      log(`🔄 Updating from v${installed.version} to v${ORCHESTRA_VERSION}`, 'blue');\n    }\n  }\n\n  log('⚠️  .claude/ directory already exists.', 'yellow');\n  log('   Backing up to .claude.backup/', 'yellow');\n\n  if (fs.existsSync('.claude.backup')) {\n    fs.rmSync('.claude.backup', { recursive: true, force: true });\n  }\n  fs.renameSync('.claude', '.claude.backup');\n  log('✅ Backup created', 'green');\n  log('', 'reset');\n\n  return false; // Continue with install\n}\n\nfunction copyOrchestraFiles() {\n  log('📦 Installing Claude Orchestra...', 'blue');\n  log('', 'reset');\n\n  // The source .claude directory is in the npm package root\n  // When built, dist/ is at package root, so we go up one level\n  const packageRoot = path.join(__dirname, '..');\n  const sourceClaudeDir = path.join(packageRoot, '.claude');\n\n  if (!fs.existsSync(sourceClaudeDir)) {\n    log('❌ Error: Could not find .claude directory in package', 'red');\n    log(`   Expected at: ${sourceClaudeDir}`, 'red');\n    process.exit(1);\n  }\n\n  // Copy .claude directory recursively\n  fs.cpSync(sourceClaudeDir, './.claude', { recursive: true });\n  log('✅ Copied orchestration system to .claude/', 'green');\n\n  // Merge settings if this is an update\n  const isUpdate = fs.existsSync('.claude.backup');\n  if (isUpdate) {\n    mergeSettingsLocal();\n  }\n\n  // Update config.json with version and timestamp\n  const configPath = './.claude/config.json';\n  const config = JSON.parse(fs.readFileSync(configPath, 'utf8')) as Config;\n  const now = new Date().toISOString();\n\n  // Preserve installedAt from backup if this is an update\n  let originalInstalledAt: string | undefined;\n  if (isUpdate) {\n    const backupConfigPath = './.claude.backup/config.json';\n    if (fs.existsSync(backupConfigPath)) {\n      try {\n        const backupConfig = JSON.parse(fs.readFileSync(backupConfigPath, 'utf8')) as Config;\n        originalInstalledAt = backupConfig.installedAt;\n      } catch (_error) {\n        // Ignore parse errors, will use fallback\n      }\n    }\n  }\n\n  config.version = ORCHESTRA_VERSION;\n  config.lastUpdated = now;\n  config.installedAt = originalInstalledAt ? originalInstalledAt : now;\n\n  fs.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\\n');\n\n  // Create state directory\n  const stateDir = './.claude/state';\n  if (!fs.existsSync(stateDir)) {\n    fs.mkdirSync(stateDir, { recursive: true });\n  }\n\n  // Restore state files from backup if this is an update\n  if (isUpdate) {\n    const backupStateDir = './.claude.backup/state';\n    if (fs.existsSync(backupStateDir)) {\n      const stateFiles = fs.readdirSync(backupStateDir);\n      for (const file of stateFiles) {\n        const sourcePath = path.join(backupStateDir, file);\n        const destPath = path.join(stateDir, file);\n        fs.copyFileSync(sourcePath, destPath);\n      }\n      if (stateFiles.length > 0) {\n        log('✅ Restored state files from backup', 'green');\n      }\n    }\n  }\n\n  log('✅ Created state directory', 'green');\n}\n\nfunction updateGitignore() {\n  const gitignorePath = '.gitignore';\n  const stateIgnoreLine = '.claude/state/';\n\n  if (fs.existsSync(gitignorePath)) {\n    const gitignoreContent = fs.readFileSync(gitignorePath, 'utf8');\n    if (!gitignoreContent.includes(stateIgnoreLine)) {\n      fs.appendFileSync(gitignorePath, '\\n# Claude Orchestra state\\n' + stateIgnoreLine + '\\n');\n      log('✅ Added .claude/state/ to .gitignore', 'green');\n    } else {\n      log('✅ .gitignore already includes .claude/state/', 'green');\n    }\n  } else {\n    fs.writeFileSync(gitignorePath, stateIgnoreLine + '\\n');\n    log('✅ Created .gitignore with state directory', 'green');\n  }\n}\n\nfunction createMcpConfig() {\n  const mcpConfigPath = '.mcp.json';\n\n  const mcpConfig = {\n    mcpServers: {\n      context7: {\n        command: 'npx',\n        args: ['-y', '@upstash/context7-mcp@latest'],\n      },\n    },\n  };\n\n  if (!fs.existsSync(mcpConfigPath)) {\n    fs.writeFileSync(mcpConfigPath, JSON.stringify(mcpConfig, null, 2) + '\\n');\n    log('✅ Created .mcp.json with context7 server', 'green');\n  } else {\n    log('✅ .mcp.json already exists', 'green');\n  }\n}\n\nfunction installDependencies() {\n  log('', 'reset');\n  log('📝 Checking dependencies...', 'blue');\n\n  if (!fs.existsSync('package.json')) {\n    log('⚠️  No package.json found. Creating minimal package.json...', 'yellow');\n\n    const minimalPackageJson = {\n      name: path.basename(process.cwd()),\n      version: '1.0.0',\n      dependencies: {\n        'smol-toml': '^1.3.1',\n        glob: '^11.0.0',\n      },\n    };\n\n    fs.writeFileSync('package.json', JSON.stringify(minimalPackageJson, null, 2));\n    log('✅ Created package.json', 'green');\n  }\n\n  // Check if dependencies are installed\n  const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8')) as {\n    dependencies?: Record<string, string>;\n    devDependencies?: Record<string, string>;\n  };\n  const hasSmolToml =\n    (packageJson.dependencies && packageJson.dependencies['smol-toml']) ||\n    (packageJson.devDependencies && packageJson.devDependencies['smol-toml']);\n\n  if (!hasSmolToml) {\n    log('   Adding smol-toml dependency...', 'blue');\n\n    try {\n      // Try yarn first, then npm\n      const hasYarn = fs.existsSync('yarn.lock');\n      const packageManager = hasYarn ? 'yarn' : 'npm';\n\n      if (packageManager === 'yarn') {\n        execSync('yarn add smol-toml glob', { stdio: 'inherit' });\n      } else {\n        execSync('npm install smol-toml glob', { stdio: 'inherit' });\n      }\n\n      log('✅ Installed dependencies', 'green');\n    } catch (_error) {\n      log('⚠️  Could not auto-install. Please run: npm install smol-toml glob', 'yellow');\n    }\n  } else {\n    log('✅ Dependencies already in package.json', 'green');\n  }\n}\n\nfunction printSuccessMessage() {\n  log('', 'reset');\n  log('🎉 Claude Orchestra installed successfully!', 'green');\n  log('', 'reset');\n  log('📚 Quick Start:', 'bright');\n  log('   1. Open this project in Claude Code (VS Code)', 'reset');\n  log('   2. Run: /orchestrate <your task>', 'magenta');\n  log('   3. Watch the orchestrator decompose and coordinate!', 'reset');\n  log('', 'reset');\n  log('📖 Available Commands:', 'bright');\n  log('   /orchestrate <task>   - Start new orchestration', 'reset');\n  log('   /orchestrate status   - Check progress', 'reset');\n  log('   /orchestrate resume   - Resume interrupted work', 'reset');\n  log('   /validate-integration - Validate all interfaces', 'reset');\n  log('', 'reset');\n  log('🔧 CLI Commands:', 'bright');\n  log('   npx claude-orchestra status     - Show orchestration status', 'reset');\n  log('   npx claude-orchestra detect     - Detect tech stack', 'reset');\n  log('   npx claude-orchestra next       - Show next tasks', 'reset');\n  log('   npx claude-orchestra help       - Show all commands', 'reset');\n  log('', 'reset');\n  log('📂 System Files:', 'bright');\n  log('   .claude/agents/       - All specialist agents', 'reset');\n  log('   .claude/commands/     - Workflow commands', 'reset');\n  log('   .claude/docs/         - Shared documentation', 'reset');\n  log('   .claude/lib/          - Context manager', 'reset');\n  log('   .claude/state/        - Runtime state (gitignored)', 'reset');\n  log('', 'reset');\n  log('🔍 Learn More:', 'bright');\n  log('   https://github.com/crs/claude-orchestra', 'blue');\n  log('', 'reset');\n  log('Happy orchestrating! 🎼', 'magenta');\n  log('', 'reset');\n}\n\n// Main execution\nexport function runInit(options?: { force?: boolean }) {\n  logHeader();\n  checkProjectDirectory();\n\n  const shouldExit = checkExistingInstallation(options);\n  if (shouldExit) return;\n\n  copyOrchestraFiles();\n  updateGitignore();\n  createMcpConfig();\n  installDependencies();\n  printSuccessMessage();\n}\n\nexport function runUpdate() {\n  const installed = detectInstalledVersion();\n\n  if (!installed) {\n    log('⚠️  Claude Orchestra not found. Running initial installation...', 'yellow');\n    log('', 'reset');\n    runInit();\n    return;\n  }\n\n  if (installed.version === ORCHESTRA_VERSION) {\n    log('', 'reset');\n    log('✅ Claude Orchestra is already up to date (v' + ORCHESTRA_VERSION + ')', 'green');\n    log('   Installed: ' + installed.installedAt, 'reset');\n    log('', 'reset');\n    return;\n  }\n\n  log('', 'reset');\n  log('🔄 Updating Claude Orchestra', 'blue');\n  log(`   From: v${installed.version}`, 'reset');\n  log(`   To:   v${ORCHESTRA_VERSION}`, 'reset');\n  log('', 'reset');\n\n  // Run init with force (skip early exit)\n  runInit({ force: true });\n}\n","// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n  typeof document === \"undefined\" \n    ? new URL(`file:${__filename}`).href \n    : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n      ? document.currentScript.src \n      : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n"],"mappings":"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","names":["__filename"]}