@qingflow-tech/qingflow-cli 1.1.50-beta.3 → 1.1.50-beta.5
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 +3 -3
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/skills/qingflow-cli/SKILL.md +37 -0
- package/skills/qingflow-cli/reference/builder/50-views.md +19 -4
- package/skills/qingflow-cli/reference/builder/80-buttons-associated-resources.md +2 -0
- package/src/qingflow_mcp/app_form_validator.py +53 -14
- package/src/qingflow_mcp/builder_facade/app_form.py +152 -47
- package/src/qingflow_mcp/builder_facade/models.py +19 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/complete.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/address.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/amount.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/attachment.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/code_block.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/data_relation.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/date.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/datetime.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/department.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/email.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/link.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/long_text.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/member.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/multi_select.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/number.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/phone.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/q_linker.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/relation.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/rich_text.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_choice.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/single_select.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/subtable.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/fields/text.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/formula.json +35 -0
- package/src/qingflow_mcp/builder_facade/schemas/app_form/v1alpha1/summary.json +2 -2
- package/src/qingflow_mcp/builder_facade/schemas/views/manifest.json +2 -3
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/complete.json +68 -16
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/button-config.json +6 -6
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/data-permission.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/display.json +13 -11
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/operation-permission.json +3 -3
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/query-condition.json +1 -1
- package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/summary.json +51 -6
- package/src/qingflow_mcp/builder_facade/service.py +198 -83
- package/src/qingflow_mcp/builder_facade/views_extract.py +21 -1
- package/src/qingflow_mcp/cli/commands/builder.py +4 -2
- package/src/qingflow_mcp/server_app_builder.py +2 -2
- package/src/qingflow_mcp/solution/compiler/view_compiler.py +2 -1
- package/src/qingflow_mcp/solution/executor.py +3 -1
- package/src/qingflow_mcp/solution/spec_models.py +1 -0
- package/src/qingflow_mcp/tools/ai_builder_tools.py +7 -5
package/src/qingflow_mcp/builder_facade/schemas/views/v1alpha1/details/operation-permission.json
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"properties": {
|
|
9
|
-
"visibility": { "$ref": "../complete.json#/$defs/Visibility" },
|
|
10
|
-
"record": { "$ref": "../complete.json#/$defs/RecordConfig" },
|
|
11
|
-
"share": { "$ref": "../complete.json#/$defs/ShareConfig" }
|
|
9
|
+
"visibility": { "$ref": "../complete.json#/$defs/Visibility", "visibilityDescription": "对内可见范围 + 外部成员授权。" },
|
|
10
|
+
"record": { "$ref": "../complete.json#/$defs/RecordConfig", "recordDescription": "记录可见性开关:操作记录/数据日志/机器人记录/流程未来节点/留言。" },
|
|
11
|
+
"share": { "$ref": "../complete.json#/$defs/ShareConfig", "shareDescription": "分享与安全:密码/强制登录/打印。" }
|
|
12
12
|
},
|
|
13
13
|
"x-qingflow-related-schemas": {
|
|
14
14
|
"currentKind": "operation-permission",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"type": "object",
|
|
7
7
|
"additionalProperties": false,
|
|
8
8
|
"properties": {
|
|
9
|
-
"query_conditions": { "$ref": "../complete.json#/$defs/QueryConditions" }
|
|
9
|
+
"query_conditions": { "$ref": "../complete.json#/$defs/QueryConditions", "queryConditionsDescription": "查询面板开关/匹配模式/查询前隐藏/行列布局。" }
|
|
10
10
|
},
|
|
11
11
|
"x-qingflow-related-schemas": {
|
|
12
12
|
"currentKind": "query-condition",
|
|
@@ -35,10 +35,12 @@
|
|
|
35
35
|
"table",
|
|
36
36
|
"card",
|
|
37
37
|
"board",
|
|
38
|
-
"gantt"
|
|
38
|
+
"gantt",
|
|
39
|
+
"hierarchy",
|
|
40
|
+
"calendar"
|
|
39
41
|
],
|
|
40
|
-
"viewTypeDescription": "视图类型。别名归一:tableView→table、cardView→card、kanban→board、ganttView→gantt
|
|
41
|
-
"x-backend": "viewgraph.viewgraphType(tableView/cardView/boardView/ganttView)"
|
|
42
|
+
"viewTypeDescription": "视图类型。别名归一:tableView→table、cardView→card、kanban→board、ganttView→gantt、hierarchyView→hierarchy、calendarView→calendar。",
|
|
43
|
+
"x-backend": "viewgraph.viewgraphType(tableView/cardView/boardView/ganttView/hierarchyView/calendarView)"
|
|
42
44
|
},
|
|
43
45
|
"columns": {
|
|
44
46
|
"type": "array",
|
|
@@ -57,7 +59,8 @@
|
|
|
57
59
|
"groupQueIdDescription": "分组字段 queId"
|
|
58
60
|
},
|
|
59
61
|
"title_que_id": {
|
|
60
|
-
"type": "integer"
|
|
62
|
+
"type": "integer",
|
|
63
|
+
"titleQueIdDescription": "卡片/看板/甘特/层级标题字段 queId(可选)。"
|
|
61
64
|
},
|
|
62
65
|
"start_que_id": {
|
|
63
66
|
"type": "integer",
|
|
@@ -68,6 +71,14 @@
|
|
|
68
71
|
"type": "integer",
|
|
69
72
|
"endQueIdDescription": "甘特结束时间字段 queId(gantt 必填)。别名 endField。",
|
|
70
73
|
"x-backend": "viewgraphGanttConfigVO.endTimeQueId"
|
|
74
|
+
},
|
|
75
|
+
"hierarchy": {
|
|
76
|
+
"$ref": "#/$defs/HierarchyConfig",
|
|
77
|
+
"hierarchyDescription": "层级视图特有配置(hierarchy 类型适用,必填)。"
|
|
78
|
+
},
|
|
79
|
+
"calendar": {
|
|
80
|
+
"$ref": "#/$defs/CalendarConfig",
|
|
81
|
+
"calendarDescription": "日历视图特有配置(calendar 类型适用,必填)。"
|
|
71
82
|
}
|
|
72
83
|
},
|
|
73
84
|
"allOf": [
|
|
@@ -149,9 +160,42 @@
|
|
|
149
160
|
"end_que_id"
|
|
150
161
|
]
|
|
151
162
|
}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"if": {
|
|
166
|
+
"properties": { "type": { "const": "hierarchy" } },
|
|
167
|
+
"required": ["type"]
|
|
168
|
+
},
|
|
169
|
+
"then": { "required": ["hierarchy"] }
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"if": {
|
|
173
|
+
"properties": { "type": { "const": "calendar" } },
|
|
174
|
+
"required": ["type"]
|
|
175
|
+
},
|
|
176
|
+
"then": { "required": ["calendar"] }
|
|
152
177
|
}
|
|
153
178
|
]
|
|
154
179
|
},
|
|
180
|
+
"HierarchyConfig": {
|
|
181
|
+
"type": "object",
|
|
182
|
+
"additionalProperties": false,
|
|
183
|
+
"required": ["title_que_id", "children_que_id"],
|
|
184
|
+
"properties": {
|
|
185
|
+
"title_que_id": { "type": "integer", "hierarchyTitleQueIdDescription": "层级节点标题字段 queId。" },
|
|
186
|
+
"children_que_id": { "type": "integer", "hierarchyChildrenQueIdDescription": "层级父子关系字段 queId。" }
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"CalendarConfig": {
|
|
190
|
+
"type": "object",
|
|
191
|
+
"additionalProperties": false,
|
|
192
|
+
"required": ["title_que_id", "date_que_id"],
|
|
193
|
+
"properties": {
|
|
194
|
+
"title_que_id": { "type": "integer", "calendarTitleQueIdDescription": "日历事项标题字段 queId。" },
|
|
195
|
+
"date_que_id": { "type": "integer", "calendarDateQueIdDescription": "日历日期字段 queId;可使用表单日期字段或系统字段申请时间(2)/更新时间(3)。" },
|
|
196
|
+
"color_que_id": { "type": "integer", "calendarColorQueIdDescription": "可选的日历颜色字段 queId。" }
|
|
197
|
+
}
|
|
198
|
+
},
|
|
155
199
|
"DataPermission": {
|
|
156
200
|
"type": "object",
|
|
157
201
|
"additionalProperties": false,
|
|
@@ -197,7 +241,7 @@
|
|
|
197
241
|
"complete"
|
|
198
242
|
],
|
|
199
243
|
"kindDescriptions": {
|
|
200
|
-
"display": "
|
|
244
|
+
"display": "展示字段、排序、卡片/甘特/层级/日历配置、分组字段和关联资源。",
|
|
201
245
|
"data-permission": "数据权限模式、数据范围和固定筛选条件。",
|
|
202
246
|
"operation-permission": "成员可见范围、记录日志、留言、打印和分享策略。",
|
|
203
247
|
"query-condition": "用户查询面板的开关、匹配模式和字段布局。",
|
|
@@ -247,7 +291,6 @@
|
|
|
247
291
|
"x-qingflow-capability-boundary": {
|
|
248
292
|
"contract": "仅列出 app_views_apply 当前可写字段。",
|
|
249
293
|
"backendKnownUnsupported": {
|
|
250
|
-
"calendar": "后端存在 calendarView DTO,但当前 app_views_apply 不支持创建或更新日历视图。",
|
|
251
294
|
"column_permissions": "后端 ViewgraphQuestion 支持列级查看、编辑和下载权限,当前公开 DSL 尚未开放。",
|
|
252
295
|
"advanced_filter_formula": "后端支持 viewgraphLimitFormula,当前 filters 只公开简易条件。",
|
|
253
296
|
"print_templates": "后端支持默认打印模板和 printTpls 绑定,当前只公开打印开关。",
|
|
@@ -255,6 +298,8 @@
|
|
|
255
298
|
}
|
|
256
299
|
},
|
|
257
300
|
"examples": [
|
|
301
|
+
{ "name": "任务层级", "type": "hierarchy", "hierarchy": { "title_que_id": 101, "children_que_id": 106 } },
|
|
302
|
+
{ "name": "事项日历", "type": "calendar", "calendar": { "title_que_id": 101, "date_que_id": 104, "color_que_id": 103 } },
|
|
258
303
|
{
|
|
259
304
|
"name": "业务记录",
|
|
260
305
|
"type": "table",
|