fenix-mcp 0.5.11__py3-none-any.whl → 0.5.12__py3-none-any.whl

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.
fenix_mcp/__init__.py CHANGED
@@ -8,4 +8,4 @@ Fênix Cloud MCP Server (Python edition).
8
8
  __all__ = ["__version__"]
9
9
 
10
10
 
11
- __version__ = "0.5.11"
11
+ __version__ = "0.5.12"
@@ -897,16 +897,35 @@ def _format_work(item: Dict[str, Any], *, header: Optional[str] = None) -> str:
897
897
  if header:
898
898
  lines.append(header)
899
899
  lines.append("")
900
+
901
+ # Extract title
900
902
  title = item.get("title") or item.get("name") or "Sem título"
903
+
904
+ # Extract status
901
905
  status = item.get("status") or item.get("state") or "desconhecido"
906
+
907
+ # Extract priority
902
908
  priority = item.get("priority") or item.get("priority_level") or "indefinido"
909
+
910
+ # Extract ID
911
+ item_id = item.get("id", "N/A")
912
+
913
+ # Extract assignee - check both assignee_id and assignee object
914
+ assignee = item.get("assignee_id")
915
+ if not assignee and item.get("assignee"):
916
+ assignee = item.get("assignee", {}).get("name") or item.get("assignee", {}).get(
917
+ "id"
918
+ )
919
+ if not assignee:
920
+ assignee = "N/A"
921
+
903
922
  lines.extend(
904
923
  [
905
924
  f"🎯 **{title}**",
906
- f"ID: {item.get('id', 'N/A')}",
925
+ f"ID: {item_id}",
907
926
  f"Status: {status}",
908
927
  f"Prioridade: {priority}",
909
- f"Responsável: {item.get('assignee_id') or item.get('assignee', 'N/A')}",
928
+ f"Responsável: {assignee}",
910
929
  ]
911
930
  )
912
931
  if item.get("due_date") or item.get("dueDate"):
@@ -64,7 +64,7 @@ class KnowledgeService:
64
64
  # Work items
65
65
  # ------------------------------------------------------------------
66
66
  async def work_create(self, payload: Dict[str, Any]) -> Dict[str, Any]:
67
- return await self._call(self.api.create_work_item, _strip_none(payload))
67
+ return await self._call_dict(self.api.create_work_item, _strip_none(payload))
68
68
 
69
69
  async def work_list(self, **filters: Any) -> List[Dict[str, Any]]:
70
70
  return await self._call_list(self.api.list_work_items, **_strip_none(filters))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 0.5.11
3
+ Version: 0.5.12
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
@@ -1,4 +1,4 @@
1
- fenix_mcp/__init__.py,sha256=nmEZUccTIdiITDMkw8Hl_03-9VTnvyldQGx8Q6fTjF0,181
1
+ fenix_mcp/__init__.py,sha256=rimEPTd0hQgbJqUCIc-9-9f4CtOLSTjwmsZj895vKSw,181
2
2
  fenix_mcp/main.py,sha256=iJV-9btNMDJMObvcn7wBQdbLLKjkYCQ1ANGEwHGHlMU,2857
3
3
  fenix_mcp/application/presenters.py,sha256=fGME54PdCDhTBhXO-JUB9yLdBHiE1aeXLTC2fCuxnxM,689
4
4
  fenix_mcp/application/tool_base.py,sha256=qUcb46qx9gHQfrSHgj4RD4NCHW-OIvKQdR5G9uxZ5l4,1316
@@ -7,12 +7,12 @@ fenix_mcp/application/tools/__init__.py,sha256=Gi1YvYh-KdL9HD8gLVrknHrxiKKEOhHBE
7
7
  fenix_mcp/application/tools/health.py,sha256=m5DxhoRbdwl6INzd6PISxv1NAv-ljCrezsr773VB0wE,834
8
8
  fenix_mcp/application/tools/initialize.py,sha256=f33DNDn9u8IYwpqiBj6bjJ-wHgaUP1zEuAvUM1rMYPc,4674
9
9
  fenix_mcp/application/tools/intelligence.py,sha256=icvkHQlFbFHXaSbGIpWfdWqkdJPxcgkaUaggGKOekRE,16127
10
- fenix_mcp/application/tools/knowledge.py,sha256=UkB9-w4EfWsflyk9R6uN6broKNyAp7hzXpLZ-O8JFgQ,44399
10
+ fenix_mcp/application/tools/knowledge.py,sha256=0N1Pq2GNMWCvtmcEzf8tkEm5pjZH4W4uwceXOxdPxf0,44777
11
11
  fenix_mcp/application/tools/productivity.py,sha256=ZyL5Vd1scbnGYh2SyEPTX4G7hHB5U0lwo8VO6iAzknE,9964
12
12
  fenix_mcp/application/tools/user_config.py,sha256=8mPOZuwszO0TapxgrA7Foe15VQE874_mvfQYlGzyv4Y,6230
13
13
  fenix_mcp/domain/initialization.py,sha256=AZhdSNITQ7O3clELBuqGvjJc-c8pFKc7zQz-XR2xXPc,6933
14
14
  fenix_mcp/domain/intelligence.py,sha256=2V70uZygyMcukHS4hVinkB-20VokGOw1gQR7jziX9-M,9515
15
- fenix_mcp/domain/knowledge.py,sha256=fKQOTt20u5aa5Yo7gPeQ1Qxa_K5pBxn1yn8FEfOFltM,20241
15
+ fenix_mcp/domain/knowledge.py,sha256=IpfHgxxsXycpJKnlAHcfTSHkp7ycBq4o7J-GIU8Xmv0,20246
16
16
  fenix_mcp/domain/productivity.py,sha256=nmHRuVJGRRu1s4eMoAv8vXHKsSauCPl-FvFx3I_yCTE,6661
17
17
  fenix_mcp/domain/user_config.py,sha256=LzBDCk31gLMtKHTbBmYb9VoFPHDW6OydpmDXeHHd0Mw,1642
18
18
  fenix_mcp/infrastructure/config.py,sha256=zhJ3hhsP-bRfICcdq8rIDh5NGDe_u7AGpcgjcc2U1nY,1908
@@ -22,8 +22,8 @@ fenix_mcp/infrastructure/logging.py,sha256=bHrWlSi_0HshRe3--BK_5nzUszW-gh37q6jsd
22
22
  fenix_mcp/infrastructure/fenix_api/client.py,sha256=Navi7cGAOradghcbYkFIQQINpjFrdINlNhdfZ4iSSYQ,28338
23
23
  fenix_mcp/interface/mcp_server.py,sha256=5UM2NJuNbwHkmCEprIFataJ5nFZiO8efTtP_oW3_iX0,2331
24
24
  fenix_mcp/interface/transports.py,sha256=PxdhfjH8UMl03f7nuCLc-M6tMx6-Y-btVz_mSqXKrSI,8138
25
- fenix_mcp-0.5.11.dist-info/METADATA,sha256=rLhMPmRhePDrZRxCtwcWJTZfaxa-lWQSqbecoGeNgFI,7261
26
- fenix_mcp-0.5.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- fenix_mcp-0.5.11.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
- fenix_mcp-0.5.11.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
- fenix_mcp-0.5.11.dist-info/RECORD,,
25
+ fenix_mcp-0.5.12.dist-info/METADATA,sha256=WrbTCDQfOrJAnXFnid4msvYGCI47FVXD5zu-AAFASSA,7261
26
+ fenix_mcp-0.5.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ fenix_mcp-0.5.12.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
+ fenix_mcp-0.5.12.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
+ fenix_mcp-0.5.12.dist-info/RECORD,,