@josephyan/qingflow-app-user-mcp 0.2.0-beta.84 → 0.2.0-beta.85
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
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
Install:
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install @josephyan/qingflow-app-user-mcp@0.2.0-beta.
|
|
6
|
+
npm install @josephyan/qingflow-app-user-mcp@0.2.0-beta.85
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Run:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
npx -y -p @josephyan/qingflow-app-user-mcp@0.2.0-beta.
|
|
12
|
+
npx -y -p @josephyan/qingflow-app-user-mcp@0.2.0-beta.85 qingflow-app-user-mcp
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
Environment:
|
package/package.json
CHANGED
package/pyproject.toml
CHANGED
|
@@ -848,15 +848,18 @@ class AiBuilderFacade:
|
|
|
848
848
|
allow_detach: bool,
|
|
849
849
|
normalized_args: JSONObject,
|
|
850
850
|
) -> JSONObject:
|
|
851
|
-
|
|
851
|
+
current_detail_result: JSONObject | None = None
|
|
852
|
+
current_base_result: JSONObject | None = None
|
|
853
|
+
detail_api_error: QingflowApiError | None = None
|
|
852
854
|
try:
|
|
853
|
-
|
|
855
|
+
current_detail_result = self.packages.package_get(profile=profile, tag_id=package_id, include_raw=True)
|
|
854
856
|
except (QingflowApiError, RuntimeError) as detail_error:
|
|
855
857
|
detail_api_error = _coerce_api_error(detail_error)
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
858
|
+
try:
|
|
859
|
+
current_base_result = self.packages.package_get_base(profile=profile, tag_id=package_id, include_raw=True)
|
|
860
|
+
except (QingflowApiError, RuntimeError) as base_error:
|
|
861
|
+
api_error = _coerce_api_error(base_error)
|
|
862
|
+
if current_detail_result is None:
|
|
860
863
|
return _failed_from_api_error(
|
|
861
864
|
"PACKAGE_LAYOUT_READ_FAILED",
|
|
862
865
|
api_error,
|
|
@@ -867,8 +870,20 @@ class AiBuilderFacade:
|
|
|
867
870
|
},
|
|
868
871
|
suggested_next_call={"tool_name": "package_get", "arguments": {"profile": profile, "package_id": package_id}},
|
|
869
872
|
)
|
|
870
|
-
|
|
871
|
-
|
|
873
|
+
|
|
874
|
+
detail_raw = (
|
|
875
|
+
current_detail_result.get("result")
|
|
876
|
+
if isinstance(current_detail_result, dict) and isinstance(current_detail_result.get("result"), dict)
|
|
877
|
+
else {}
|
|
878
|
+
)
|
|
879
|
+
base_raw = (
|
|
880
|
+
current_base_result.get("result")
|
|
881
|
+
if isinstance(current_base_result, dict) and isinstance(current_base_result.get("result"), dict)
|
|
882
|
+
else {}
|
|
883
|
+
)
|
|
884
|
+
detail_tag_items = detail_raw.get("tagItems") if isinstance(detail_raw.get("tagItems"), list) else None
|
|
885
|
+
base_tag_items = base_raw.get("tagItems") if isinstance(base_raw.get("tagItems"), list) else None
|
|
886
|
+
raw_tag_items = detail_tag_items if detail_tag_items else base_tag_items
|
|
872
887
|
if not isinstance(raw_tag_items, list):
|
|
873
888
|
return _failed(
|
|
874
889
|
"PACKAGE_LAYOUT_UNREADABLE",
|