---
name: oef
author: fetchai
version: 0.1.0
license: Apache-2.0
description: 'A protocol for interacting with an OEF service.'
speech_acts:
  register_service:
    service_description: ct:Description
    service_id: pt:str
  register_agent:
    agent_description: ct:Description
    agent_id: pt:str
  unregister_service:
    service_description: ct:Description
    service_id: pt:str
  unregister_agent:
    agent_description: ct:Description
    agent_id: pt:str
  search_services:
    query: ct:Query
  search_agents:
    query: ct:Query
  search_result:
    agents: pt:list[pt:str]
  oef_error:
    operation: ct:OEFErrorOperation
  dialogue_error:
    dialogue_id: pt:int
    origin: pt:str
...
---
ct:Query: |
  message Nothing {
  }
  oneof query{
      bytes bytes = 1;
      Nothing nothing = 2;
      bytes query_bytes = 3;
  }
ct:Description: |
  bytes description = 1;
ct:OEFErrorOperation: |
  enum OEFError {
        REGISTER_SERVICE = 0;
        UNREGISTER_SERVICE = 1;
        SEARCH_SERVICES = 2;
        SEARCH_SERVICES_WIDE = 3;
        SEARCH_AGENTS = 4;
        SEND_MESSAGE = 5;
        REGISTER_AGENT = 6;
        UNREGISTER_AGENT = 7;
      }
    OEFError oef_error = 1;
...
