

const PROMPT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-prompt-snippets";
const INSTRUCTIONS_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-instructions";
const AGENT_DOCUMENTATION_URL = "https://aka.ms/vscode-ghcp-custom-chat-modes";
const SKILL_DOCUMENTATION_URL = "https://aka.ms/vscode-agent-skills";
const HOOK_DOCUMENTATION_URL = "https://aka.ms/vscode-chat-hooks";
const PROMPT_LANGUAGE_ID = "prompt";
const INSTRUCTIONS_LANGUAGE_ID = "instructions";
const AGENT_LANGUAGE_ID = "chatagent";
const SKILL_LANGUAGE_ID = "skill";
const ALL_PROMPTS_LANGUAGE_SELECTOR = [
    PROMPT_LANGUAGE_ID,
    INSTRUCTIONS_LANGUAGE_ID,
    AGENT_LANGUAGE_ID,
    SKILL_LANGUAGE_ID
];
function getLanguageIdForPromptsType(type) {
    switch (type) {
    case PromptsType.prompt:
        return PROMPT_LANGUAGE_ID;
    case PromptsType.instructions:
        return INSTRUCTIONS_LANGUAGE_ID;
    case PromptsType.agent:
        return AGENT_LANGUAGE_ID;
    case PromptsType.skill:
        return SKILL_LANGUAGE_ID;
    case PromptsType.hook:
        return "jsonc";
    default:
        throw ( new Error(`Unknown prompt type: ${type}`));
    }
}
function getPromptsTypeForLanguageId(languageId) {
    switch (languageId) {
    case PROMPT_LANGUAGE_ID:
        return PromptsType.prompt;
    case INSTRUCTIONS_LANGUAGE_ID:
        return PromptsType.instructions;
    case AGENT_LANGUAGE_ID:
        return PromptsType.agent;
    case SKILL_LANGUAGE_ID:
        return PromptsType.skill;
    default:
        return undefined;
    }
}
var PromptsType;
(function(PromptsType) {
    PromptsType["instructions"] = "instructions";
    PromptsType["prompt"] = "prompt";
    PromptsType["agent"] = "agent";
    PromptsType["skill"] = "skill";
    PromptsType["hook"] = "hook";
})(PromptsType || (PromptsType = {}));
function isValidPromptType(type) {
    return ( Object.values(PromptsType)).includes(type);
}

export { AGENT_DOCUMENTATION_URL, AGENT_LANGUAGE_ID, ALL_PROMPTS_LANGUAGE_SELECTOR, HOOK_DOCUMENTATION_URL, INSTRUCTIONS_DOCUMENTATION_URL, INSTRUCTIONS_LANGUAGE_ID, PROMPT_DOCUMENTATION_URL, PROMPT_LANGUAGE_ID, PromptsType, SKILL_DOCUMENTATION_URL, SKILL_LANGUAGE_ID, getLanguageIdForPromptsType, getPromptsTypeForLanguageId, isValidPromptType };
