{ "title": "JSON schema for insight_intent.json", "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "additionalProperties": false, "required": [ "insightIntents" ], "propertyNames": { "enum": [ "insightIntents" ] }, "properties": { "insightIntents": { "description": "Indicates the configuration of insightIntents.", "type": "array", "minItems": 1, "maxItems": 32, "uniqueItems": true, "items": { "type": "object", "propertyNames": { "enum": [ "intentName", "domain", "intentVersion", "srcEntry", "uiAbility", "serviceExtension", "uiExtension", "form" ] }, "required": [ "intentName", "domain", "intentVersion", "srcEntry" ], "properties": { "intentName": { "description": "Indicates the name of insightIntent.It's also the intent interface to implement.", "type": "string", "pattern": "^[A-Z][a-zA-Z0-9]+$" }, "domain": { "description": "Indicates the domain of insightIntent.", "type": "string" }, "intentVersion": { "description": "Indicates the version of insightIntent.", "type": "string", "pattern": "^(\\d+\\.){2}\\d+$" }, "srcEntry": { "description": "Indicates the js code path corresponding to the ability.", "type": "string", "maxLength": 127 }, "uiAbility": { "type": "object", "propertyNames": { "enum": [ "ability", "executeMode" ] }, "required": [ "ability", "executeMode" ], "properties": { "ability": { "description": "Indicates the name of the ability.", "type": "string", "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", "maxLength": 127 }, "executeMode": { "type": "array", "items": { "type":"string", "enum": [ "background", "foreground" ] } } } }, "serviceExtension": { "type": "object", "propertyNames": { "enum": [ "ability" ] }, "required": [ "ability" ], "properties": { "ability": { "description": "Indicates the name of the ability.", "type": "string", "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", "maxLength": 127 } } }, "uiExtension": { "type": "object", "propertyNames": { "enum": [ "ability" ] }, "required": [ "ability" ], "properties": { "ability": { "description": "Indicates the name of the ability.", "type": "string", "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", "maxLength": 127 } } }, "form": { "type": "object", "propertyNames": { "enum": [ "ability", "formName" ] }, "required": [ "ability", "formName" ], "properties": { "ability": { "description": "Indicates the name of the ability.", "type": "string", "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", "maxLength": 127 }, "formName": { "description": "Indicates the name of the form class. The tag value is a string of up to 127 bytes. The tag cannot be default.", "type": "string", "maxLength": 127 } } } } } } } }