syntax = "proto3";

package worldmonitor.intelligence.v1;

import "sebuf/http/annotations.proto";

message TransmissionNode {
  string node = 1;
  string impact_type = 2;
  string logic = 3;
}

message MarketImplicationCard {
  string ticker = 1;
  string name = 2;
  string direction = 3;
  string timeframe = 4;
  string confidence = 5;
  string title = 6;
  string narrative = 7;
  string risk_caveat = 8;
  string driver = 9;
  repeated TransmissionNode transmission_chain = 10;
}

message ListMarketImplicationsRequest {
  // Framework identifier whose market implication cards should be listed.
  string framework_id = 1 [(sebuf.http.query) = { name: "frameworkId" }];
}

message ListMarketImplicationsResponse {
  repeated MarketImplicationCard cards = 1;
  bool degraded = 2;
  string empty_reason = 3;
  string generated_at = 4;
}
