Assistant Manifest
You can find the current and all previous versions of this schema also in our GitHub repository.
Full Schema
{
"$id": "https://github.com/open-voice-interoperability/docs/tree/main/schemas/assistant-manifest/1.0.0/assistant-manifest-schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "A representation of an 'assistant manifest’ - a standard format for publishing the identity and capability of an Open-Floor agent.",
"type": "object",
"required": [ "identification","capabilities" ],
"properties": {
"identification": {
"required": ["serviceUrl" , "organization", "conversationalName" ],
"properties": {
"speakerUri": {
"$ref": "#/$defs/uri",
"description": "The unique identity of the agent."
},
"serviceUrl": {
"$ref": "#/$defs/url",
"description": "The endpoint of the conversational assistant."
},
"organization": {
"type": "string",
"description": "The name of the organization administering this assistant."
},
"conversationalName": {
"type": "string",
"description": "The 'given name' of the conversational agent."
},
"department": {
"type": "string",
"description": "The department within the organization."
},
"role": {
"type": "string",
"description": "The 'job title', or 'role' of the assistant."
},
"synopsis": {
"type": "string",
"description": "A sentence signposting the who the assistant is and their area of expertise."
}
}
},
"capabilities": {
"type": "array",
"description": "A list of capabilities supported by this endpoint.",
"items" : {
"type" : "object",
"description": "One of the capabilities supported by this endpoint.",
"required": ["keyphrases" , "descriptions" ],
"properties" : {
"keyphrases": {
"type": "array",
"description": "A list of searchable key phrases.",
"items" : {
"type": "string",
"description": "A searchable key phrase"
}
},
"languages": {
"type": "array",
"description": "A list of the languages supported by this capability.",
"items" : {
"type": "string",
"description": "A language supported by this capability"
}
},
"descriptions": {
"type": "array",
"description": "A set of searchable texts, in no particular order, describing the services and capabilities of the assistant.",
"items" : {
"type": "string",
"description": "A searchable text describing one of the services or capabilities of the assistant."
}
},
"supportedLayers": {
"type" : "object",
"description": "The input and output capabilities supported by this endpoint.",
"required": ["input" , "output" ],
"properties" : {
"input": {
"type": "array",
"description": "A list of the dialogEvent layers supported as input for this capability.",
"items" : {
"type": "string",
"description": "A dialogEvent input layer supported by this capability"
}
},
"output": {
"type": "array",
"description": "A list of the dialogEvent layers supported as output for this capability.",
"items" : {
"type": "string",
"description": "A dialogEvent output layer supported by this capability"
}
}
}
}
}
}
}
},
"$defs": {
"url": {
"type": "string",
"description": "Any valid URL"
},
"uri": {
"type": "string",
"description": "Any valid URI"
}
}
}
Usage Examples
Manifest
{
"identification":
{
"speakerUri": "https://dev.buerokratt.ee/ovonr/conversation",
"serviceUrl": "https://dev.buerokratt.ee/ovonr/conversation",
"organization": "Government of Estonia",
"conversationalName": "Buerokratt",
"department": "Passport Office",
"role": "Immigration Specialist",
"synopsis" : "Immigration specialist as part of the Buerokratt system."
},
"capabilities": [
{
"keyphrases": [
"visa",
"immigration",
"passport",
"permanent resident"
],
"languages": [
"en-us"
],
"descriptions": [
"international travel to and from Estonia"
],
"supportedLayers": {
"input" : [
"text"
],
"output" : [
"text"
]
}
}
]
}