script/win/modulecheck/insightIntent.json
2025-01-21 14:32:39 +08:00

160 lines
4.3 KiB
JSON

{
"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
}
}
}
}
}
}
}
}