All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schema.type.graphqls Maven / Gradle / Ivy

# ***************
# Knowledge types
# ***************

"Represents identity information"
type Identity {
    "The identity id"
    identityId: Uuid
    "The tenant id"
    tenantId: Uuid
    "The name of the identity"
    qualifier: String
    "The available languages of the identity"
    availableLanguages: Struct
    "The order of languages that will be used in case of missing translations"
    languageOrder: [String]

}

"Represents tenant information"
type Tenant {
    "The tenant id"
    tenantId: Uuid
    "The name of the tenant"
    qualifier: String
}

"Represents User information"
type User {
    "Id of the user"
    userId: Uuid
    "The username of the user"
    username: String
    "The email of the user"
    email: String
    "The first name of the user"
    firstName: String
    "The last name of the user"
    lastName: String
}

"Represents api key information"
type ApiKey {
    "The api key id"
    apiKeyId: Uuid
    "The name of the api key"
    name: String
    "The description of the api key"
    description: String
    "The flag to enable the api key"
    enabled: Boolean
}

"Represents api key information including the secret"
type CreatedApiKey {
    "The api key id"
    apiKeyId: Uuid
    "The name of the api key"
    name: String
    "The description of the api key"
    description: String
    "The secret of the api key"
    secret: String
    "The flag to enable the api key"
    enabled: Boolean
}

"Represents Role information"
type Role {
    "Id of the tenant"
    tenantId: Uuid
    "Id of the role"
    roleId: Uuid
    "The name of the role"
    name: String
    "The permissions of the role"
    permissions: [String]
}

"Represents intent information"
type Intent {
    "The identity id"
    identityId: Uuid
    "The intent reference id"
    reference: Uuid
    "The name of the intent"
    qualifier: String
    "Detailed description about the intent"
    appendent: String
    "The utterance dictionary. The key is a language key and the value is a list of utterances"
    utterance: Struct
    "The list of labels of the intent"
    labelList: [String]
    "The version of the intent"
    version: String
}

"Represents statement information"
type Statement {
    "The statement id"
    identityId: Uuid!
    "The statement reference id"
    reference: Uuid!
    "The name of the statement"
    qualifier: String
    "Detailed description about the statement"
    appendent: String
    "The utterance dictionary. The key is a language key and the value is a list of utterances"
    utterance: Struct
    "The list of labels of the statement"
    labelList: [String]
    "The version of the statement"
    version: String
}

"Represents fulfilment information"
type Fulfilment {
    "The fulfilment id"
    identityId: Uuid
    "The fulfilment reference id"
    reference: Uuid
    "The name of the fulfilment"
    qualifier: String
    "Detailed description about the fulfilment"
    appendent: String
    "The utterance dictionary. The key is a language key and the value is a list of utterances"
    utterance: Struct
    "The list of labels of the fulfilment"
    labelList: [String]
    "The version of the fulfilment"
    version: String
}

"Represents prompt information"
type Prompt {
    "The prompt id"
    identityId: Uuid
    "The prompt reference id"
    reference: Uuid
    "The name of the prompt"
    qualifier: String
    "Detailed description about the prompt"
    appendent: String
    "The utterance dictionary. The key is a language key and the value is a list of utterances"
    utterance: Struct
    "The list of labels of the prompt"
    labelList: [String]
    "The version of the prompt"
    version: String
}

"Represents code information"
type Code {
    "The code id"
    identityId: Uuid
    "The code reference id"
    reference: Uuid
    "The name of the code"
    qualifier: String
    "Detailed description about the code"
    appendent: String
    "The code dictionary. The key is a file name and the value is the code"
    code: Struct
    "The list of labels of the code"
    labelList: [String]
    "The type of the code"
    type: String
}

"Represents behaviour information"
type Behaviour {
    "The behaviour id"
    identityId: Uuid
    "The behaviour reference id"
    reference: Uuid
    "The name of the behaviour"
    qualifier: String
    "Detailed description about the behaviour"
    appendent: String
    "The list of labels of the behaviour"
    labelList: [String]
    "The behaviour xml"
    behaviour: String
}


"Represents graph information"
type Edge {
    source: Uuid
    target: Uuid
    edgeId: Uuid
    type: String
    weight: Float
    properties: Struct
}

# ****************
# Experience types
# ****************

"Represents behaviour execution information"
type BehaviourExecution {
    processInstanceId: Uuid
    identityId: Uuid
    state: String
    name: String
    duration: Int
    behaviourId: Uuid
    created: ISO8601
    updated: ISO8601
}

"Represents a detailed summary of executed entities to a given processInstanceId"
type BehaviourExecutionDetail {
    processInstanceId: Uuid
    identityId: Uuid
    qualifier: String
    behaviours: Struct
    behaviourId: Uuid
    nodes: [BehaviourNodeExecution]
}

"Represents behaviour node execution information"
type BehaviourNodeExecution {
    activityId: String
    behaviourQualifier: String
    behaviourId: String
    reference: Uuid
    qualifier: String
    state: String
    type: String
    created: ISO8601
}

"Represents identity metrics information"
type IdentityMetrics {
    identityId: Uuid
    entityCount: MetricsEntityCount
    topExecutedBehaviours: [TopExecutedBehaviour]
    behaviourStates: [BehaviourState]
    intentDetectionRate: IntentDetectionRate
}
type MetricsEntityCount {
    intents: Int
    prompts: Int
    statements: Int
    fulfilments: Int
    behaviours: Int
    codes: Int
}
type TopExecutedBehaviour {
    behaviourId: String
    behaviourName: String
    numberOfExecutions: Int
}
type BehaviourState {
    behaviourId: String
    behaviourName: String
    numberOfExecutions: Int
    running: Float
    success: Float
    waiting: Float
    failed: Float
}
type IntentDetectionRate {
    detected: Int
    unaware: Int
}

type BehaviourMetrics {
    identityId: Uuid
    behaviourId: Uuid
    statesPerDay: [BehaviourStatesPerDay]
}
type BehaviourStatesPerDay {
    date: ISO8601
    running: Int
    success: Int
    waiting: Int
    failed: Int
}

# ****************
# Skill types
# ****************

"Represents Skill information"
type Skill {
    "Id of the tenant"
    tenantId: Uuid
    "Skill reference"
    reference: Uuid
    "The name of the skill"
    qualifier: String
    "Detailed description about the skill"
    appendent: String
    "The list of labels of the skill"
    labelList: [String]
    "The uri of the repository where the skill is"
    repositoryUri: String
    "The type of the repository where the skill is"
    repositoryType: String
    "The list of available and build skill versions"
    versions: [SkillVersion]
    "A list of all available version tags"
    tags: [String]
}

"Represents SkillProvision information"
type SkillProvision {
    "Id of the tenant"
    tenantId: Uuid
    "Skill reference"
    reference: Uuid
    "The name of the skill provision"
    qualifier: String
    "Detailed description about the skill provision"
    appendent: String
    "The list of labels of the skill provision"
    labelList: [String]
    "The version used by this skill provision"
    version: String
    "The reference to skill"
    skillRef: String
    "CPU"
    cpu: Int
    "Memory"
    memory: Int
    "Amount of replicas"
    replicas: Int
    "Whether the skill provision should be enabled or not"
    enabled: Boolean
    "Amount of seconds that the skill requires to be ready"
    bootstrapTimeout: Int
    "Value-Key pairs with information needed for the skill provision"
    environment: Struct
    "The current status of the skill provision"
    status: SkillStatus
    "The contract associated with this provision"
    contract: String
}
"A skill build job creates definitive versions for Skill"
type SkillBuildJob {
    "The reference of this build job"
    reference: Uuid
    "Id of the tenant"
    tenantId: Uuid
    "reference to the skill being built"
    skillRef: String
    "the associated version tag"
    tag: String
    "The name of the build job"
    name: String
    "The current status of the build job"
    status: SkillStatus
    "created at"
    created: ISO8601
}

"A skill version is a built version of a skill created by a SkillBuildJob"
type SkillVersion {
    skillRef: String
    version: String
    created: ISO8601
}

type SkillStatus {
    health: String
    running: Int
    pending: Int
    failures: [Failure]
}

type Failure {
    reason: String
    failureType: String
    exitCode: Int
    affectedContainer: String
    logs: [String]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy