/**
 * Prompt Consolidator
 *
 * Consolidates multi-repo architecture prompts into clear, jargon-free questions.
 * Removes duplicated "polyrepo" terminology and provides visual examples.
 *
 * @module prompt-consolidator
 */
/**
 * Get consolidated architecture prompt
 *
 * Replaces separate questions about "single vs multi" and "polyrepo vs parent"
 * with a single clear question.
 *
 * @returns Architecture options for user selection
 */
export function getArchitecturePrompt() {
    return {
        question: 'What is your repository architecture?',
        options: [
            {
                value: 'github-parent',
                label: 'Multiple repositories (microservices/polyrepo)',
                description: 'Multiple GitHub repos - all equal, first is default for issues',
                example: `
my-org/
├── frontend-app/          ← GitHub repo (default for issues)
├── backend-api/           ← GitHub repo
└── shared-lib/            ← GitHub repo
        `.trim()
            }
        ]
    };
}
/**
 * Get visibility prompt
 *
 * @param repoName - Repository name
 * @returns Visibility question and options
 */
export function getVisibilityPrompt(repoName) {
    return {
        question: `Repository visibility for "${repoName}"?`,
        options: [
            {
                value: 'private',
                label: 'Private (Recommended)',
                description: 'Only you and collaborators can see this repository'
            },
            {
                value: 'public',
                label: 'Public',
                description: 'Anyone can see this repository'
            }
        ],
        default: 'private'
    };
}
/**
 * Get Git remote URL type prompt (SSH vs HTTPS)
 *
 * @param platform - Optional platform name for examples
 * @returns URL type question and options
 */
export function getUrlTypePrompt(platform = 'github.com') {
    return {
        question: 'Git remote URL format?',
        options: [
            {
                value: 'https',
                label: 'HTTPS',
                description: `https://${platform}/owner/repo.git - Works everywhere, uses tokens`
            },
            {
                value: 'ssh',
                label: 'SSH',
                description: `git@${platform}:owner/repo.git - More secure, no password needed`
            }
        ],
        default: 'https'
    };
}
/**
 * Get platform selection prompt
 *
 * @returns Platform selection question and options
 */
export function getPlatformSelectionPrompt() {
    return {
        question: 'Select your Git hosting platform:',
        message: `
🌐 Git Platform Selection

SpecWeave supports multiple Git hosting platforms.
Choose where your repositories will be hosted.

✅ Fully Supported Platforms:
   • GitHub (github.com)
   • Bitbucket (bitbucket.org)
   • Azure DevOps (dev.azure.com)
   • Local Git (local-only repositories)

⏳ Coming Soon:
   • GitLab (repo operations work, issue sync pending)

Fully supported platforms include repository validation, creation, and issue tracking sync.
    `.trim()
    };
}
/**
 * Get platform-specific token permission guidance
 *
 * @param platform - Platform type
 * @param tokenUrl - URL to create token
 * @param scopes - Required scopes/permissions
 * @param isOrganization - Whether creating repos in an organization
 * @returns Formatted guidance message
 */
export function getTokenGuidance(platform, tokenUrl, scopes, isOrganization = false) {
    const platformName = platform.charAt(0).toUpperCase() + platform.slice(1);
    return `
📋 ${platformName} Access Token Requirements

Required Scopes/Permissions:
${scopes.map(s => `• ${s}`).join('\n')}

🔗 Create token at: ${tokenUrl}

⚠️  Important:
   - Select all required scopes/permissions above
   ${isOrganization && platform === 'github' ? '- Select "admin:org" if creating in organization\n' : ''}- Token will be stored in .env (never committed)
   - Keep your token secure
  `.trim();
}
//# sourceMappingURL=prompt-consolidator.js.map