askUserSchema top-level property

Map<String, Object> askUserSchema
final

Implementation

final askUserSchema = {
  "type": "object",
  "additionalProperties": false,
  "required": ["subject", "form", "help"],
  "properties": {
    "subject": {"type": "string", "description": "a very short description suitable for a dialog title"},
    "help": {
      "type": "string",
      "description": "helpful information that explains why this information is being collected and how it will be used",
    },
    "form": {
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["input"],
            "properties": {
              "input": {
                "type": "object",
                "additionalProperties": false,
                "required": ["multiline", "name", "description", "default_value"],
                "properties": {
                  "name": {"type": "string"},
                  "description": {"type": "string"},
                  "multiline": {"type": "boolean"},
                  "default_value": {"type": "string"},
                },
              },
            },
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["checkbox"],
            "properties": {
              "checkbox": {
                "type": "object",
                "additionalProperties": false,
                "required": ["name", "description", "default_value"],
                "properties": {
                  "name": {"type": "string"},
                  "description": {"type": "string"},
                  "default_value": {"type": "boolean"},
                },
              },
            },
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["radio_group"],
            "description":
                "allows the user to select a single option from a list of options. best for multiple choice questions or surveys",
            "properties": {
              "radio_group": {
                "type": "object",
                "additionalProperties": false,
                "required": ["name", "default_value", "description", "options"],
                "properties": {
                  "name": {"type": "string"},
                  "description": {"type": "string"},
                  "default_value": {"type": "string"},
                  "options": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": ["name", "value"],
                      "properties": {
                        "name": {"type": "string"},
                        "value": {"type": "string"},
                      },
                    },
                  },
                },
              },
            },
          },
          {
            "type": "object",
            "additionalProperties": false,
            "required": ["select"],
            "properties": {
              "select": {
                "type": "object",
                "additionalProperties": false,
                "required": ["name", "options", "description", "default_value"],
                "properties": {
                  "name": {"type": "string"},
                  "description": {"type": "string"},
                  "default_value": {"type": "string"},
                  "options": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": ["name", "value"],
                      "properties": {
                        "name": {"type": "string"},
                        "value": {"type": "string"},
                      },
                    },
                  },
                },
              },
            },
          },
        ],
      },
    },
  },
};