@qingflow-tech/qingflow-cli 1.1.39 → 1.1.41
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/src/qingflow_mcp/builder_facade/service.py +8 -8
- package/src/qingflow_mcp/server_cloud.py +89 -3
- package/src/qingflow_mcp/session_store.py +7 -1
- package/src/qingflow_mcp/tools/ai_builder_tools.py +1 -59
- package/src/qingflow_mcp/tools/app_tools.py +15 -29
- package/src/qingflow_mcp/tools/approval_tools.py +16 -40
- package/src/qingflow_mcp/tools/auth_tools.py +18 -13
- package/src/qingflow_mcp/tools/base.py +114 -74
- package/src/qingflow_mcp/tools/code_block_tools.py +2 -5
- package/src/qingflow_mcp/tools/custom_button_tools.py +6 -11
- package/src/qingflow_mcp/tools/directory_tools.py +9 -16
- package/src/qingflow_mcp/tools/export_tools.py +5 -9
- package/src/qingflow_mcp/tools/feedback_tools.py +0 -2
- package/src/qingflow_mcp/tools/file_tools.py +3 -5
- package/src/qingflow_mcp/tools/import_tools.py +7 -13
- package/src/qingflow_mcp/tools/navigation_tools.py +12 -23
- package/src/qingflow_mcp/tools/package_tools.py +11 -21
- package/src/qingflow_mcp/tools/portal_tools.py +9 -17
- package/src/qingflow_mcp/tools/qingbi_report_tools.py +18 -23
- package/src/qingflow_mcp/tools/record_tools.py +97 -53
- package/src/qingflow_mcp/tools/repository_dev_tools.py +4 -7
- package/src/qingflow_mcp/tools/resource_read_tools.py +6 -9
- package/src/qingflow_mcp/tools/role_tools.py +5 -9
- package/src/qingflow_mcp/tools/solution_tools.py +4 -16
- package/src/qingflow_mcp/tools/task_context_tools.py +6 -12
- package/src/qingflow_mcp/tools/task_tools.py +12 -29
- package/src/qingflow_mcp/tools/view_tools.py +23 -32
- package/src/qingflow_mcp/tools/workflow_tools.py +30 -47
- package/src/qingflow_mcp/tools/workspace_tools.py +5 -9
|
@@ -19,7 +19,7 @@ from ..errors import QingflowApiError, raise_tool_error
|
|
|
19
19
|
from ..json_types import JSONObject, JSONValue
|
|
20
20
|
from ..repository_store import RepositoryMetadataStore
|
|
21
21
|
from ..session_store import SessionProfile
|
|
22
|
-
from .base import ToolBase
|
|
22
|
+
from .base import ToolBase
|
|
23
23
|
|
|
24
24
|
|
|
25
25
|
_STREAM_EVENT_RE = re.compile(r"^type=(?P<type>[^,]+),timestamp=(?P<timestamp>[^,]+),data=(?P<data>.*)$")
|
|
@@ -41,7 +41,6 @@ class RepositoryDevTools(ToolBase):
|
|
|
41
41
|
super().__init__(sessions, backend)
|
|
42
42
|
self._metadata = metadata_store or RepositoryMetadataStore()
|
|
43
43
|
|
|
44
|
-
@tool_cn_name("仓库初始化")
|
|
45
44
|
def repository_init(self, *, profile: str, group_name: str, repo_template: str) -> JSONObject:
|
|
46
45
|
"""执行工具方法逻辑。"""
|
|
47
46
|
normalized_group = str(group_name or "").strip()
|
|
@@ -79,9 +78,8 @@ class RepositoryDevTools(ToolBase):
|
|
|
79
78
|
"warnings": self._custom_page_route_warning(),
|
|
80
79
|
}
|
|
81
80
|
|
|
82
|
-
return self._run(profile, runner, require_workspace=True)
|
|
81
|
+
return self._run(profile, runner, require_workspace=True, tool_name='仓库初始化')
|
|
83
82
|
|
|
84
|
-
@tool_cn_name("仓库生成")
|
|
85
83
|
def repository_generate(
|
|
86
84
|
self,
|
|
87
85
|
*,
|
|
@@ -174,9 +172,8 @@ class RepositoryDevTools(ToolBase):
|
|
|
174
172
|
)
|
|
175
173
|
return summarized
|
|
176
174
|
|
|
177
|
-
return self._run(profile, runner, require_workspace=True)
|
|
175
|
+
return self._run(profile, runner, require_workspace=True, tool_name='仓库生成')
|
|
178
176
|
|
|
179
|
-
@tool_cn_name("仓库发布生产")
|
|
180
177
|
def repository_publish_prod(
|
|
181
178
|
self,
|
|
182
179
|
*,
|
|
@@ -213,7 +210,7 @@ class RepositoryDevTools(ToolBase):
|
|
|
213
210
|
"warnings": self._custom_page_route_warning(),
|
|
214
211
|
}
|
|
215
212
|
|
|
216
|
-
return self._run(profile, runner, require_workspace=True)
|
|
213
|
+
return self._run(profile, runner, require_workspace=True, tool_name='仓库发布生产')
|
|
217
214
|
|
|
218
215
|
def _custom_page_route_warning(self) -> list[JSONObject]:
|
|
219
216
|
"""执行内部辅助逻辑。"""
|
|
@@ -8,7 +8,7 @@ from ..json_types import JSONObject
|
|
|
8
8
|
from ..list_type_labels import SYSTEM_VIEW_DEFINITIONS
|
|
9
9
|
from ..solution.compiler.icon_utils import workspace_icon_config
|
|
10
10
|
from .app_tools import _analysis_supported_for_view_type
|
|
11
|
-
from .base import ToolBase
|
|
11
|
+
from .base import ToolBase
|
|
12
12
|
from .qingbi_report_tools import QingbiReportTools, _coerce_tool_error
|
|
13
13
|
|
|
14
14
|
|
|
@@ -27,7 +27,6 @@ class ResourceReadTools(ToolBase):
|
|
|
27
27
|
super().__init__(sessions, backend)
|
|
28
28
|
self.charts = QingbiReportTools(sessions, backend)
|
|
29
29
|
|
|
30
|
-
@tool_cn_name("资源读取-门户列表")
|
|
31
30
|
def portal_list(self, *, profile: str) -> JSONObject:
|
|
32
31
|
"""执行门户相关逻辑。"""
|
|
33
32
|
def runner(session_profile, context):
|
|
@@ -45,9 +44,8 @@ class ResourceReadTools(ToolBase):
|
|
|
45
44
|
},
|
|
46
45
|
}
|
|
47
46
|
|
|
48
|
-
return self._run(profile, runner)
|
|
47
|
+
return self._run(profile, runner, tool_name='资源读取-门户列表')
|
|
49
48
|
|
|
50
|
-
@tool_cn_name("资源读取-门户详情")
|
|
51
49
|
def portal_get(self, *, profile: str, dash_key: str) -> JSONObject:
|
|
52
50
|
"""执行门户相关逻辑。"""
|
|
53
51
|
self._require_dash_key(dash_key)
|
|
@@ -83,9 +81,8 @@ class ResourceReadTools(ToolBase):
|
|
|
83
81
|
},
|
|
84
82
|
}
|
|
85
83
|
|
|
86
|
-
return self._run(profile, runner)
|
|
84
|
+
return self._run(profile, runner, tool_name='资源读取-门户详情')
|
|
87
85
|
|
|
88
|
-
@tool_cn_name("资源读取-视图详情")
|
|
89
86
|
def view_get(self, *, profile: str, view_id: str) -> JSONObject:
|
|
90
87
|
"""执行视图相关逻辑。"""
|
|
91
88
|
self._require_view_id(view_id)
|
|
@@ -134,6 +131,7 @@ class ResourceReadTools(ToolBase):
|
|
|
134
131
|
"export_capability": export_capability,
|
|
135
132
|
},
|
|
136
133
|
},
|
|
134
|
+
tool_name='资源读取-视图详情',
|
|
137
135
|
)
|
|
138
136
|
|
|
139
137
|
def runner(session_profile, context):
|
|
@@ -254,9 +252,8 @@ class ResourceReadTools(ToolBase):
|
|
|
254
252
|
},
|
|
255
253
|
}
|
|
256
254
|
|
|
257
|
-
return self._run(profile, runner)
|
|
255
|
+
return self._run(profile, runner, tool_name='资源读取-视图详情')
|
|
258
256
|
|
|
259
|
-
@tool_cn_name("资源读取-报表详情")
|
|
260
257
|
def chart_get(self, *, profile: str, chart_id: str) -> JSONObject:
|
|
261
258
|
"""执行图表相关逻辑。"""
|
|
262
259
|
self._require_chart_id(chart_id)
|
|
@@ -365,7 +362,7 @@ class ResourceReadTools(ToolBase):
|
|
|
365
362
|
"data": data_payload,
|
|
366
363
|
}
|
|
367
364
|
|
|
368
|
-
return self._run(profile, runner)
|
|
365
|
+
return self._run(profile, runner, tool_name='资源读取-报表详情')
|
|
369
366
|
|
|
370
367
|
def _require_dash_key(self, dash_key: str) -> None:
|
|
371
368
|
"""执行内部辅助逻辑。"""
|
|
@@ -7,7 +7,7 @@ from mcp.server.fastmcp import FastMCP
|
|
|
7
7
|
from ..config import DEFAULT_PROFILE
|
|
8
8
|
from ..errors import QingflowApiError, backend_code_int, is_auth_like_error, raise_tool_error
|
|
9
9
|
from ..json_types import JSONObject
|
|
10
|
-
from .base import ToolBase
|
|
10
|
+
from .base import ToolBase
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class RoleTools(ToolBase):
|
|
@@ -47,7 +47,6 @@ class RoleTools(ToolBase):
|
|
|
47
47
|
def role_delete(profile: str = DEFAULT_PROFILE, role_ids: list[int] | None = None) -> JSONObject:
|
|
48
48
|
return self.role_delete(profile=profile, role_ids=role_ids or [])
|
|
49
49
|
|
|
50
|
-
@tool_cn_name("角色搜索")
|
|
51
50
|
def role_search(self, *, profile: str, keyword: str, page_num: int, page_size: int) -> JSONObject:
|
|
52
51
|
"""执行角色相关逻辑。"""
|
|
53
52
|
if page_num <= 0 or page_size <= 0:
|
|
@@ -85,9 +84,8 @@ class RoleTools(ToolBase):
|
|
|
85
84
|
"page": result,
|
|
86
85
|
}
|
|
87
86
|
|
|
88
|
-
return self._run(profile, runner)
|
|
87
|
+
return self._run(profile, runner, tool_name='角色搜索')
|
|
89
88
|
|
|
90
|
-
@tool_cn_name("创建角色")
|
|
91
89
|
def role_create(self, *, profile: str, payload: JSONObject) -> JSONObject:
|
|
92
90
|
"""执行角色相关逻辑。"""
|
|
93
91
|
body = self._require_dict(payload)
|
|
@@ -96,9 +94,8 @@ class RoleTools(ToolBase):
|
|
|
96
94
|
result = self.backend.request("POST", context, "/contact/role", json_body=body)
|
|
97
95
|
return {"profile": profile, "ws_id": session_profile.selected_ws_id, "result": result}
|
|
98
96
|
|
|
99
|
-
return self._run(profile, runner)
|
|
97
|
+
return self._run(profile, runner, tool_name='创建角色')
|
|
100
98
|
|
|
101
|
-
@tool_cn_name("更新角色")
|
|
102
99
|
def role_update(self, *, profile: str, role_id: int, payload: JSONObject) -> JSONObject:
|
|
103
100
|
"""执行角色相关逻辑。"""
|
|
104
101
|
if role_id <= 0:
|
|
@@ -113,9 +110,8 @@ class RoleTools(ToolBase):
|
|
|
113
110
|
target="role configuration",
|
|
114
111
|
)
|
|
115
112
|
|
|
116
|
-
return self._run(profile, runner)
|
|
113
|
+
return self._run(profile, runner, tool_name='更新角色')
|
|
117
114
|
|
|
118
|
-
@tool_cn_name("删除角色")
|
|
119
115
|
def role_delete(self, *, profile: str, role_ids: list[int]) -> JSONObject:
|
|
120
116
|
"""执行角色相关逻辑。"""
|
|
121
117
|
if not role_ids or any(role_id <= 0 for role_id in role_ids):
|
|
@@ -129,7 +125,7 @@ class RoleTools(ToolBase):
|
|
|
129
125
|
target="roles and assignments",
|
|
130
126
|
)
|
|
131
127
|
|
|
132
|
-
return self._run(profile, runner)
|
|
128
|
+
return self._run(profile, runner, tool_name='删除角色')
|
|
133
129
|
|
|
134
130
|
|
|
135
131
|
def _is_role_permission_denied(error: QingflowApiError) -> bool:
|
|
@@ -30,7 +30,7 @@ from ..solution.spec_models import (
|
|
|
30
30
|
ViewsBuildSpec,
|
|
31
31
|
)
|
|
32
32
|
from .app_tools import AppTools
|
|
33
|
-
from .base import ToolBase
|
|
33
|
+
from .base import ToolBase
|
|
34
34
|
from .navigation_tools import NavigationTools
|
|
35
35
|
from .package_tools import PackageTools
|
|
36
36
|
from .portal_tools import PortalTools
|
|
@@ -356,7 +356,6 @@ class SolutionTools(ToolBase):
|
|
|
356
356
|
def solution_build_status(build_id: str = "") -> dict[str, Any]:
|
|
357
357
|
return self.solution_build_status(build_id=build_id)
|
|
358
358
|
|
|
359
|
-
@tool_cn_name("方案设计会话")
|
|
360
359
|
def solution_design_session(
|
|
361
360
|
self,
|
|
362
361
|
*,
|
|
@@ -427,7 +426,6 @@ class SolutionTools(ToolBase):
|
|
|
427
426
|
except Exception as exc: # noqa: BLE001
|
|
428
427
|
return self._design_failure_response(session_id, action, "runtime", str(exc))
|
|
429
428
|
|
|
430
|
-
@tool_cn_name("方案启动搭建")
|
|
431
429
|
def solution_bootstrap(
|
|
432
430
|
self,
|
|
433
431
|
*,
|
|
@@ -526,9 +524,8 @@ class SolutionTools(ToolBase):
|
|
|
526
524
|
|
|
527
525
|
if mode in {"preflight", "plan"}:
|
|
528
526
|
return runner()
|
|
529
|
-
return self._run(profile, lambda _session_profile, _context: runner())
|
|
527
|
+
return self._run(profile, lambda _session_profile, _context: runner(), tool_name='方案启动搭建')
|
|
530
528
|
|
|
531
|
-
@tool_cn_name("搭建应用流程")
|
|
532
529
|
def solution_build_app_flow(
|
|
533
530
|
self,
|
|
534
531
|
*,
|
|
@@ -556,7 +553,6 @@ class SolutionTools(ToolBase):
|
|
|
556
553
|
repair_patch=repair_patch,
|
|
557
554
|
)
|
|
558
555
|
|
|
559
|
-
@tool_cn_name("搭建应用")
|
|
560
556
|
def solution_build_app(
|
|
561
557
|
self,
|
|
562
558
|
*,
|
|
@@ -599,7 +595,6 @@ class SolutionTools(ToolBase):
|
|
|
599
595
|
projection_name="app",
|
|
600
596
|
)
|
|
601
597
|
|
|
602
|
-
@tool_cn_name("从需求搭建应用")
|
|
603
598
|
def solution_build_app_from_requirements(
|
|
604
599
|
self,
|
|
605
600
|
*,
|
|
@@ -722,7 +717,6 @@ class SolutionTools(ToolBase):
|
|
|
722
717
|
include_generated_spec=include_generated_spec,
|
|
723
718
|
)
|
|
724
719
|
|
|
725
|
-
@tool_cn_name("搭建流程")
|
|
726
720
|
def solution_build_flow(
|
|
727
721
|
self,
|
|
728
722
|
*,
|
|
@@ -782,7 +776,6 @@ class SolutionTools(ToolBase):
|
|
|
782
776
|
projection_name="flow",
|
|
783
777
|
)
|
|
784
778
|
|
|
785
|
-
@tool_cn_name("一键搭建全部")
|
|
786
779
|
def solution_build_all(
|
|
787
780
|
self,
|
|
788
781
|
*,
|
|
@@ -969,9 +962,8 @@ class SolutionTools(ToolBase):
|
|
|
969
962
|
|
|
970
963
|
if mode in {"preflight", "plan"}:
|
|
971
964
|
return runner()
|
|
972
|
-
return self._run(profile, lambda _session_profile, _context: runner())
|
|
965
|
+
return self._run(profile, lambda _session_profile, _context: runner(), tool_name='一键搭建全部')
|
|
973
966
|
|
|
974
|
-
@tool_cn_name("搭建视图")
|
|
975
967
|
def solution_build_views(
|
|
976
968
|
self,
|
|
977
969
|
*,
|
|
@@ -998,7 +990,6 @@ class SolutionTools(ToolBase):
|
|
|
998
990
|
repair_patch=repair_patch,
|
|
999
991
|
)
|
|
1000
992
|
|
|
1001
|
-
@tool_cn_name("方案 Schema 示例")
|
|
1002
993
|
def solution_schema_example(
|
|
1003
994
|
self,
|
|
1004
995
|
*,
|
|
@@ -1048,7 +1039,6 @@ class SolutionTools(ToolBase):
|
|
|
1048
1039
|
response["resolved_intent"] = resolved_intent
|
|
1049
1040
|
return response
|
|
1050
1041
|
|
|
1051
|
-
@tool_cn_name("搭建分析门户")
|
|
1052
1042
|
def solution_build_analytics_portal(
|
|
1053
1043
|
self,
|
|
1054
1044
|
*,
|
|
@@ -1075,7 +1065,6 @@ class SolutionTools(ToolBase):
|
|
|
1075
1065
|
repair_patch=repair_patch,
|
|
1076
1066
|
)
|
|
1077
1067
|
|
|
1078
|
-
@tool_cn_name("搭建导航")
|
|
1079
1068
|
def solution_build_navigation(
|
|
1080
1069
|
self,
|
|
1081
1070
|
*,
|
|
@@ -1102,7 +1091,6 @@ class SolutionTools(ToolBase):
|
|
|
1102
1091
|
repair_patch=repair_patch,
|
|
1103
1092
|
)
|
|
1104
1093
|
|
|
1105
|
-
@tool_cn_name("搭建状态")
|
|
1106
1094
|
def solution_build_status(self, *, build_id: str) -> dict[str, Any]:
|
|
1107
1095
|
"""执行方案相关逻辑。"""
|
|
1108
1096
|
if not build_id:
|
|
@@ -1177,7 +1165,7 @@ class SolutionTools(ToolBase):
|
|
|
1177
1165
|
|
|
1178
1166
|
if mode in {"preflight", "plan"}:
|
|
1179
1167
|
return runner()
|
|
1180
|
-
return self._run(profile, lambda _session_profile, _context: runner())
|
|
1168
|
+
return self._run(profile, lambda _session_profile, _context: runner(), tool_name=tool_name)
|
|
1181
1169
|
|
|
1182
1170
|
def _execute_stage_build(
|
|
1183
1171
|
self,
|
|
@@ -13,7 +13,7 @@ from ..errors import QingflowApiError, backend_code_int, backend_code_value_int,
|
|
|
13
13
|
from ..id_utils import ids_equal, normalize_positive_id_int, normalize_positive_id_text, stringify_backend_id
|
|
14
14
|
from ..json_types import JSONObject
|
|
15
15
|
from .approval_tools import ApprovalTools, _approval_page_amount, _approval_page_items, _approval_page_total
|
|
16
|
-
from .base import ToolBase
|
|
16
|
+
from .base import ToolBase
|
|
17
17
|
from .qingbi_report_tools import _qingbi_base_url, _should_retry_asos_data
|
|
18
18
|
from .record_tools import (
|
|
19
19
|
FieldIndex,
|
|
@@ -174,7 +174,6 @@ class TaskContextTools(ToolBase):
|
|
|
174
174
|
workflow_node_id=0,
|
|
175
175
|
)
|
|
176
176
|
|
|
177
|
-
@tool_cn_name("任务上下文列表")
|
|
178
177
|
def task_list(
|
|
179
178
|
self,
|
|
180
179
|
*,
|
|
@@ -252,7 +251,6 @@ class TaskContextTools(ToolBase):
|
|
|
252
251
|
},
|
|
253
252
|
}
|
|
254
253
|
|
|
255
|
-
@tool_cn_name("任务上下文详情")
|
|
256
254
|
def task_get(
|
|
257
255
|
self,
|
|
258
256
|
*,
|
|
@@ -308,9 +306,8 @@ class TaskContextTools(ToolBase):
|
|
|
308
306
|
"data": data,
|
|
309
307
|
}
|
|
310
308
|
|
|
311
|
-
return self._run(profile, runner)
|
|
309
|
+
return self._run(profile, runner, tool_name='任务上下文详情')
|
|
312
310
|
|
|
313
|
-
@tool_cn_name("任务仅保存")
|
|
314
311
|
def task_save_only(
|
|
315
312
|
self,
|
|
316
313
|
*,
|
|
@@ -330,7 +327,6 @@ class TaskContextTools(ToolBase):
|
|
|
330
327
|
fields=field_updates,
|
|
331
328
|
)
|
|
332
329
|
|
|
333
|
-
@tool_cn_name("执行任务动作")
|
|
334
330
|
def task_action_execute(
|
|
335
331
|
self,
|
|
336
332
|
*,
|
|
@@ -633,7 +629,7 @@ class TaskContextTools(ToolBase):
|
|
|
633
629
|
resource["task_id"] = task_id_text
|
|
634
630
|
return result
|
|
635
631
|
|
|
636
|
-
return self._run(profile, runner)
|
|
632
|
+
return self._run(profile, runner, tool_name="执行任务动作")
|
|
637
633
|
|
|
638
634
|
def _execute_task_action(
|
|
639
635
|
self,
|
|
@@ -1447,7 +1443,6 @@ class TaskContextTools(ToolBase):
|
|
|
1447
1443
|
return True
|
|
1448
1444
|
return False
|
|
1449
1445
|
|
|
1450
|
-
@tool_cn_name("任务关联报表详情")
|
|
1451
1446
|
def task_associated_report_detail_get(
|
|
1452
1447
|
self,
|
|
1453
1448
|
*,
|
|
@@ -1681,9 +1676,8 @@ class TaskContextTools(ToolBase):
|
|
|
1681
1676
|
},
|
|
1682
1677
|
}
|
|
1683
1678
|
|
|
1684
|
-
return self._run(profile, runner)
|
|
1679
|
+
return self._run(profile, runner, tool_name='任务关联报表详情')
|
|
1685
1680
|
|
|
1686
|
-
@tool_cn_name("任务流程日志")
|
|
1687
1681
|
def task_workflow_log_get(
|
|
1688
1682
|
self,
|
|
1689
1683
|
*,
|
|
@@ -1775,7 +1769,7 @@ class TaskContextTools(ToolBase):
|
|
|
1775
1769
|
selection["task_id"] = task_id_text
|
|
1776
1770
|
return result
|
|
1777
1771
|
|
|
1778
|
-
return self._run(profile, runner)
|
|
1772
|
+
return self._run(profile, runner, tool_name='任务流程日志')
|
|
1779
1773
|
|
|
1780
1774
|
def _build_task_context(
|
|
1781
1775
|
self,
|
|
@@ -3023,7 +3017,7 @@ class TaskContextTools(ToolBase):
|
|
|
3023
3017
|
"request_route": self._request_route_payload(context),
|
|
3024
3018
|
}
|
|
3025
3019
|
|
|
3026
|
-
return self._run(profile, runner)
|
|
3020
|
+
return self._run(profile, runner, tool_name="任务仅保存")
|
|
3027
3021
|
|
|
3028
3022
|
def _build_visibility(self, node_info: dict[str, Any], detail: dict[str, Any]) -> dict[str, bool]:
|
|
3029
3023
|
"""执行内部辅助逻辑。"""
|
|
@@ -8,7 +8,7 @@ from mcp.server.fastmcp import FastMCP
|
|
|
8
8
|
from ..config import DEFAULT_PROFILE
|
|
9
9
|
from ..errors import QingflowApiError, backend_code_value_int, message_looks_like_invalid_token, raise_tool_error
|
|
10
10
|
from ..list_type_labels import get_record_list_type_label, get_task_type_label
|
|
11
|
-
from .base import ToolBase
|
|
11
|
+
from .base import ToolBase
|
|
12
12
|
|
|
13
13
|
TASK_BOX_TO_TYPE = {
|
|
14
14
|
"todo": 1,
|
|
@@ -143,7 +143,6 @@ class TaskTools(ToolBase):
|
|
|
143
143
|
) -> dict[str, Any]:
|
|
144
144
|
return self.task_urge_public(profile=profile, app_key=app_key, record_id=record_id)
|
|
145
145
|
|
|
146
|
-
@tool_cn_name("任务摘要")
|
|
147
146
|
def task_summary(
|
|
148
147
|
self,
|
|
149
148
|
*,
|
|
@@ -176,7 +175,6 @@ class TaskTools(ToolBase):
|
|
|
176
175
|
},
|
|
177
176
|
}
|
|
178
177
|
|
|
179
|
-
@tool_cn_name("任务列表")
|
|
180
178
|
def task_list_public(
|
|
181
179
|
self,
|
|
182
180
|
*,
|
|
@@ -234,7 +232,6 @@ class TaskTools(ToolBase):
|
|
|
234
232
|
},
|
|
235
233
|
}
|
|
236
234
|
|
|
237
|
-
@tool_cn_name("任务分面统计")
|
|
238
235
|
def task_facets(
|
|
239
236
|
self,
|
|
240
237
|
*,
|
|
@@ -325,7 +322,6 @@ class TaskTools(ToolBase):
|
|
|
325
322
|
},
|
|
326
323
|
}
|
|
327
324
|
|
|
328
|
-
@tool_cn_name("任务标记已读")
|
|
329
325
|
def task_mark_read_public(
|
|
330
326
|
self,
|
|
331
327
|
*,
|
|
@@ -343,7 +339,6 @@ class TaskTools(ToolBase):
|
|
|
343
339
|
selection={"task_box": task_box},
|
|
344
340
|
)
|
|
345
341
|
|
|
346
|
-
@tool_cn_name("抄送全部已读")
|
|
347
342
|
def task_mark_all_cc_read_public(
|
|
348
343
|
self,
|
|
349
344
|
*,
|
|
@@ -359,7 +354,6 @@ class TaskTools(ToolBase):
|
|
|
359
354
|
selection={"task_box": "cc", "flow_status": flow_status},
|
|
360
355
|
)
|
|
361
356
|
|
|
362
|
-
@tool_cn_name("任务催办")
|
|
363
357
|
def task_urge_public(
|
|
364
358
|
self,
|
|
365
359
|
*,
|
|
@@ -376,7 +370,6 @@ class TaskTools(ToolBase):
|
|
|
376
370
|
selection={},
|
|
377
371
|
)
|
|
378
372
|
|
|
379
|
-
@tool_cn_name("任务列表(兼容)")
|
|
380
373
|
def task_list(
|
|
381
374
|
self,
|
|
382
375
|
*,
|
|
@@ -421,9 +414,8 @@ class TaskTools(ToolBase):
|
|
|
421
414
|
"page": result,
|
|
422
415
|
}
|
|
423
416
|
|
|
424
|
-
return self._run(profile, runner)
|
|
417
|
+
return self._run(profile, runner, tool_name='任务列表(兼容)')
|
|
425
418
|
|
|
426
|
-
@tool_cn_name("任务分组列表")
|
|
427
419
|
def task_list_grouped(
|
|
428
420
|
self,
|
|
429
421
|
*,
|
|
@@ -466,9 +458,8 @@ class TaskTools(ToolBase):
|
|
|
466
458
|
"page": result,
|
|
467
459
|
}
|
|
468
460
|
|
|
469
|
-
return self._run(profile, runner)
|
|
461
|
+
return self._run(profile, runner, tool_name='任务分组列表')
|
|
470
462
|
|
|
471
|
-
@tool_cn_name("任务统计")
|
|
472
463
|
def task_statistics(
|
|
473
464
|
self,
|
|
474
465
|
*,
|
|
@@ -489,9 +480,8 @@ class TaskTools(ToolBase):
|
|
|
489
480
|
"statistics": result,
|
|
490
481
|
}
|
|
491
482
|
|
|
492
|
-
return self._run(profile, runner)
|
|
483
|
+
return self._run(profile, runner, tool_name='任务统计')
|
|
493
484
|
|
|
494
|
-
@tool_cn_name("任务流程节点")
|
|
495
485
|
def task_workflow_nodes(
|
|
496
486
|
self,
|
|
497
487
|
*,
|
|
@@ -530,9 +520,8 @@ class TaskTools(ToolBase):
|
|
|
530
520
|
"page": result,
|
|
531
521
|
}
|
|
532
522
|
|
|
533
|
-
return self._run(profile, runner)
|
|
523
|
+
return self._run(profile, runner, tool_name='任务流程节点')
|
|
534
524
|
|
|
535
|
-
@tool_cn_name("任务节点统计")
|
|
536
525
|
def task_node_statistics(
|
|
537
526
|
self,
|
|
538
527
|
*,
|
|
@@ -566,9 +555,8 @@ class TaskTools(ToolBase):
|
|
|
566
555
|
"nodes": result,
|
|
567
556
|
}
|
|
568
557
|
|
|
569
|
-
return self._run(profile, runner)
|
|
558
|
+
return self._run(profile, runner, tool_name='任务节点统计')
|
|
570
559
|
|
|
571
|
-
@tool_cn_name("任务应用统计")
|
|
572
560
|
def task_worksheet_statistics(
|
|
573
561
|
self,
|
|
574
562
|
*,
|
|
@@ -601,9 +589,8 @@ class TaskTools(ToolBase):
|
|
|
601
589
|
"page": result,
|
|
602
590
|
}
|
|
603
591
|
|
|
604
|
-
return self._run(profile, runner)
|
|
592
|
+
return self._run(profile, runner, tool_name='任务应用统计')
|
|
605
593
|
|
|
606
|
-
@tool_cn_name("任务已读(兼容)")
|
|
607
594
|
def task_mark_read(
|
|
608
595
|
self,
|
|
609
596
|
*,
|
|
@@ -637,9 +624,8 @@ class TaskTools(ToolBase):
|
|
|
637
624
|
"result": result,
|
|
638
625
|
}
|
|
639
626
|
|
|
640
|
-
return self._run(profile, runner)
|
|
627
|
+
return self._run(profile, runner, tool_name='任务已读(兼容)')
|
|
641
628
|
|
|
642
|
-
@tool_cn_name("抄送已读(兼容)")
|
|
643
629
|
def task_mark_all_cc_read(
|
|
644
630
|
self,
|
|
645
631
|
*,
|
|
@@ -668,9 +654,8 @@ class TaskTools(ToolBase):
|
|
|
668
654
|
"result": result,
|
|
669
655
|
}
|
|
670
656
|
|
|
671
|
-
return self._run(profile, runner)
|
|
657
|
+
return self._run(profile, runner, tool_name='抄送已读(兼容)')
|
|
672
658
|
|
|
673
|
-
@tool_cn_name("任务催办(兼容)")
|
|
674
659
|
def task_urge(
|
|
675
660
|
self,
|
|
676
661
|
*,
|
|
@@ -699,9 +684,8 @@ class TaskTools(ToolBase):
|
|
|
699
684
|
"result": result,
|
|
700
685
|
}
|
|
701
686
|
|
|
702
|
-
return self._run(profile, runner)
|
|
687
|
+
return self._run(profile, runner, tool_name='任务催办(兼容)')
|
|
703
688
|
|
|
704
|
-
@tool_cn_name("任务分组详情")
|
|
705
689
|
def task_group_detail(
|
|
706
690
|
self,
|
|
707
691
|
*,
|
|
@@ -730,9 +714,8 @@ class TaskTools(ToolBase):
|
|
|
730
714
|
"detail": result,
|
|
731
715
|
}
|
|
732
716
|
|
|
733
|
-
return self._run(profile, runner)
|
|
717
|
+
return self._run(profile, runner, tool_name='任务分组详情')
|
|
734
718
|
|
|
735
|
-
@tool_cn_name("批处理任务数量")
|
|
736
719
|
def task_batch_processing_amount(
|
|
737
720
|
self,
|
|
738
721
|
*,
|
|
@@ -768,7 +751,7 @@ class TaskTools(ToolBase):
|
|
|
768
751
|
"amount": result,
|
|
769
752
|
}
|
|
770
753
|
|
|
771
|
-
return self._run(profile, runner)
|
|
754
|
+
return self._run(profile, runner, tool_name='批处理任务数量')
|
|
772
755
|
|
|
773
756
|
def _validate_type(self, type: int) -> None:
|
|
774
757
|
"""执行内部辅助逻辑。"""
|