syntax = "proto3";

package worldmonitor.intelligence.v1;

import "buf/validate/validate.proto";
import "sebuf/http/annotations.proto";
import "worldmonitor/intelligence/v1/intelligence.proto";

// ClassifyEventRequest specifies an event to classify using AI.
message ClassifyEventRequest {
  // Event title or headline.
  string title = 1 [
    (buf.validate.field).required = true,
    (buf.validate.field).string.min_len = 1,
    (sebuf.http.query) = { name: "title" }
  ];
  // Event description or body text.
  string description = 2 [(sebuf.http.query) = { name: "description" }];
  // Event source (e.g., "reuters", "acled").
  string source = 3 [(sebuf.http.query) = { name: "source" }];
  // Country context (ISO 3166-1 alpha-2).
  string country = 4 [(sebuf.http.query) = { name: "country" }];
}

// ClassifyEventResponse contains the AI-generated event classification.
message ClassifyEventResponse {
  // The event classification.
  EventClassification classification = 1;
}
