openapi: 3.1.0
info:
  title: Hipocampo VPS
  description: API para armazenamento e recuperação de memórias persistentes no formato YAML, usado por Cognis.
  version: '1.0.0'
servers:
  - url: https://hipocampo.narra.com.br/
paths:
  /{cogni}/save:
    post:
      summary: Grava uma nova memória no Hipocampo
      operationId: saveMemory
      parameters:
        - name: cogni
          in: path
          required: true
          description: Nome do Cogni (ex.: sally-syntelos)
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Memory'
      responses:
        '200':
          description: Memória gravada com sucesso
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  arquivo:
                    type: string
                    example: Hipocampo-25.05.2025-13_58.yaml
  /{cogni}/index:
    get:
      summary: Retorna o índice das memórias de um Cogni
      operationId: getIndex
      parameters:
        - name: cogni
          in: path
          required: true
          description: Nome do Cogni (ex.: sally-syntelos)
          schema:
            type: string
      responses:
        '200':
          description: Lista de memórias indexadas
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/IndexEntry'
  /{cogni}/{arquivo}:
    get:
      summary: Lê uma memória específica
      operationId: getMemory
      parameters:
        - name: cogni
          in: path
          required: true
          description: Nome do Cogni
          schema:
            type: string
        - name: arquivo
          in: path
          required: true
          description: Nome do arquivo de memória (ex.: Hipocampo-25.05.2025-13_58.yaml)
          schema:
            type: string
      responses:
        '200':
          description: Conteúdo completo da memória
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Memory'
components:
  schemas:
    Memory:
      type: object
      properties:
        Titulo:
          type: string
        Sinopse:
          type: string
        Resumo:
          type: string
        Sumario:
          type: array
          items:
            type: string
        Conclusoes:
          type: string
        Tags:
          type: array
          items:
            type: string
        Data_Inicio:
          type: string
        Data_Fim:
          type: string
        Data_Gravacao:
          type: string
    IndexEntry:
      type: object
      properties:
        Titulo:
          type: string
        Sinopse:
          type: string
        Tags:
          type: array
          items:
            type: string
        Data_Inicio:
          type: string
        Data_Fim:
          type: string
        Data_Gravacao:
          type: string
        Arquivo:
          type: string
