Schema for Turing Provider Settings

From ProviderSettings.schema.yaml (turing/ProviderSettings.schema)

---
$id: https://skeleton.botmd.io/turing/ProviderSettings.schema
$schema: http://json-schema.org/draft-07/schema#

title: Provider Settings
description: >-
  These settings are used for Turing `Provider`s in Chatterbox.

type: object
additionalProperties: false
required: []

properties:
  turing:
    title: Turing
    description: Turing specific settings.
    type: object

    additionalProperties: false
    required: []

    properties:
      module:
        title: Module
        description: The default module for synonym sets in this provider. This is used when the source does not provide a default module.
        type: string
        minLength: 1

      provider:
        title: Synonym Module Provider
        description: The provider key of the module (or a list of providers). If specified, then the synonyms will only apply to the specific provider of the module instead of the whole module. (eg, module=chernobyl, provider=ktph-documents)
        anyOf:
          - type: string
            minLength: 1
          - type: array
            items:
              type': string
              minLength: 1

      type:
        title: Type
        description: The default type for synonym sets in this provider. This is used when the source does not provide a default type.
        type: string
        minLength: 1

      use_record_id_as_canonical:
        title: Use Record ID As Canonical
        description: Defaults to `false`. When `true`, an additional synonym pair will be created between the `record_id` (of tabular interfaces) and the `canonical` phrase. This is useful when dealing with Airtable linked fields because it saves one extra step of loading the related tables.
        type: boolean
    #end properties
  #end turing

  hospitals:
    title: Hospitals
    description: Array of `Hospital` keys that will have access to dialogues returned by this Provider. Defaults to allow any hospital if not specified. Empty array (i.e., `[]`) will deny all access.
    type: array

    uniqueItems: true
    items:
      - $ref: "/hospital/ProfileTags.schema#/definitions/Organization Keys"
    #end items
  #end hospitals

  tags:
    title: Tags
    description: Array of profile `tag`s that will have access to dialogues returned by this Provider. Defaults to allow any tag if not specified. Empty array (i.e., `[]`) will deny all access.
    type: array

    uniqueItems: true
    items:
      anyOf:
        - $ref: "/hospital/ProfileTags.schema#/definitions/Accessible Tags"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Bot MD Tags"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Organization Keys"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Department Tags"
      #end anyOf
    #end items
  #end tags

  airtable:
    title: Airtable
    description: Settings for getting synonyms using `scalpel.externals.Airtable`.
    $ref: "/scalpel/TabularInterfaceSettings.schema#/definitions/TabularInterface"
  #end airtable

  gsheets:
    title: Google Sheet
    description: Settings for getting synonyms using `scalpel.externals.GoogleSheets`.
    $ref: "/scalpel/TabularInterfaceSettings.schema#/definitions/TabularInterface"
  #end gsheets

  csv:
    title: CSV
    description: Settings for getting synonyms using `scalpel.externals.TabularCSV`.
    $ref: "/scalpel/TabularInterfaceSettings.schema#/definitions/TabularInterface"
  #end csv

  excel:
    title: Excel
    description: Settings for getting synonyms using `scalpel.externals.TabularCSV`.
    $ref: "/scalpel/TabularInterfaceSettings.schema#/definitions/TabularInterface"
  #end excel

  einstein:
    title: Einstein Data Source
    description: Settings for getting synonyms using an Einstein data source.
    type: object
    required: [data_source_uid]
    properties:
      data_source_uid:
        title: Einstein Data Source UID
        description: UID of the Einstein data source
        type: string
        minLength: 1
  #end einstein
#end properties

[Main Page] [Schema Documentation] [Examples]