• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}