@openfloor/protocol
Version:
Open Floor Protocol implementation for JavaScript/TypeScript - enables interoperable multi-agent conversations
111 lines (110 loc) • 4.34 kB
JSON
{
"$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"
}
}
}