{
  "$schema": "http://json-schema.org/draft-07/schema#",	
  "$id": "https://raw.githubusercontent.com/qlik-oss/schemas/refs/heads/main/qtcp/task.settings.knowledgemart.schema.json",  
  "title": "Knowledge Mart Task Settings",
  "description": "Schema for Knowledge Mart task settings configuration",
  "type": "object",
  "additionalProperties": false,
  "required": ["artifactsLocation", "taskRuntime"],
  "properties": {
		"fullLoadOnly": {
      "$ref": "task.settings.common.schema.json#/definitions/fullLoadOnly-False"
    },
    "artifactsSettings": {
      "$ref": "task.settings.common.schema.json#/definitions/artifactsSettings-Standard"
    },
    "artifactsLocation": {
      "$ref": "task.settings.common.schema.json#/definitions/artifactsLocationWithDatabase"
    },
    "taskRuntime": {
      "type": "object",
      "description": "Task runtime configuration",
      "additionalProperties": false,
      "required": ["maxNumberOfRecords", "warehouseSelection"],
      "properties": {
        "bulkSize": {
          "type": "integer",
          "description": "Bulk size",
          "default": 100
        },
				"maxNumberOfRecords": {
          "type": "string",
          "description": "Max number of records"
        },
				"tableUpdateConcurrency": {
          "$ref": "task.settings.common.schema.json#/definitions/tableUpdateConcurrency"
        },
        "warehouseSelection": {
          "$ref": "task.settings.common.schema.json#/definitions/warehouseSelection"
        }
      }
    },
    "viewType": {
      "$ref": "task.settings.common.schema.json#/definitions/viewType"
    },
		"vectorDbTargetType": {
      "$ref": "task.settings.common.schema.json#/definitions/vectorDbTargetType"
    },
    "vectorDbConnection": {
      "$ref": "task.settings.common.schema.json#/definitions/vectorDbConnection"
    },
    "llmConnection": {
      "$ref": "task.settings.common.schema.json#/definitions/llmConnection"
    },
    "llmSettings": {
      "$ref": "task.settings.common.schema.json#/definitions/llmSettings"
    },
		"indexArtifactsLocation": {
      "$ref": "task.settings.common.schema.json#/definitions/indexArtifactsLocation"
    },
		"loadViewsSuffix": {
      "$ref": "task.settings.common.schema.json#/definitions/loadViewsSuffix"
    },
    "cdcViewsSuffix": {
      "$ref": "task.settings.common.schema.json#/definitions/cdcViewsSuffix"
    },
    "outputDirectory": {
      "$ref": "task.settings.common.schema.json#/definitions/outputDirectory"
    },
    "indexActionOnPrepare": {
      "$ref": "task.settings.common.schema.json#/definitions/indexActionOnPrepare-RECREATE"
    },
    "testAssistantSettings": {
      "$ref": "task.settings.common.schema.json#/definitions/testAssistantSettings"
    }
  }
}