JSON Schema

Test definition schema

JSON Schema for agentic workspace tests and their trends checks.

Source included with this website build. Run ansight workspace init . for files matching your installed CLI. Read the guide.

ansight/schema/test-definition.v1.schema.json 2,095 bytes
Raw file Download
SHA-256 0f0e6dc536ca52cf1dde11c5c012aa8bea828f41c168df53f9715af6b6195119
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://ansight.dev/schema/test-definition.v1.schema.json",
  "title": "Ansight workspace test",
  "type": "object",
  "additionalProperties": false,
  "required": ["appId", "prompt", "validation"],
  "properties": {
    "schemaVersion": { "const": 1 },
    "enabled": {
      "description": "Whether this test may be executed. Defaults to true.",
      "type": "boolean",
      "default": true
    },
    "id": { "type": "string", "minLength": 1 },
    "name": { "type": "string", "minLength": 1 },
    "appId": { "type": "string", "minLength": 1 },
    "platforms": {
      "description": "Platforms on which this test may run. Omit to allow every supported platform.",
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": { "enum": ["ios", "android"] }
    },
    "deviceKinds": {
      "description": "Device kinds on which this test may run. Omit to allow physical and virtual targets.",
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": { "enum": ["virtual", "physical"] }
    },
    "prompt": { "type": "string", "minLength": 1 },
    "validation": {
      "oneOf": [
        { "type": "string", "minLength": 1 },
        {
          "type": "object",
          "additionalProperties": false,
          "anyOf": [
            { "required": ["prompt"], "properties": { "prompt": { "minLength": 1 } } },
            { "required": ["assertions"], "properties": { "assertions": { "minItems": 1 } } }
          ],
          "properties": {
            "prompt": { "type": "string" },
            "assertions": {
              "type": "array",
              "items": { "type": "string", "minLength": 1 }
            }
          }
        }
      ]
    },
    "requiredSecrets": {
      "description": "Aliases resolved from the app-scoped secret store first, then from environment variables with the exact same names.",
      "type": "array",
      "uniqueItems": true,
      "items": { "type": "string", "minLength": 1, "maxLength": 128 }
    }
  }
}