Schema for Einstein Module Settings

From ModuleSettings.schema.yaml (einstein/ModuleSettings.schema)

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

title: Module Settings
description: Settings for configuring an Einstein module.

type: object
additionalProperties: false
required: []

properties:
  eliza:
    title: Eliza (Dialogues)
    description: Settings related to Eliza (Dialogues) module.

    type: object
    required: [key]
    additionalProperties: false

    properties:
      key:
        title: Key
        description: The corresponding Eliza provider key in Jarvis.
        type: string
        minLength: 1
    #end properties
  #end eliza

  chernobyl:
    title: Chernobyl
    description: Settings related to Chernobyl module.

    type: object
    additionalProperties: false

    properties:
      key:
        title: Key
        description: The corresponding Chernobyl MiniApp key in Jarvis.
        type: string
        minLength: 1

      fields:
        title: Fields
        description: Settings for fields to be used when syncing.
        type: array
        minItems: 1
        uniqueItems: true
        items:
          $ref: "#/definitions/Field"

      synonyms_file:
        title: Synonyms File URL
        description: The URL for the synonyms file to use for synonyms transformation. Use only links to our own s3.
        type: string
        minLength: 1
    #end properties
  #end chernobyl

  rosters:
    title: Rosters
    description: Settings related to Rosters module.

    type: object
    required: [key]
    additionalProperties: false

    properties:
      key:
        title: Key
        description: The corresponding Rosters Provider key in Jarvis.
        type: string
        minLength: 1

      synonyms_file:
        title: Synonyms
        description: The S3 uri to a synonyms YAML file used by the roster parser (uses default if not provided).
        type: string
        minLength: 1

      fields:
        title: Fields
        description: Settings for fields to be used when syncing.
        type: array
        minItems: 1
        uniqueItems: true
        items:
          $ref: "#/definitions/Field"

      fake_dates:
        title: Use Fake Dates
        description: Indicate DataSource to generate fake dates for entries (today).
        type: boolean
    #end properties
  #end rosters
  custom_modules:
    type: object
    additionalProperties: true
    #end properties
  #end rosters

  data_source_entries_table_settings:
    title: Data Source Entries Table Settings
    description: Table settings for displaying entries in the data sources.
    $ref: TableSettings.schema
  #end data_source_entries_table_settings
#end properties

definitions:
  field_base_properties: &field_base_properties
    key:
      title: Key
      description: Uniquely identifiable key used internally for this field. It will be used as the `key` when storing values associated with this field.
      type: string
      minLength: 1

    encrypt:
      title: Encrypt
      type: boolean
      description: If this field should be encrypted in the database (defaults to `false`).

  Field:
    type: object
    additionalProperties: false
    required: [key]
    properties:
      <<: *field_base_properties
#end definitions

[Main Page] [Schema Documentation] [Examples]