@qingflow-tech/qingflow-cli 1.1.43-beta.1 → 1.1.43-beta.2

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.
Files changed (50) hide show
  1. package/README.md +4 -3
  2. package/package.json +1 -1
  3. package/pyproject.toml +1 -1
  4. package/skills/qingflow-app-form/SKILL.md +53 -0
  5. package/skills/qingflow-app-form/agents/openai.yaml +4 -0
  6. package/skills/qingflow-cli/SKILL.md +6 -6
  7. package/skills/qingflow-cli/manifest.yaml +1 -1
  8. package/skills/qingflow-cli/reference/QINGFLOW_CLI_BUILDER_APP_DELIVERY_WORKFLOW.md +4 -4
  9. package/skills/qingflow-cli/reference/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  10. package/skills/qingflow-cli/reference/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  11. package/skills/qingflow-cli/reference/QINGFLOW_CLI_SCHEMA_APPLY_FIELD_TYPES_AND_SCENARIOS.md +4 -4
  12. package/skills/qingflow-cli/reference/builder/10-build-single-app.md +5 -5
  13. package/skills/qingflow-cli/reference/builder/20-build-complete-system.md +14 -14
  14. package/skills/qingflow-cli/reference/builder/30-schema-fields.md +98 -101
  15. package/skills/qingflow-cli/reference/builder/40-layout.md +39 -31
  16. package/skills/qingflow-cli/reference/builder/README.md +9 -9
  17. package/skills/qingflow-cli/reference/builder/code-integrations/README.md +4 -2
  18. package/skills/qingflow-cli/reference/builder/code-integrations/code-block.md +2 -0
  19. package/skills/qingflow-cli/reference/builder/code-integrations/q-linker.md +2 -0
  20. package/skills/qingflow-cli/reference/builder/reference/app-delivery-sop.md +45 -38
  21. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  22. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  23. package/skills/qingflow-cli/reference/examples/README.md +3 -3
  24. package/skills/qingflow-mcp-setup/SKILL.md +1 -1
  25. package/src/qingflow_mcp/app_form_compat.py +6 -1
  26. package/src/qingflow_mcp/builder_facade/app_form.py +547 -18
  27. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +1321 -178
  28. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +268 -7
  29. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +115 -10
  30. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +304 -7
  31. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +23 -4
  32. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +23 -4
  33. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +23 -4
  34. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +23 -4
  35. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +145 -4
  36. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +69 -10
  37. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +69 -10
  38. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +69 -10
  39. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +360 -7
  40. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +71 -4
  41. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +115 -10
  42. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +78 -10
  43. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +23 -4
  44. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +249 -4
  45. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +71 -4
  46. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +71 -4
  47. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +1041 -20
  48. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +69 -10
  49. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +23 -0
  50. package/src/qingflow_mcp/response_trim.py +41 -1
@@ -1,21 +1,26 @@
1
1
  {
2
2
  "$defs": {
3
- "EmptyConfig": {
4
- "additionalProperties": false,
5
- "description": "该字段类型没有特殊配置。",
6
- "type": "object"
7
- },
8
3
  "FieldCommon": {
9
4
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
10
5
  "properties": {
11
- "dataCover": {
12
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
13
- "type": "boolean"
14
- },
15
6
  "dataTitle": {
16
7
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
17
8
  "type": "boolean"
18
9
  },
10
+ "defaultType": {
11
+ "default": 1,
12
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
13
+ "enum": [
14
+ 1,
15
+ 2,
16
+ 3
17
+ ],
18
+ "type": "integer"
19
+ },
20
+ "defaultValue": {
21
+ "$ref": "#/$defs/ScalarDefaultValue",
22
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
23
+ },
19
24
  "description": {
20
25
  "description": "字段说明;null 或空字符串表示清空。",
21
26
  "type": [
@@ -48,6 +53,69 @@
48
53
  "name"
49
54
  ],
50
55
  "type": "object"
56
+ },
57
+ "PhoneConfig": {
58
+ "additionalProperties": false,
59
+ "description": "电话字段的长度、重复和校验配置。",
60
+ "properties": {
61
+ "canScan": {
62
+ "type": [
63
+ "boolean",
64
+ "null"
65
+ ]
66
+ },
67
+ "fixedPhone": {
68
+ "description": "是否按固定电话格式校验。",
69
+ "type": [
70
+ "boolean",
71
+ "null"
72
+ ]
73
+ },
74
+ "maxWordCount": {
75
+ "minimum": 0,
76
+ "type": [
77
+ "integer",
78
+ "null"
79
+ ]
80
+ },
81
+ "minWordCount": {
82
+ "minimum": 0,
83
+ "type": [
84
+ "integer",
85
+ "null"
86
+ ]
87
+ },
88
+ "msgValidateStatus": {
89
+ "description": "是否启用短信校验。",
90
+ "type": [
91
+ "boolean",
92
+ "null"
93
+ ]
94
+ },
95
+ "noRepeat": {
96
+ "type": [
97
+ "boolean",
98
+ "null"
99
+ ]
100
+ },
101
+ "scanType": {
102
+ "minimum": 0,
103
+ "type": [
104
+ "integer",
105
+ "null"
106
+ ]
107
+ }
108
+ },
109
+ "type": "object"
110
+ },
111
+ "ScalarDefaultValue": {
112
+ "description": "不包含对象或数组的普通字段默认值。",
113
+ "type": [
114
+ "null",
115
+ "boolean",
116
+ "number",
117
+ "string"
118
+ ]
51
119
  }
52
120
  },
53
121
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/phone.json",
@@ -59,7 +127,7 @@
59
127
  {
60
128
  "properties": {
61
129
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
130
+ "$ref": "#/$defs/PhoneConfig"
63
131
  },
64
132
  "type": {
65
133
  "const": "phone"
@@ -3,14 +3,24 @@
3
3
  "FieldCommon": {
4
4
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
5
5
  "properties": {
6
- "dataCover": {
7
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
8
- "type": "boolean"
9
- },
10
6
  "dataTitle": {
11
7
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
12
8
  "type": "boolean"
13
9
  },
10
+ "defaultType": {
11
+ "default": 1,
12
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
13
+ "enum": [
14
+ 1,
15
+ 2,
16
+ 3
17
+ ],
18
+ "type": "integer"
19
+ },
20
+ "defaultValue": {
21
+ "$ref": "#/$defs/ScalarDefaultValue",
22
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
23
+ },
14
24
  "description": {
15
25
  "description": "字段说明;null 或空字符串表示清空。",
16
26
  "type": [
@@ -309,6 +319,15 @@
309
319
  "url"
310
320
  ],
311
321
  "type": "object"
322
+ },
323
+ "ScalarDefaultValue": {
324
+ "description": "不包含对象或数组的普通字段默认值。",
325
+ "type": [
326
+ "null",
327
+ "boolean",
328
+ "number",
329
+ "string"
330
+ ]
312
331
  }
313
332
  },
314
333
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/q_linker.json",
@@ -1,16 +1,206 @@
1
1
  {
2
2
  "$defs": {
3
+ "AnswerValue": {
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "dataValue": {
7
+ "type": [
8
+ "string",
9
+ "null"
10
+ ]
11
+ },
12
+ "email": {
13
+ "type": [
14
+ "string",
15
+ "null"
16
+ ]
17
+ },
18
+ "id": {
19
+ "type": [
20
+ "integer",
21
+ "null"
22
+ ]
23
+ },
24
+ "optionId": {
25
+ "type": [
26
+ "string",
27
+ "null"
28
+ ]
29
+ },
30
+ "ordinal": {
31
+ "type": [
32
+ "integer",
33
+ "null"
34
+ ]
35
+ },
36
+ "otherInfo": {
37
+ "type": [
38
+ "string",
39
+ "null"
40
+ ]
41
+ },
42
+ "pluginValue": {
43
+ "type": [
44
+ "string",
45
+ "null"
46
+ ]
47
+ },
48
+ "queId": {
49
+ "type": [
50
+ "integer",
51
+ "null"
52
+ ]
53
+ },
54
+ "value": {
55
+ "type": [
56
+ "string",
57
+ "null"
58
+ ]
59
+ },
60
+ "valueStr": {
61
+ "type": [
62
+ "string",
63
+ "null"
64
+ ]
65
+ }
66
+ },
67
+ "type": "object"
68
+ },
69
+ "DefaultValues": {
70
+ "additionalProperties": false,
71
+ "properties": {
72
+ "associatedQueType": {
73
+ "type": [
74
+ "integer",
75
+ "null"
76
+ ]
77
+ },
78
+ "beingCanDecrypted": {
79
+ "type": [
80
+ "boolean",
81
+ "null"
82
+ ]
83
+ },
84
+ "beingDesensitized": {
85
+ "type": [
86
+ "boolean",
87
+ "null"
88
+ ]
89
+ },
90
+ "canDecimal": {
91
+ "type": [
92
+ "boolean",
93
+ "null"
94
+ ]
95
+ },
96
+ "currencyStatus": {
97
+ "type": [
98
+ "boolean",
99
+ "null"
100
+ ]
101
+ },
102
+ "currencyType": {
103
+ "type": [
104
+ "integer",
105
+ "null"
106
+ ]
107
+ },
108
+ "dateType": {
109
+ "type": [
110
+ "integer",
111
+ "null"
112
+ ]
113
+ },
114
+ "decimalDigit": {
115
+ "type": [
116
+ "integer",
117
+ "null"
118
+ ]
119
+ },
120
+ "numberFormat": {
121
+ "type": [
122
+ "integer",
123
+ "null"
124
+ ]
125
+ },
126
+ "queId": {
127
+ "type": [
128
+ "integer",
129
+ "null"
130
+ ]
131
+ },
132
+ "queTitle": {
133
+ "type": [
134
+ "string",
135
+ "null"
136
+ ]
137
+ },
138
+ "queType": {
139
+ "type": [
140
+ "integer",
141
+ "null"
142
+ ]
143
+ },
144
+ "referValues": {
145
+ "items": {
146
+ "$ref": "#/$defs/ReferenceDefaultValue"
147
+ },
148
+ "type": "array"
149
+ },
150
+ "rowId": {
151
+ "type": [
152
+ "integer",
153
+ "null"
154
+ ]
155
+ },
156
+ "sourceValue": {
157
+ "type": [
158
+ "string",
159
+ "null"
160
+ ]
161
+ },
162
+ "tableValues": {
163
+ "items": {
164
+ "items": {
165
+ "$ref": "#/$defs/DefaultValues"
166
+ },
167
+ "type": "array"
168
+ },
169
+ "type": "array"
170
+ },
171
+ "values": {
172
+ "items": {
173
+ "$ref": "#/$defs/AnswerValue"
174
+ },
175
+ "type": "array"
176
+ }
177
+ },
178
+ "required": [
179
+ "values"
180
+ ],
181
+ "type": "object"
182
+ },
3
183
  "FieldCommon": {
4
184
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
5
185
  "properties": {
6
- "dataCover": {
7
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
8
- "type": "boolean"
9
- },
10
186
  "dataTitle": {
11
187
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
12
188
  "type": "boolean"
13
189
  },
190
+ "defaultType": {
191
+ "default": 1,
192
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
193
+ "enum": [
194
+ 1,
195
+ 2,
196
+ 3
197
+ ],
198
+ "type": "integer"
199
+ },
200
+ "defaultValue": {
201
+ "$ref": "#/$defs/ScalarDefaultValue",
202
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
203
+ },
14
204
  "description": {
15
205
  "description": "字段说明;null 或空字符串表示清空。",
16
206
  "type": [
@@ -73,10 +263,56 @@
73
263
  },
74
264
  "type": "object"
75
265
  },
266
+ "ReferenceDefaultValue": {
267
+ "additionalProperties": false,
268
+ "properties": {
269
+ "applyId": {
270
+ "type": [
271
+ "integer",
272
+ "null"
273
+ ]
274
+ },
275
+ "dataTitle": {
276
+ "type": [
277
+ "string",
278
+ "null"
279
+ ]
280
+ },
281
+ "values": {
282
+ "items": {
283
+ "$ref": "#/$defs/DefaultValues"
284
+ },
285
+ "type": "array"
286
+ }
287
+ },
288
+ "type": "object"
289
+ },
76
290
  "RelationConfig": {
77
291
  "additionalProperties": false,
78
292
  "description": "引用字段配置;引用其他应用中的数据。",
79
293
  "properties": {
294
+ "beingDefaultFormulaAutoFillEnabled": {
295
+ "type": [
296
+ "boolean",
297
+ "null"
298
+ ]
299
+ },
300
+ "defaultValueMatchRules": {
301
+ "type": [
302
+ "array",
303
+ "null"
304
+ ]
305
+ },
306
+ "defaultValues": {
307
+ "oneOf": [
308
+ {
309
+ "type": "null"
310
+ },
311
+ {
312
+ "$ref": "#/$defs/DefaultValues"
313
+ }
314
+ ]
315
+ },
80
316
  "displayField": {
81
317
  "$ref": "#/$defs/FieldSelector",
82
318
  "description": "引用值的主展示字段。"
@@ -108,6 +344,15 @@
108
344
  "displayField"
109
345
  ],
110
346
  "type": "object"
347
+ },
348
+ "ScalarDefaultValue": {
349
+ "description": "不包含对象或数组的普通字段默认值。",
350
+ "type": [
351
+ "null",
352
+ "boolean",
353
+ "number",
354
+ "string"
355
+ ]
111
356
  }
112
357
  },
113
358
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/relation.json",
@@ -4,6 +4,54 @@
4
4
  "additionalProperties": false,
5
5
  "description": "选择类字段配置。",
6
6
  "properties": {
7
+ "beingShowColor": {
8
+ "description": "是否展示选项颜色。",
9
+ "type": [
10
+ "boolean",
11
+ "null"
12
+ ]
13
+ },
14
+ "defaultOptions": {
15
+ "description": "选项默认选中状态;值必须来自 options,省略表示保留现有状态。",
16
+ "items": {
17
+ "minLength": 1,
18
+ "type": "string"
19
+ },
20
+ "type": "array",
21
+ "uniqueItems": true
22
+ },
23
+ "maxOpts": {
24
+ "description": "最多选择项数;null 表示不限制。",
25
+ "minimum": 0,
26
+ "type": [
27
+ "integer",
28
+ "null"
29
+ ]
30
+ },
31
+ "minOpts": {
32
+ "description": "最少选择项数;null 表示不限制。",
33
+ "minimum": 0,
34
+ "type": [
35
+ "integer",
36
+ "null"
37
+ ]
38
+ },
39
+ "optDirection": {
40
+ "description": "选项排列方向 ID。",
41
+ "minimum": 0,
42
+ "type": [
43
+ "integer",
44
+ "null"
45
+ ]
46
+ },
47
+ "optSelectMode": {
48
+ "description": "多项选择模式 ID。",
49
+ "minimum": 0,
50
+ "type": [
51
+ "integer",
52
+ "null"
53
+ ]
54
+ },
7
55
  "options": {
8
56
  "description": "非空有序选项文案;缺失选项表示从该字段配置中删除。",
9
57
  "items": {
@@ -23,14 +71,24 @@
23
71
  "FieldCommon": {
24
72
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
25
73
  "properties": {
26
- "dataCover": {
27
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
28
- "type": "boolean"
29
- },
30
74
  "dataTitle": {
31
75
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
32
76
  "type": "boolean"
33
77
  },
78
+ "defaultType": {
79
+ "default": 1,
80
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
81
+ "enum": [
82
+ 1,
83
+ 2,
84
+ 3
85
+ ],
86
+ "type": "integer"
87
+ },
88
+ "defaultValue": {
89
+ "$ref": "#/$defs/ScalarDefaultValue",
90
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
91
+ },
34
92
  "description": {
35
93
  "description": "字段说明;null 或空字符串表示清空。",
36
94
  "type": [
@@ -63,6 +121,15 @@
63
121
  "name"
64
122
  ],
65
123
  "type": "object"
124
+ },
125
+ "ScalarDefaultValue": {
126
+ "description": "不包含对象或数组的普通字段默认值。",
127
+ "type": [
128
+ "null",
129
+ "boolean",
130
+ "number",
131
+ "string"
132
+ ]
66
133
  }
67
134
  },
68
135
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/single_choice.json",
@@ -4,6 +4,54 @@
4
4
  "additionalProperties": false,
5
5
  "description": "选择类字段配置。",
6
6
  "properties": {
7
+ "beingShowColor": {
8
+ "description": "是否展示选项颜色。",
9
+ "type": [
10
+ "boolean",
11
+ "null"
12
+ ]
13
+ },
14
+ "defaultOptions": {
15
+ "description": "选项默认选中状态;值必须来自 options,省略表示保留现有状态。",
16
+ "items": {
17
+ "minLength": 1,
18
+ "type": "string"
19
+ },
20
+ "type": "array",
21
+ "uniqueItems": true
22
+ },
23
+ "maxOpts": {
24
+ "description": "最多选择项数;null 表示不限制。",
25
+ "minimum": 0,
26
+ "type": [
27
+ "integer",
28
+ "null"
29
+ ]
30
+ },
31
+ "minOpts": {
32
+ "description": "最少选择项数;null 表示不限制。",
33
+ "minimum": 0,
34
+ "type": [
35
+ "integer",
36
+ "null"
37
+ ]
38
+ },
39
+ "optDirection": {
40
+ "description": "选项排列方向 ID。",
41
+ "minimum": 0,
42
+ "type": [
43
+ "integer",
44
+ "null"
45
+ ]
46
+ },
47
+ "optSelectMode": {
48
+ "description": "多项选择模式 ID。",
49
+ "minimum": 0,
50
+ "type": [
51
+ "integer",
52
+ "null"
53
+ ]
54
+ },
7
55
  "options": {
8
56
  "description": "非空有序选项文案;缺失选项表示从该字段配置中删除。",
9
57
  "items": {
@@ -23,14 +71,24 @@
23
71
  "FieldCommon": {
24
72
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
25
73
  "properties": {
26
- "dataCover": {
27
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
28
- "type": "boolean"
29
- },
30
74
  "dataTitle": {
31
75
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
32
76
  "type": "boolean"
33
77
  },
78
+ "defaultType": {
79
+ "default": 1,
80
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
81
+ "enum": [
82
+ 1,
83
+ 2,
84
+ 3
85
+ ],
86
+ "type": "integer"
87
+ },
88
+ "defaultValue": {
89
+ "$ref": "#/$defs/ScalarDefaultValue",
90
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
91
+ },
34
92
  "description": {
35
93
  "description": "字段说明;null 或空字符串表示清空。",
36
94
  "type": [
@@ -63,6 +121,15 @@
63
121
  "name"
64
122
  ],
65
123
  "type": "object"
124
+ },
125
+ "ScalarDefaultValue": {
126
+ "description": "不包含对象或数组的普通字段默认值。",
127
+ "type": [
128
+ "null",
129
+ "boolean",
130
+ "number",
131
+ "string"
132
+ ]
66
133
  }
67
134
  },
68
135
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/single_select.json",