fenix-mcp 1.2.0__tar.gz → 1.3.1__tar.gz

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 (34) hide show
  1. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/PKG-INFO +1 -1
  2. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/__init__.py +1 -1
  3. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/knowledge.py +24 -5
  4. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/PKG-INFO +1 -1
  5. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/README.md +0 -0
  6. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/presenters.py +0 -0
  7. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tool_base.py +0 -0
  8. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tool_registry.py +0 -0
  9. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/__init__.py +0 -0
  10. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/health.py +0 -0
  11. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/initialize.py +0 -0
  12. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/intelligence.py +0 -0
  13. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/productivity.py +0 -0
  14. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/application/tools/user_config.py +0 -0
  15. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/domain/initialization.py +0 -0
  16. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/domain/intelligence.py +0 -0
  17. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/domain/knowledge.py +0 -0
  18. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/domain/productivity.py +0 -0
  19. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/domain/user_config.py +0 -0
  20. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/infrastructure/config.py +0 -0
  21. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/infrastructure/context.py +0 -0
  22. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/infrastructure/fenix_api/client.py +0 -0
  23. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/infrastructure/http_client.py +0 -0
  24. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/infrastructure/logging.py +0 -0
  25. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/interface/mcp_server.py +0 -0
  26. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/interface/transports.py +0 -0
  27. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp/main.py +0 -0
  28. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/SOURCES.txt +0 -0
  29. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/dependency_links.txt +0 -0
  30. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/entry_points.txt +0 -0
  31. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/requires.txt +0 -0
  32. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/fenix_mcp.egg-info/top_level.txt +0 -0
  33. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/pyproject.toml +0 -0
  34. {fenix_mcp-1.2.0 → fenix_mcp-1.3.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 1.2.0
3
+ Version: 1.3.1
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
@@ -8,4 +8,4 @@ Fênix Cloud MCP Server (Python edition).
8
8
  __all__ = ["__version__"]
9
9
 
10
10
 
11
- __version__ = "1.2.0"
11
+ __version__ = "1.3.1"
@@ -679,7 +679,18 @@ class KnowledgeTool(Tool):
679
679
  return_description=payload.return_description,
680
680
  return_metadata=payload.return_metadata,
681
681
  )
682
- return text(_format_mode(mode, header="🎭 Mode details", show_content=True))
682
+ # Buscar rules associadas ao mode
683
+ associations = await self._service.mode_rules(payload.mode_id)
684
+ rules = [assoc.get("rule", assoc) for assoc in associations]
685
+
686
+ # Formatar resposta com rules
687
+ output = _format_mode(mode, header="🎭 Mode details", show_content=True)
688
+ if rules:
689
+ rules_list = "\n".join(
690
+ f"- {r.get('name', 'Unnamed')} (ID: {r.get('id')})" for r in rules
691
+ )
692
+ output += f"\n\n**Rules ({len(rules)}):**\n{rules_list}"
693
+ return text(output)
683
694
 
684
695
  if action is KnowledgeAction.MODE_UPDATE:
685
696
  if not payload.mode_id:
@@ -724,18 +735,22 @@ class KnowledgeTool(Tool):
724
735
 
725
736
  if action is KnowledgeAction.MODE_RULES:
726
737
  if payload.mode_id:
727
- rules = await self._service.mode_rules(payload.mode_id)
738
+ associations = await self._service.mode_rules(payload.mode_id)
728
739
  context_label = f"mode {payload.mode_id}"
740
+ # API retorna [{id, mode_id, rule_id, rule: {...}}] - extrair rule
741
+ items = [assoc.get("rule", assoc) for assoc in associations]
729
742
  elif payload.rule_id:
730
- rules = await self._service.mode_rules_for_rule(payload.rule_id)
743
+ associations = await self._service.mode_rules_for_rule(payload.rule_id)
731
744
  context_label = f"rule {payload.rule_id}"
745
+ # API retorna [{id, mode_id, rule_id, mode: {...}}] - extrair mode
746
+ items = [assoc.get("mode", assoc) for assoc in associations]
732
747
  else:
733
748
  return text("❌ Provide mode_id or rule_id to list associations.")
734
- if not rules:
749
+ if not items:
735
750
  return text("🔗 No associations found.")
736
751
  body = "\n".join(
737
752
  f"- {item.get('name', 'Unnamed')} (ID: {item.get('id')})"
738
- for item in rules
753
+ for item in items
739
754
  )
740
755
  return text(f"🔗 **Associations for {context_label}:**\n{body}")
741
756
 
@@ -1056,6 +1071,9 @@ def _format_work(
1056
1071
  # Extract title
1057
1072
  title = item.get("title") or item.get("name") or "Untitled"
1058
1073
 
1074
+ # Extract type
1075
+ item_type = item.get("item_type") or item.get("type") or "unknown"
1076
+
1059
1077
  # Extract status
1060
1078
  status = item.get("status") or item.get("state") or "unknown"
1061
1079
 
@@ -1078,6 +1096,7 @@ def _format_work(
1078
1096
  [
1079
1097
  f"🎯 **{title}**",
1080
1098
  f"ID: {item_id}",
1099
+ f"Type: {item_type}",
1081
1100
  f"Status: {status}",
1082
1101
  f"Priority: {priority}",
1083
1102
  f"Assignee: {assignee}",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 1.2.0
3
+ Version: 1.3.1
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
File without changes
File without changes
File without changes
File without changes