Skip to main content
This is currently under development.

Schema

context:
  name: assistant
  description: Provides configuration about the assistant.
  parameters:
    type: object
    properties:
      availableTools:
        type: array
        description: A list of available tools that can be used by the assistant.
        items:
          type: object
          properties:
            name:
              type: string
              description: The name of the tool.
            yaml:
              type: string
              description: The YAML definition of the tool's function parameters.
      directiveMode:
        type: boolean
        description: Indicates if the assistant is in directive mode.
      includeSystemPrompt:
        type: boolean
        description: Whether to include the system prompt.
      includeToolsInMarkdown:
        type: boolean
        description: Whether to include tool descriptions in Markdown output.
      promptSettings:
        type: object
        description: Various settings for how prompts and responses are handled.
        properties:
          assistantId:
            type: string
            description: The unique identifier for the assistant.
          assistantThreadId:
            type: string
            description: The thread identifier for the assistant.
          codeSmellCorrection:
            type: boolean
            description: Whether to automatically correct code smells.
          continueConversion:
            type: boolean
            description: Whether to continue a conversation when certain conditions apply.
          decomposeDirectives:
            type: boolean
            description: Whether to decompose directives into sub-prompts.
          editFormat:
            type: string
            description: The edit format to use, e.g., FULL_TEXT.
          editMode:
            type: boolean
            description: Whether the assistant is in edit mode.
          ephemeralSystemPrompt:
            type: boolean
            description: Whether the system prompt is ephemeral (in-memory only).
          functionCalling:
            type: string
            description: How the assistant will call functions, e.g., NATIVE.
          languageModel:
            type: string
            description: The language model in use, e.g., VOQAL_PRO.
          promptFile:
            type: string
            description: The file path to the main prompt.
          promptName:
            type: string
            description: The name of the prompt.
          promptText:
            type: string
            description: The text of the prompt itself.
          promptUrl:
            type: string
            description: The URL to the prompt file, if any.
          provider:
            type: string
            description: The provider used for the language model or other services.
          separateInitialUserMessage:
            type: boolean
            description: Whether to separate the initial user message from the rest of the conversation.
          showPartialResults:
            type: boolean
            description: Whether to show partial results as they are generated.
          streamCompletions:
            type: boolean
            description: Whether to stream responses in real-time.
          toolChoice:
            type: string
            description: Indicates which tool is currently chosen, if any.
          vectorStoreId:
            type: string
            description: The identifier for a vector store, if any.
      speechId:
        type: string
        nullable: true
        description: The current speech identifier, if any.
      usingAudioModality:
        type: boolean
        description: Indicates if audio input/output is being used.

Example

{
  "availableTools": [{
    "name": "ignore",
    "yaml": "type: function
function:
  name: ignore
  parameters:
    type: object
    properties:
      transcription:
        type: string
        description: The transcription to ignore.
      ignore_reason:
        type: string
        description: The reason for ignoring the transcription.
    required:
    - transcription
    - ignore_reason
  description: Ignore the transcription
"
  }, {
    "name": "answer_question",
    "yaml": "type: function
function:
  name: answer_question
  parameters:
    type: object
    properties:
      text:
        type: string
        description: The text to speak
    required:
    - text
  description: Speaks the given text. Use this to respond to the user with spoken
    text.
"
  }],
  "directiveMode": false,
  "includeSystemPrompt": true,
  "includeToolsInMarkdown": false,
  "promptSettings": {
    "assistantId": "",
    "assistantThreadId": "",
    "codeSmellCorrection": false,
    "continueConversion": true,
    "decomposeDirectives": false,
    "editFormat": "FULL_TEXT",
    "editMode": false,
    "ephemeralSystemPrompt": true,
    "functionCalling": "NATIVE",
    "languageModel": "VOQAL_PRO",
    "promptFile": "/home/brandon/.voqal/library/voqal/voqal.md",
    "promptName": "voqal",
    "promptText": "",
    "promptUrl": "",
    "provider": "CUSTOM_FILE",
    "separateInitialUserMessage": true,
    "showPartialResults": false,
    "streamCompletions": true,
    "toolChoice": "NONE",
    "vectorStoreId": ""
  },
  "speechId": null,
  "usingAudioModality": false
}