{
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "luna-chat",
        "responseMode": "lastNode",
        "options": {}
      },
      "id": "webhook-1",
      "name": "Webhook In",
      "position": [
        0,
        0
      ],
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1
    },
    {
      "parameters": {
        "options": {
          "systemMessage": "=Voc\u00db \u00da a Luna, uma terapeuta digital de sa\u00b7de mental fundamentada na Terapia Cognitivo-Comportamental (TCC). \n\nSempre que o usu\u00dfrio perguntar sobre o teste, triagem, anamnese ou como ele est\u00df baseado no que respondeu, voc\u00db DEVE seguir estes passos usando suas ferramentas:\n1. Use 'Get User Anamnesis' filtrando pelo clinical_id (IDENTIFICADOR PRINCIPAL: {{ $json.body?.clinicalId || $json.clinicalId }}).\n2. Use 'Get SRQ Questions Mapping' para saber o texto de cada pergunta (ex: pergunta 1 -> 'Dores de cabe\u00fea').\n3. Combine as informa\u00fe\u00a7es para dar um acolhimento personalizado.\n\n4. Para lembrar de conversas anteriores fora da mem\u00beria imediata, use 'ChatHistoryTool' filtrando pelo clinical_id do usu\u00dfrio em outras sess\u00a7es.\n\nREGRAS CR\u2550TICAS:\n- O clinicalId atual \u00da: {{ $json.body?.clinicalId || $json.clinicalId }}. Use este ID para TODOS os filtros no banco.\n- Voc\u00db TEM ACESSO a esses dados cl\u00ddnicos e de hist\u00berico atrav\u00das das suas ferramentas. Nunca diga que n\u00d2o tem acesso.\n- Se n\u00d2o encontrar dados para o clinicalId, pergunte gentilmente se o usu\u00dfrio j\u00df completou a anamnese.\n- Seja emp\u00dftica e use TCC para acolher."
        }
      },
      "id": "agent-1",
      "name": "AI Agent",
      "position": [
        650,
        0
      ],
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1
    },
    {
      "parameters": {
        "modelName": "models/gemini-flash-latest",
        "options": {}
      },
      "id": "gemini-1",
      "name": "Google Gemini",
      "position": [
        650,
        200
      ],
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "typeVersion": 1,
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "sessionIdType": "customKey",
        "sessionKey": "={{ $json.body?.sessionId || $json.sessionId || 'default-session' }}"
      },
      "id": "memory-1",
      "name": "Memory",
      "position": [
        800,
        200
      ],
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3
    },
    {
      "id": "tool-supabase-anamnesis",
      "name": "Get User Anamnesis",
      "type": "n8n-nodes-base.supabaseTool",
      "typeVersion": 1,
      "position": [
        400,
        200
      ],
      "parameters": {
        "operation": "getAll",
        "resource": "row",
        "tableId": "anamnesis_responses"
      },
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "id": "tool-supabase-questions",
      "name": "Get SRQ Questions Mapping",
      "type": "n8n-nodes-base.supabaseTool",
      "typeVersion": 1,
      "position": [
        400,
        350
      ],
      "parameters": {
        "operation": "getAll",
        "resource": "row",
        "tableId": "srq_questions"
      },
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "getAll",
        "resource": "row",
        "tableId": "chat_messages"
      },
      "id": "tool-supabase-history-new",
      "name": "ChatHistoryTool",
      "type": "n8n-nodes-base.supabaseTool",
      "typeVersion": 1,
      "position": [
        400,
        500
      ],
      "credentials": {
        "supabaseApi": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Google Gemini": {
      "ai_languageModel": [
        [
          {
            "index": 0,
            "node": "AI Agent",
            "type": "ai_languageModel"
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "index": 0,
            "node": "AI Agent",
            "type": "ai_memory"
          }
        ]
      ]
    },
    "Webhook In": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get User Anamnesis": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get SRQ Questions Mapping": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ChatHistoryTool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  },
  "name": "Luna",
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false,
    "callerPolicy": "workflowsFromSameOwner"
  }
}