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

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 (66) hide show
  1. package/README.md +12 -5
  2. package/entry_point.py +1 -1
  3. package/npm/bin/qingflow.mjs +1 -2
  4. package/npm/lib/runtime.mjs +3 -7
  5. package/package.json +1 -2
  6. package/pyproject.toml +1 -3
  7. package/skills/qingflow-app-form/SKILL.md +63 -0
  8. package/skills/qingflow-app-form/agents/openai.yaml +4 -0
  9. package/skills/qingflow-cli/SKILL.md +8 -6
  10. package/skills/qingflow-cli/manifest.yaml +1 -1
  11. package/skills/qingflow-cli/reference/QINGFLOW_CLI_BUILDER_APP_DELIVERY_WORKFLOW.md +4 -4
  12. package/skills/qingflow-cli/reference/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  13. package/skills/qingflow-cli/reference/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  14. package/skills/qingflow-cli/reference/QINGFLOW_CLI_SCHEMA_APPLY_FIELD_TYPES_AND_SCENARIOS.md +4 -4
  15. package/skills/qingflow-cli/reference/builder/10-build-single-app.md +5 -5
  16. package/skills/qingflow-cli/reference/builder/20-build-complete-system.md +14 -14
  17. package/skills/qingflow-cli/reference/builder/30-schema-fields.md +98 -101
  18. package/skills/qingflow-cli/reference/builder/40-layout.md +39 -31
  19. package/skills/qingflow-cli/reference/builder/README.md +9 -9
  20. package/skills/qingflow-cli/reference/builder/code-integrations/README.md +4 -2
  21. package/skills/qingflow-cli/reference/builder/code-integrations/code-block.md +2 -0
  22. package/skills/qingflow-cli/reference/builder/code-integrations/q-linker.md +2 -0
  23. package/skills/qingflow-cli/reference/builder/reference/app-delivery-sop.md +45 -38
  24. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_EXPLORATION_REPORT.md +1 -1
  25. package/skills/qingflow-cli/reference/core/QINGFLOW_CLI_FIELD_DATA_TYPES.md +1 -1
  26. package/skills/qingflow-cli/reference/examples/README.md +3 -3
  27. package/skills/qingflow-common/SKILL.md +47 -0
  28. package/skills/qingflow-common/agents/openai.yaml +4 -0
  29. package/src/qingflow_mcp/__main__.py +2 -3
  30. package/src/qingflow_mcp/app_form_compat.py +6 -1
  31. package/src/qingflow_mcp/builder_facade/app_form.py +547 -18
  32. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +1321 -178
  33. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +268 -7
  34. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +115 -10
  35. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +304 -7
  36. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +23 -4
  37. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +23 -4
  38. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +23 -4
  39. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +23 -4
  40. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +145 -4
  41. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +69 -10
  42. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +69 -10
  43. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +69 -10
  44. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +360 -7
  45. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +71 -4
  46. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +115 -10
  47. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +78 -10
  48. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +23 -4
  49. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +249 -4
  50. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +71 -4
  51. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +71 -4
  52. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +1041 -20
  53. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +69 -10
  54. package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +23 -0
  55. package/src/qingflow_mcp/response_trim.py +41 -1
  56. package/src/qingflow_mcp/server.py +24 -3
  57. package/src/qingflow_mcp/server_app_builder.py +1 -1
  58. package/src/qingflow_mcp/tools/record_tools.py +3 -3
  59. package/src/qingflow_mcp/version.py +2 -4
  60. package/docs/local-agent-install.md +0 -370
  61. package/skills/qingflow-mcp-setup/SKILL.md +0 -115
  62. package/skills/qingflow-mcp-setup/agents/openai.yaml +0 -4
  63. package/skills/qingflow-mcp-setup/references/claude-desktop.md +0 -34
  64. package/skills/qingflow-mcp-setup/references/environments.md +0 -62
  65. package/skills/qingflow-mcp-setup/references/generic-stdio.md +0 -32
  66. package/skills/qingflow-mcp-setup/scripts/check_local_server.sh +0 -38
@@ -1,21 +1,249 @@
1
1
  {
2
2
  "$defs": {
3
- "EmptyConfig": {
3
+ "AddressConfig": {
4
4
  "additionalProperties": false,
5
- "description": "该字段类型没有特殊配置。",
5
+ "description": "地址精度、定位和扫码配置;defaultValues 使用 AnswerDetail 结构。",
6
+ "properties": {
7
+ "addressPrecision": {
8
+ "minimum": 0,
9
+ "type": [
10
+ "integer",
11
+ "null"
12
+ ]
13
+ },
14
+ "canScan": {
15
+ "type": [
16
+ "boolean",
17
+ "null"
18
+ ]
19
+ },
20
+ "defaultValues": {
21
+ "oneOf": [
22
+ {
23
+ "type": "null"
24
+ },
25
+ {
26
+ "$ref": "#/$defs/DefaultValues"
27
+ }
28
+ ]
29
+ },
30
+ "pickPosition": {
31
+ "type": [
32
+ "boolean",
33
+ "null"
34
+ ]
35
+ },
36
+ "scanType": {
37
+ "minimum": 0,
38
+ "type": [
39
+ "integer",
40
+ "null"
41
+ ]
42
+ }
43
+ },
44
+ "type": "object"
45
+ },
46
+ "AnswerValue": {
47
+ "additionalProperties": false,
48
+ "properties": {
49
+ "dataValue": {
50
+ "type": [
51
+ "string",
52
+ "null"
53
+ ]
54
+ },
55
+ "email": {
56
+ "type": [
57
+ "string",
58
+ "null"
59
+ ]
60
+ },
61
+ "id": {
62
+ "type": [
63
+ "integer",
64
+ "null"
65
+ ]
66
+ },
67
+ "optionId": {
68
+ "type": [
69
+ "string",
70
+ "null"
71
+ ]
72
+ },
73
+ "ordinal": {
74
+ "type": [
75
+ "integer",
76
+ "null"
77
+ ]
78
+ },
79
+ "otherInfo": {
80
+ "type": [
81
+ "string",
82
+ "null"
83
+ ]
84
+ },
85
+ "pluginValue": {
86
+ "type": [
87
+ "string",
88
+ "null"
89
+ ]
90
+ },
91
+ "queId": {
92
+ "type": [
93
+ "integer",
94
+ "null"
95
+ ]
96
+ },
97
+ "value": {
98
+ "type": [
99
+ "string",
100
+ "null"
101
+ ]
102
+ },
103
+ "valueStr": {
104
+ "type": [
105
+ "string",
106
+ "null"
107
+ ]
108
+ }
109
+ },
110
+ "type": "object"
111
+ },
112
+ "DefaultValues": {
113
+ "additionalProperties": false,
114
+ "properties": {
115
+ "associatedQueType": {
116
+ "type": [
117
+ "integer",
118
+ "null"
119
+ ]
120
+ },
121
+ "beingCanDecrypted": {
122
+ "type": [
123
+ "boolean",
124
+ "null"
125
+ ]
126
+ },
127
+ "beingDesensitized": {
128
+ "type": [
129
+ "boolean",
130
+ "null"
131
+ ]
132
+ },
133
+ "canDecimal": {
134
+ "type": [
135
+ "boolean",
136
+ "null"
137
+ ]
138
+ },
139
+ "currencyStatus": {
140
+ "type": [
141
+ "boolean",
142
+ "null"
143
+ ]
144
+ },
145
+ "currencyType": {
146
+ "type": [
147
+ "integer",
148
+ "null"
149
+ ]
150
+ },
151
+ "dateType": {
152
+ "type": [
153
+ "integer",
154
+ "null"
155
+ ]
156
+ },
157
+ "decimalDigit": {
158
+ "type": [
159
+ "integer",
160
+ "null"
161
+ ]
162
+ },
163
+ "numberFormat": {
164
+ "type": [
165
+ "integer",
166
+ "null"
167
+ ]
168
+ },
169
+ "queId": {
170
+ "type": [
171
+ "integer",
172
+ "null"
173
+ ]
174
+ },
175
+ "queTitle": {
176
+ "type": [
177
+ "string",
178
+ "null"
179
+ ]
180
+ },
181
+ "queType": {
182
+ "type": [
183
+ "integer",
184
+ "null"
185
+ ]
186
+ },
187
+ "referValues": {
188
+ "items": {
189
+ "$ref": "#/$defs/ReferenceDefaultValue"
190
+ },
191
+ "type": "array"
192
+ },
193
+ "rowId": {
194
+ "type": [
195
+ "integer",
196
+ "null"
197
+ ]
198
+ },
199
+ "sourceValue": {
200
+ "type": [
201
+ "string",
202
+ "null"
203
+ ]
204
+ },
205
+ "tableValues": {
206
+ "items": {
207
+ "items": {
208
+ "$ref": "#/$defs/DefaultValues"
209
+ },
210
+ "type": "array"
211
+ },
212
+ "type": "array"
213
+ },
214
+ "values": {
215
+ "items": {
216
+ "$ref": "#/$defs/AnswerValue"
217
+ },
218
+ "type": "array"
219
+ }
220
+ },
221
+ "required": [
222
+ "values"
223
+ ],
6
224
  "type": "object"
7
225
  },
8
226
  "FieldCommon": {
9
227
  "description": "顶层业务字段的公共属性;字段类型由 TopField 的判别分支定义。",
10
228
  "properties": {
11
- "dataCover": {
12
- "description": "是否作为数据封面;仅顶层附件字段可设为 true。",
13
- "type": "boolean"
14
- },
15
229
  "dataTitle": {
16
230
  "description": "是否作为数据标题;整个 body 最多且必须按规则存在一个。",
17
231
  "type": "boolean"
18
232
  },
233
+ "defaultType": {
234
+ "default": 1,
235
+ "description": "默认值类型;1 表示静态值,2 表示关联/绑定值,3 表示公式值。",
236
+ "enum": [
237
+ 1,
238
+ 2,
239
+ 3
240
+ ],
241
+ "type": "integer"
242
+ },
243
+ "defaultValue": {
244
+ "$ref": "#/$defs/ScalarDefaultValue",
245
+ "description": "普通字段的标量默认值;表格、地址、附件、引用等结构化默认值必须放在具体字段 config.defaultValues。显式 null 表示清除默认值。"
246
+ },
19
247
  "description": {
20
248
  "description": "字段说明;null 或空字符串表示清空。",
21
249
  "type": [
@@ -48,6 +276,39 @@
48
276
  "name"
49
277
  ],
50
278
  "type": "object"
279
+ },
280
+ "ReferenceDefaultValue": {
281
+ "additionalProperties": false,
282
+ "properties": {
283
+ "applyId": {
284
+ "type": [
285
+ "integer",
286
+ "null"
287
+ ]
288
+ },
289
+ "dataTitle": {
290
+ "type": [
291
+ "string",
292
+ "null"
293
+ ]
294
+ },
295
+ "values": {
296
+ "items": {
297
+ "$ref": "#/$defs/DefaultValues"
298
+ },
299
+ "type": "array"
300
+ }
301
+ },
302
+ "type": "object"
303
+ },
304
+ "ScalarDefaultValue": {
305
+ "description": "不包含对象或数组的普通字段默认值。",
306
+ "type": [
307
+ "null",
308
+ "boolean",
309
+ "number",
310
+ "string"
311
+ ]
51
312
  }
52
313
  },
53
314
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/address.json",
@@ -59,7 +320,7 @@
59
320
  {
60
321
  "properties": {
61
322
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
323
+ "$ref": "#/$defs/AddressConfig"
63
324
  },
64
325
  "type": {
65
326
  "const": "address"
@@ -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,106 @@
48
53
  "name"
49
54
  ],
50
55
  "type": "object"
56
+ },
57
+ "NumberConfig": {
58
+ "additionalProperties": false,
59
+ "description": "数字和金额字段的数值、精度及显示格式。",
60
+ "properties": {
61
+ "canDecimal": {
62
+ "description": "是否允许小数;普通数字字段可显式设置。",
63
+ "type": [
64
+ "boolean",
65
+ "null"
66
+ ]
67
+ },
68
+ "canScan": {
69
+ "description": "是否允许扫码输入。",
70
+ "type": [
71
+ "boolean",
72
+ "null"
73
+ ]
74
+ },
75
+ "currencyStatus": {
76
+ "description": "金额字段是否显示货币符号。",
77
+ "type": [
78
+ "boolean",
79
+ "null"
80
+ ]
81
+ },
82
+ "currencyType": {
83
+ "description": "货币类型 ID。",
84
+ "minimum": 1,
85
+ "type": [
86
+ "integer",
87
+ "null"
88
+ ]
89
+ },
90
+ "decimalDigit": {
91
+ "description": "小数位数。",
92
+ "maximum": 10,
93
+ "minimum": 0,
94
+ "type": [
95
+ "integer",
96
+ "null"
97
+ ]
98
+ },
99
+ "maxValue": {
100
+ "description": "允许的最大值;后端按字符串保存。",
101
+ "type": [
102
+ "string",
103
+ "number",
104
+ "null"
105
+ ]
106
+ },
107
+ "minValue": {
108
+ "description": "允许的最小值;后端按字符串保存。",
109
+ "type": [
110
+ "string",
111
+ "number",
112
+ "null"
113
+ ]
114
+ },
115
+ "noRepeat": {
116
+ "description": "是否禁止重复值。",
117
+ "type": [
118
+ "boolean",
119
+ "null"
120
+ ]
121
+ },
122
+ "numberFormat": {
123
+ "description": "数字展示格式 ID。",
124
+ "minimum": 1,
125
+ "type": [
126
+ "integer",
127
+ "null"
128
+ ]
129
+ },
130
+ "numberLimitStatus": {
131
+ "description": "是否启用最小值和最大值限制。",
132
+ "type": [
133
+ "boolean",
134
+ "null"
135
+ ]
136
+ },
137
+ "scanType": {
138
+ "description": "扫码类型 ID。",
139
+ "minimum": 0,
140
+ "type": [
141
+ "integer",
142
+ "null"
143
+ ]
144
+ }
145
+ },
146
+ "type": "object"
147
+ },
148
+ "ScalarDefaultValue": {
149
+ "description": "不包含对象或数组的普通字段默认值。",
150
+ "type": [
151
+ "null",
152
+ "boolean",
153
+ "number",
154
+ "string"
155
+ ]
51
156
  }
52
157
  },
53
158
  "$id": "https://builder.qingflow.com/schemas/app-form-apply/v1alpha1/fields/amount.json",
@@ -59,7 +164,7 @@
59
164
  {
60
165
  "properties": {
61
166
  "config": {
62
- "$ref": "#/$defs/EmptyConfig"
167
+ "$ref": "#/$defs/NumberConfig"
63
168
  },
64
169
  "type": {
65
170
  "const": "amount"