@qingflow-tech/qingflow-cli 1.1.42 → 1.1.43-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/package.json +2 -1
- package/pyproject.toml +3 -2
- package/src/qingflow_mcp/app_form_compat.py +115 -0
- package/src/qingflow_mcp/app_form_validator.py +199 -0
- package/src/qingflow_mcp/builder_facade/app_form.py +2836 -0
- package/src/qingflow_mcp/builder_facade/app_form_schema.py +269 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/manifest.json +37 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +1766 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +223 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +538 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +149 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +92 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +338 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +137 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +92 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +92 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +810 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +76 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +713 -0
- package/src/qingflow_mcp/builder_facade/service.py +5 -2
- package/src/qingflow_mcp/cli/commands/builder.py +91 -28
- package/src/qingflow_mcp/cli/json_io.py +21 -2
- package/src/qingflow_mcp/cli/main.py +3 -39
- package/src/qingflow_mcp/cloud_oauth_proxy.py +96 -3
- package/src/qingflow_mcp/public_surface.py +5 -2
- package/src/qingflow_mcp/response_trim.py +8 -0
- package/src/qingflow_mcp/server_app_builder.py +38 -86
- package/src/qingflow_mcp/server_cloud.py +66 -1
- package/src/qingflow_mcp/tools/ai_builder_tools.py +93 -100
- package/src/qingflow_mcp/tools/app_tools.py +46 -65
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"EmptyConfig": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "该字段类型没有特殊配置。",
|
|
6
|
+
"type": "object"
|
|
7
|
+
},
|
|
8
|
+
"FieldCommon": {
|
|
9
|
+
"description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
|
|
10
|
+
"properties": {
|
|
11
|
+
"dataCover": {
|
|
12
|
+
"description": "是否作为数据封面;仅顶层附件字段可设为 true。",
|
|
13
|
+
"type": "boolean"
|
|
14
|
+
},
|
|
15
|
+
"dataTitle": {
|
|
16
|
+
"description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
|
|
17
|
+
"type": "boolean"
|
|
18
|
+
},
|
|
19
|
+
"description": {
|
|
20
|
+
"description": "字段说明;null 或空字符串表示清空。",
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"name": {
|
|
27
|
+
"description": "字段展示名称;同一父级内唯一,不单独作为字段身份。",
|
|
28
|
+
"minLength": 1,
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"queId": {
|
|
32
|
+
"description": "已有字段的后端 ID;get 返回,新增字段省略。",
|
|
33
|
+
"minimum": 1,
|
|
34
|
+
"type": "integer"
|
|
35
|
+
},
|
|
36
|
+
"required": {
|
|
37
|
+
"description": "是否必填;缺失时保留已有字段当前值。",
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"width": {
|
|
41
|
+
"description": "字段在所在行的宽度百分比;同一行要么全部提供且合计 100,要么全部省略。",
|
|
42
|
+
"maximum": 100,
|
|
43
|
+
"minimum": 1,
|
|
44
|
+
"type": "integer"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"name"
|
|
49
|
+
],
|
|
50
|
+
"type": "object"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/address.json",
|
|
54
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
55
|
+
"allOf": [
|
|
56
|
+
{
|
|
57
|
+
"$ref": "#/$defs/FieldCommon"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"properties": {
|
|
61
|
+
"config": {
|
|
62
|
+
"$ref": "#/$defs/EmptyConfig"
|
|
63
|
+
},
|
|
64
|
+
"type": {
|
|
65
|
+
"const": "address"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"type"
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"title": "Qingflow AppForm v1alpha1 address field",
|
|
74
|
+
"type": "object",
|
|
75
|
+
"unevaluatedProperties": false
|
|
76
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"EmptyConfig": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "该字段类型没有特殊配置。",
|
|
6
|
+
"type": "object"
|
|
7
|
+
},
|
|
8
|
+
"FieldCommon": {
|
|
9
|
+
"description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
|
|
10
|
+
"properties": {
|
|
11
|
+
"dataCover": {
|
|
12
|
+
"description": "是否作为数据封面;仅顶层附件字段可设为 true。",
|
|
13
|
+
"type": "boolean"
|
|
14
|
+
},
|
|
15
|
+
"dataTitle": {
|
|
16
|
+
"description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
|
|
17
|
+
"type": "boolean"
|
|
18
|
+
},
|
|
19
|
+
"description": {
|
|
20
|
+
"description": "字段说明;null 或空字符串表示清空。",
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"name": {
|
|
27
|
+
"description": "字段展示名称;同一父级内唯一,不单独作为字段身份。",
|
|
28
|
+
"minLength": 1,
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"queId": {
|
|
32
|
+
"description": "已有字段的后端 ID;get 返回,新增字段省略。",
|
|
33
|
+
"minimum": 1,
|
|
34
|
+
"type": "integer"
|
|
35
|
+
},
|
|
36
|
+
"required": {
|
|
37
|
+
"description": "是否必填;缺失时保留已有字段当前值。",
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"width": {
|
|
41
|
+
"description": "字段在所在行的宽度百分比;同一行要么全部提供且合计 100,要么全部省略。",
|
|
42
|
+
"maximum": 100,
|
|
43
|
+
"minimum": 1,
|
|
44
|
+
"type": "integer"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"name"
|
|
49
|
+
],
|
|
50
|
+
"type": "object"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/amount.json",
|
|
54
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
55
|
+
"allOf": [
|
|
56
|
+
{
|
|
57
|
+
"$ref": "#/$defs/FieldCommon"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"properties": {
|
|
61
|
+
"config": {
|
|
62
|
+
"$ref": "#/$defs/EmptyConfig"
|
|
63
|
+
},
|
|
64
|
+
"type": {
|
|
65
|
+
"const": "amount"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"type"
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"title": "Qingflow AppForm v1alpha1 amount field",
|
|
74
|
+
"type": "object",
|
|
75
|
+
"unevaluatedProperties": false
|
|
76
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"EmptyConfig": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "该字段类型没有特殊配置。",
|
|
6
|
+
"type": "object"
|
|
7
|
+
},
|
|
8
|
+
"FieldCommon": {
|
|
9
|
+
"description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
|
|
10
|
+
"properties": {
|
|
11
|
+
"dataCover": {
|
|
12
|
+
"description": "是否作为数据封面;仅顶层附件字段可设为 true。",
|
|
13
|
+
"type": "boolean"
|
|
14
|
+
},
|
|
15
|
+
"dataTitle": {
|
|
16
|
+
"description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
|
|
17
|
+
"type": "boolean"
|
|
18
|
+
},
|
|
19
|
+
"description": {
|
|
20
|
+
"description": "字段说明;null 或空字符串表示清空。",
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"name": {
|
|
27
|
+
"description": "字段展示名称;同一父级内唯一,不单独作为字段身份。",
|
|
28
|
+
"minLength": 1,
|
|
29
|
+
"type": "string"
|
|
30
|
+
},
|
|
31
|
+
"queId": {
|
|
32
|
+
"description": "已有字段的后端 ID;get 返回,新增字段省略。",
|
|
33
|
+
"minimum": 1,
|
|
34
|
+
"type": "integer"
|
|
35
|
+
},
|
|
36
|
+
"required": {
|
|
37
|
+
"description": "是否必填;缺失时保留已有字段当前值。",
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
40
|
+
"width": {
|
|
41
|
+
"description": "字段在所在行的宽度百分比;同一行要么全部提供且合计 100,要么全部省略。",
|
|
42
|
+
"maximum": 100,
|
|
43
|
+
"minimum": 1,
|
|
44
|
+
"type": "integer"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"name"
|
|
49
|
+
],
|
|
50
|
+
"type": "object"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/attachment.json",
|
|
54
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
55
|
+
"allOf": [
|
|
56
|
+
{
|
|
57
|
+
"$ref": "#/$defs/FieldCommon"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"properties": {
|
|
61
|
+
"config": {
|
|
62
|
+
"$ref": "#/$defs/EmptyConfig"
|
|
63
|
+
},
|
|
64
|
+
"type": {
|
|
65
|
+
"const": "attachment"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"type"
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"title": "Qingflow AppForm v1alpha1 attachment field",
|
|
74
|
+
"type": "object",
|
|
75
|
+
"unevaluatedProperties": false
|
|
76
|
+
}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$defs": {
|
|
3
|
+
"CodeBlockBinding": {
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"description": "代码块的输入、代码和输出映射。",
|
|
6
|
+
"properties": {
|
|
7
|
+
"autoTrigger": {
|
|
8
|
+
"description": "是否在输入变化时自动执行代码块。",
|
|
9
|
+
"type": [
|
|
10
|
+
"boolean",
|
|
11
|
+
"null"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"code": {
|
|
15
|
+
"description": "代码块源码;MCP/CLI 仅保存,不执行。",
|
|
16
|
+
"minLength": 1,
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"customButtonText": {
|
|
20
|
+
"description": "自定义触发按钮文案。",
|
|
21
|
+
"type": [
|
|
22
|
+
"string",
|
|
23
|
+
"null"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"customButtonTextEnabled": {
|
|
27
|
+
"description": "是否启用自定义触发按钮文案。",
|
|
28
|
+
"type": [
|
|
29
|
+
"boolean",
|
|
30
|
+
"null"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"hideOnForm": {
|
|
34
|
+
"description": "是否在表单填写界面隐藏该代码块字段。",
|
|
35
|
+
"type": [
|
|
36
|
+
"boolean",
|
|
37
|
+
"null"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"inputs": {
|
|
41
|
+
"description": "当前表单字段到代码变量的映射。",
|
|
42
|
+
"items": {
|
|
43
|
+
"$ref": "#/$defs/CodeBlockInputBinding"
|
|
44
|
+
},
|
|
45
|
+
"type": "array"
|
|
46
|
+
},
|
|
47
|
+
"outputs": {
|
|
48
|
+
"description": "代码输出路径到目标字段的映射。",
|
|
49
|
+
"items": {
|
|
50
|
+
"$ref": "#/$defs/CodeBlockOutputBinding"
|
|
51
|
+
},
|
|
52
|
+
"type": "array"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"required": [
|
|
56
|
+
"code"
|
|
57
|
+
],
|
|
58
|
+
"type": "object"
|
|
59
|
+
},
|
|
60
|
+
"CodeBlockConfig": {
|
|
61
|
+
"additionalProperties": false,
|
|
62
|
+
"description": "代码块的高层声明;无法无损还原为该结构时阻断处理。",
|
|
63
|
+
"properties": {
|
|
64
|
+
"codeBlockBinding": {
|
|
65
|
+
"$ref": "#/$defs/CodeBlockBinding"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"codeBlockBinding"
|
|
70
|
+
],
|
|
71
|
+
"type": "object"
|
|
72
|
+
},
|
|
73
|
+
"CodeBlockInputBinding": {
|
|
74
|
+
"additionalProperties": false,
|
|
75
|
+
"description": "一个表单字段到代码变量的映射。",
|
|
76
|
+
"properties": {
|
|
77
|
+
"field": {
|
|
78
|
+
"$ref": "#/$defs/FieldSelector",
|
|
79
|
+
"description": "输入来源字段。"
|
|
80
|
+
},
|
|
81
|
+
"var": {
|
|
82
|
+
"description": "代码中的变量名;null 表示沿用后端默认变量名。",
|
|
83
|
+
"type": [
|
|
84
|
+
"string",
|
|
85
|
+
"null"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"required": [
|
|
90
|
+
"field"
|
|
91
|
+
],
|
|
92
|
+
"type": "object"
|
|
93
|
+
},
|
|
94
|
+
"CodeBlockOutputBinding": {
|
|
95
|
+
"additionalProperties": false,
|
|
96
|
+
"description": "一个代码输出值到表单字段的映射。",
|
|
97
|
+
"properties": {
|
|
98
|
+
"alias": {
|
|
99
|
+
"description": "输出别名;用于后续数据关联引用。",
|
|
100
|
+
"minLength": 1,
|
|
101
|
+
"type": "string"
|
|
102
|
+
},
|
|
103
|
+
"aliasId": {
|
|
104
|
+
"description": "后端生成的输出别名 ID;新增输出时可省略,get 返回后必须保留。",
|
|
105
|
+
"minimum": 1,
|
|
106
|
+
"type": "integer"
|
|
107
|
+
},
|
|
108
|
+
"path": {
|
|
109
|
+
"description": "从 qf_output 中取值的 JSONPath。",
|
|
110
|
+
"minLength": 1,
|
|
111
|
+
"type": "string"
|
|
112
|
+
},
|
|
113
|
+
"targetField": {
|
|
114
|
+
"$ref": "#/$defs/FieldSelector",
|
|
115
|
+
"description": "接收结果的当前表单字段。"
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"required": [
|
|
119
|
+
"alias",
|
|
120
|
+
"path",
|
|
121
|
+
"targetField"
|
|
122
|
+
],
|
|
123
|
+
"type": "object"
|
|
124
|
+
},
|
|
125
|
+
"FieldCommon": {
|
|
126
|
+
"description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
|
|
127
|
+
"properties": {
|
|
128
|
+
"dataCover": {
|
|
129
|
+
"description": "是否作为数据封面;仅顶层附件字段可设为 true。",
|
|
130
|
+
"type": "boolean"
|
|
131
|
+
},
|
|
132
|
+
"dataTitle": {
|
|
133
|
+
"description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
|
|
134
|
+
"type": "boolean"
|
|
135
|
+
},
|
|
136
|
+
"description": {
|
|
137
|
+
"description": "字段说明;null 或空字符串表示清空。",
|
|
138
|
+
"type": [
|
|
139
|
+
"string",
|
|
140
|
+
"null"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"name": {
|
|
144
|
+
"description": "字段展示名称;同一父级内唯一,不单独作为字段身份。",
|
|
145
|
+
"minLength": 1,
|
|
146
|
+
"type": "string"
|
|
147
|
+
},
|
|
148
|
+
"queId": {
|
|
149
|
+
"description": "已有字段的后端 ID;get 返回,新增字段省略。",
|
|
150
|
+
"minimum": 1,
|
|
151
|
+
"type": "integer"
|
|
152
|
+
},
|
|
153
|
+
"required": {
|
|
154
|
+
"description": "是否必填;缺失时保留已有字段当前值。",
|
|
155
|
+
"type": "boolean"
|
|
156
|
+
},
|
|
157
|
+
"width": {
|
|
158
|
+
"description": "字段在所在行的宽度百分比;同一行要么全部提供且合计 100,要么全部省略。",
|
|
159
|
+
"maximum": 100,
|
|
160
|
+
"minimum": 1,
|
|
161
|
+
"type": "integer"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"required": [
|
|
165
|
+
"name"
|
|
166
|
+
],
|
|
167
|
+
"type": "object"
|
|
168
|
+
},
|
|
169
|
+
"FieldSelector": {
|
|
170
|
+
"additionalProperties": false,
|
|
171
|
+
"anyOf": [
|
|
172
|
+
{
|
|
173
|
+
"required": [
|
|
174
|
+
"queId"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"required": [
|
|
179
|
+
"name"
|
|
180
|
+
]
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"description": "跨字段引用选择器;至少提供 queId 或 name,两者同时提供时必须指向同一字段。",
|
|
184
|
+
"properties": {
|
|
185
|
+
"name": {
|
|
186
|
+
"description": "字段名称;仅在当前作用域内唯一时可用于解析。",
|
|
187
|
+
"minLength": 1,
|
|
188
|
+
"type": "string"
|
|
189
|
+
},
|
|
190
|
+
"queId": {
|
|
191
|
+
"description": "已有字段的后端 ID;优先用于精确解析。",
|
|
192
|
+
"minimum": 1,
|
|
193
|
+
"type": "integer"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"type": "object"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/code_block.json",
|
|
200
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
201
|
+
"allOf": [
|
|
202
|
+
{
|
|
203
|
+
"$ref": "#/$defs/FieldCommon"
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"properties": {
|
|
207
|
+
"config": {
|
|
208
|
+
"$ref": "#/$defs/CodeBlockConfig"
|
|
209
|
+
},
|
|
210
|
+
"type": {
|
|
211
|
+
"const": "code_block"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"required": [
|
|
215
|
+
"type",
|
|
216
|
+
"config"
|
|
217
|
+
]
|
|
218
|
+
}
|
|
219
|
+
],
|
|
220
|
+
"title": "Qingflow AppForm v1alpha1 code_block field",
|
|
221
|
+
"type": "object",
|
|
222
|
+
"unevaluatedProperties": false
|
|
223
|
+
}
|