"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.systemPrompt = void 0;
const prompts_1 = require("@langchain/core/prompts");
/**
 * System Prompt Template
 * Instructs the LLM to:
 * 1. Choose a category from the provided list
 * 2. Explain the choice
 * 3. Return "None" if no category fits
 *
 * Variables:
 * {categories} - Available categories, comma-separated
 * {input} - Message to categorize
 */
exports.systemPrompt = prompts_1.ChatPromptTemplate.fromTemplate(`
  You are an expert in categorizing different patient messages in a clinical context.
  Use your expertise to solve the message categorization task:
  1. Categorize the input message into **one of the provided categories**: {categories}. If no category fits, return "None".
  2. Provide a concise explanation of why the message belongs to the selected category.
  
  Important Instructions:
  - The message may be in multiple languages.
  - **Only** choose from the provided list of categories. **Do not create new categories** or alter the given ones.
  - If no category fits perfectly, or if the match is unclear, return "None" without guessing.
  - Carefully verify your selection before submitting your answer.
  
  Respond exclusively with a valid JSON object containing the following keys:
  - matched_category: The most suitable category from: {categories}
  - match_explanation: A brief explanation supporting your decision.

  Additional Instructions:
  {instructions}

  Input:
  {input}
`);
//# sourceMappingURL=prompt.js.map