1{ 2 "title": "JSON schema for insight_intent.json", 3 "$schema": "http://json-schema.org/draft-07/schema#", 4 "type": "object", 5 "additionalProperties": false, 6 "required": [ 7 "insightIntents" 8 ], 9 "propertyNames": { 10 "enum": [ 11 "insightIntents" 12 ] 13 }, 14 "properties": { 15 "insightIntents": { 16 "description": "Indicates the configuration of insightIntents.", 17 "type": "array", 18 "minItems": 1, 19 "maxItems": 128, 20 "uniqueItems": true, 21 "items": { 22 "type": "object", 23 "propertyNames": { 24 "enum": [ 25 "intentName", 26 "domain", 27 "intentVersion", 28 "srcEntry", 29 "uiAbility", 30 "serviceExtension", 31 "uiExtension", 32 "form", 33 "displayName", 34 "displayDescription", 35 "icon", 36 "keywords", 37 "inputParams", 38 "outputParams", 39 "entities" 40 ] 41 }, 42 "required": [ 43 "intentName", 44 "domain", 45 "intentVersion", 46 "srcEntry" 47 ], 48 "properties": { 49 "intentName": { 50 "description": "Indicates the name of insightIntent.It's also the intent interface to implement.", 51 "type": "string", 52 "pattern": "^[A-Z][a-zA-Z0-9]+$" 53 }, 54 "domain": { 55 "description": "Indicates the domain of insightIntent.", 56 "type": "string" 57 }, 58 "intentVersion": { 59 "description": "Indicates the version of insightIntent.", 60 "type": "string", 61 "pattern": "^(\\d+\\.){2}\\d+$" 62 }, 63 "srcEntry": { 64 "description": "Indicates the js code path corresponding to the ability.", 65 "type": "string", 66 "maxLength": 127 67 }, 68 "uiAbility": { 69 "type": "object", 70 "propertyNames": { 71 "enum": [ 72 "ability", 73 "executeMode" 74 ] 75 }, 76 "required": [ 77 "ability", 78 "executeMode" 79 ], 80 "properties": { 81 "ability": { 82 "description": "Indicates the name of the ability.", 83 "type": "string", 84 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 85 "maxLength": 127 86 }, 87 "executeMode": { 88 "type": "array", 89 "items": { 90 "type": "string", 91 "enum": [ 92 "background", 93 "foreground" 94 ] 95 } 96 } 97 } 98 }, 99 "serviceExtension": { 100 "type": "object", 101 "propertyNames": { 102 "enum": [ 103 "ability" 104 ] 105 }, 106 "required": [ 107 "ability" 108 ], 109 "properties": { 110 "ability": { 111 "description": "Indicates the name of the ability.", 112 "type": "string", 113 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 114 "maxLength": 127 115 } 116 } 117 }, 118 "uiExtension": { 119 "type": "object", 120 "propertyNames": { 121 "enum": [ 122 "ability" 123 ] 124 }, 125 "required": [ 126 "ability" 127 ], 128 "properties": { 129 "ability": { 130 "description": "Indicates the name of the ability.", 131 "type": "string", 132 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 133 "maxLength": 127 134 } 135 } 136 }, 137 "form": { 138 "type": "object", 139 "propertyNames": { 140 "enum": [ 141 "ability", 142 "formName" 143 ] 144 }, 145 "required": [ 146 "ability", 147 "formName" 148 ], 149 "properties": { 150 "ability": { 151 "description": "Indicates the name of the ability.", 152 "type": "string", 153 "pattern": "^[a-zA-Z][0-9a-zA-Z_.]+$", 154 "maxLength": 127 155 }, 156 "formName": { 157 "description": "Indicates the name of the form class. The tag value is a string of up to 127 bytes. The tag cannot be default.", 158 "type": "string", 159 "maxLength": 127 160 } 161 } 162 }, 163 "displayName": { 164 "description": "Indicates the display name of insightIntent.", 165 "type": "string" 166 }, 167 "displayDescription": { 168 "description": "Indicates the display description of insightIntent.", 169 "type": "string" 170 }, 171 "icon": { 172 "description": "Indicates the display icon of insightIntent.", 173 "type": "string" 174 }, 175 "keywords": { 176 "description": "Indicates the keywords of insightIntent.", 177 "type": "array", 178 "items": { 179 "type": "string" 180 } 181 }, 182 "inputParams": { 183 "description": "Indicates the input params of insightIntent.", 184 "type": "array", 185 "items": { 186 "type": "object" 187 } 188 }, 189 "outputParams": { 190 "description": "Indicates the output params of insightIntent.", 191 "type": "array", 192 "items": { 193 "type": "object" 194 } 195 }, 196 "entities": { 197 "description": "Indicates the entities of insightIntent.", 198 "type": "object" 199 } 200 } 201 } 202 } 203 } 204}