// ============================================================================
// LUDUS MCP PROMPTS - STATIC PROMPT EXPORTS
// ============================================================================

import { Prompt } from '@modelcontextprotocol/sdk/types.js';

export const createLudusRangePrompt: Prompt = {
  name: "create-ludus-range",
  description: "Create a complete Ludus cyber range from your requirements. Handles the entire workflow from planning to validation.",
  arguments: [
    { 
      name: "requirements", 
      description: "Describe what you want to build in natural language (e.g., 'AD range with one workstation, dedicated file server, SCCM, and Elastic watching the workstation joined to Tailscale')", 
      required: true 
    },
    { 
      name: "roles", 
      description: "Optional: Specify desired Ludus roles/collections to use (e.g., 'ludus_sccm, ludus_elastic_agent, ludus_tailscale')", 
      required: false 
    },
    { 
      name: "save_config", 
      description: "Whether to save the generated configuration to file (true/false)", 
      required: false 
    }
  ]
};

export const executeLudusCmdPrompt: Prompt = {
  name: "execute-ludus-cmd",
  description: "Safely execute Ludus CLI commands with comprehensive safety protocols, tool preference checking, and destructive action confirmation.",
  arguments: [
    {
      name: "command_intent",
      description: "Describe what you want to accomplish with the CLI command (e.g., 'check range status', 'get user information', 'abort stuck deployment')",
      required: true
    },
    {
      name: "target_user", 
      description: "Target user for admin operations (leave empty for current user operations)",
      required: false
    },
    {
      name: "confirm_destructive",
      description: "Set to true only AFTER user explicitly confirms destructive operations (type: true/false, TRUE/FALSE, or t/f)",
      required: false
    }
  ]
};

// Export all prompts as an array for easy registration
export const ALL_PROMPTS: Prompt[] = [
  createLudusRangePrompt,
  executeLudusCmdPrompt
];

// Re-export handlers for use in server
export { handleCreateLudusRangePrompt } from './createLudusRange.js';
export { handleExecuteLudusCmdPrompt } from './executeLudusCmd.js'; 