/**
 * Local VLM Prompts for Chandra Image Analysis
 *
 * Prompts optimized for local Chandra VLM processing.
 * These match the prompts used in python/vlm_worker_local.py.
 *
 * @module services/vlm/prompts-local
 */
/**
 * Analysis prompt for structured image description.
 * Returns JSON with ImageAnalysis fields.
 */
export const ANALYSIS_PROMPT = `Analyze this image from a document. Return ONLY a JSON object with these exact fields:
{
  "imageType": "photograph|diagram|chart|table|form|signature|stamp|map|medical|screenshot|other",
  "primarySubject": "brief description of main subject",
  "paragraph1": "4-5 sentences identifying the image and its context",
  "paragraph2": "6-8 sentences describing detailed content",
  "paragraph3": "4-5 sentences about legal or medical relevance if applicable",
  "extractedText": ["list of visible text strings"],
  "dates": ["dates found in format YYYY-MM-DD"],
  "names": ["people and organization names"],
  "numbers": ["amounts, reference numbers, IDs"],
  "confidence": 0.85
}
Return ONLY valid JSON, no other text.`;
/**
 * Classification prompt for quick image categorization.
 */
export const CLASSIFY_PROMPT = `Classify this image. Return ONLY a JSON object:
{"type": "photograph|diagram|chart|table|form|signature|other", "hasText": true, "textDensity": "none|sparse|dense", "complexity": "simple|moderate|complex", "confidence": 0.85}
Return ONLY valid JSON, no other text.`;
/**
 * Deep analysis prompt for detailed reasoning.
 */
export const DEEP_ANALYSIS_PROMPT = `You are a document analysis expert. Analyze this image thoroughly.

Step through your analysis:
1. Identify the image type and overall content
2. Examine every visible element systematically
3. Extract all text, numbers, dates, and names
4. Consider the legal or medical significance of each element
5. Note any uncertainties or ambiguities

Return as JSON:
{
  "imageType": "string",
  "primarySubject": "brief description of main subject",
  "paragraph1": "detailed visual overview (6-10 sentences)",
  "paragraph2": "comprehensive element-by-element description (8-12 sentences)",
  "paragraph3": "communication and significance (6-10 sentences)",
  "extractedText": ["all visible text"],
  "dates": ["YYYY-MM-DD"],
  "names": ["people, organizations"],
  "numbers": ["amounts, references, IDs"],
  "confidence": 0.0-1.0
}
Return ONLY valid JSON, no other text.`;
/**
 * Create a context-aware prompt by prepending document context text.
 *
 * @param contextText - Surrounding text from the document
 * @returns Combined prompt with context prefix and analysis instructions
 */
export function createLocalContextPrompt(contextText) {
    const truncated = contextText.slice(0, 2000);
    return `The following text surrounds this image in the document:
"""
${truncated}
"""

Relate your description to this context where relevant.

${ANALYSIS_PROMPT}`;
}
//# sourceMappingURL=prompts-local.js.map