fenix-mcp 0.2.1__tar.gz → 0.3.0__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-0.2.1 → fenix_mcp-0.3.0}/PKG-INFO +1 -1
  2. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/__init__.py +1 -1
  3. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/initialize.py +2 -1
  4. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/intelligence.py +5 -0
  5. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/domain/initialization.py +1 -13
  6. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/domain/intelligence.py +15 -2
  7. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/infrastructure/fenix_api/client.py +2 -0
  8. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/PKG-INFO +1 -1
  9. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/README.md +0 -0
  10. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/presenters.py +0 -0
  11. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tool_base.py +0 -0
  12. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tool_registry.py +0 -0
  13. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/__init__.py +0 -0
  14. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/health.py +0 -0
  15. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/knowledge.py +0 -0
  16. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/productivity.py +0 -0
  17. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/application/tools/user_config.py +0 -0
  18. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/domain/knowledge.py +0 -0
  19. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/domain/productivity.py +0 -0
  20. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/domain/user_config.py +0 -0
  21. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/infrastructure/config.py +0 -0
  22. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/infrastructure/context.py +0 -0
  23. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/infrastructure/http_client.py +0 -0
  24. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/infrastructure/logging.py +0 -0
  25. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/interface/mcp_server.py +0 -0
  26. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/interface/transports.py +0 -0
  27. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp/main.py +0 -0
  28. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/SOURCES.txt +0 -0
  29. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/dependency_links.txt +0 -0
  30. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/entry_points.txt +0 -0
  31. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/requires.txt +0 -0
  32. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/fenix_mcp.egg-info/top_level.txt +0 -0
  33. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/pyproject.toml +0 -0
  34. {fenix_mcp-0.2.1 → fenix_mcp-0.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 0.2.1
3
+ Version: 0.3.0
4
4
  Summary: Fênix Cloud MCP server implemented in Python
5
5
  Author: Fenix Inc
6
6
  Requires-Python: >=3.10
@@ -17,4 +17,4 @@ Updated with improved error handling and better documentation.
17
17
 
18
18
  __all__ = ["__version__"]
19
19
 
20
- __version__ = "0.2.1"
20
+ __version__ = "0.3.0"
@@ -89,8 +89,9 @@ class InitializeTool(Tool):
89
89
  "profile": data.profile,
90
90
  "core_documents": data.core_documents,
91
91
  "user_documents": data.user_documents if payload.include_user_docs else [],
92
- "recent_memories": data.recent_memories,
93
92
  }
93
+ if data.recent_memories:
94
+ payload_dict["recent_memories"] = data.recent_memories
94
95
 
95
96
  message_lines = [
96
97
  "📦 **Dados de inicialização completos**",
@@ -167,6 +167,11 @@ class IntelligenceTool(Tool):
167
167
  offset=payload.offset,
168
168
  query=payload.query,
169
169
  tags=payload.tags,
170
+ modeId=payload.mode_id,
171
+ ruleId=payload.rule_id,
172
+ workItemId=payload.work_item_id,
173
+ sprintId=payload.sprint_id,
174
+ documentationItemId=payload.documentation_item_id,
170
175
  category=payload.category,
171
176
  dateFrom=payload.date_from,
172
177
  dateTo=payload.date_to,
@@ -46,23 +46,11 @@ class InitializationService:
46
46
  )
47
47
  if self._logger:
48
48
  self._logger.debug("User docs response", extra={"user_docs": user_docs})
49
- memories = await self._safe_call(
50
- self._api.list_memories,
51
- include_content=True,
52
- include_metadata=False,
53
- limit=3,
54
- offset=0,
55
- sortBy="created_at",
56
- sortOrder="desc",
57
- )
58
- if self._logger:
59
- self._logger.debug("Memories response", extra={"memories": memories})
60
-
61
49
  return InitializationData(
62
50
  profile=profile,
63
51
  core_documents=self._extract_items(core_docs, "coreDocuments"),
64
52
  user_documents=self._extract_items(user_docs, "userCoreDocuments"),
65
- recent_memories=self._extract_items(memories, "memories"),
53
+ recent_memories=[],
66
54
  )
67
55
 
68
56
  async def _safe_call(self, func, *args, **kwargs):
@@ -42,14 +42,27 @@ class IntelligenceService:
42
42
 
43
43
  async def query_memories(self, **filters: Any) -> List[Dict[str, Any]]:
44
44
  params = _strip_none(filters)
45
- include_content = bool(params.pop("content", True))
45
+ include_content = bool(params.pop("content", False))
46
46
  include_metadata = bool(params.pop("metadata", False))
47
+ allowed_keys = {
48
+ "limit",
49
+ "offset",
50
+ "query",
51
+ "tags",
52
+ "modeId",
53
+ "ruleId",
54
+ "workItemId",
55
+ "sprintId",
56
+ "documentationItemId",
57
+ "importance",
58
+ }
59
+ cleaned_params = {key: params[key] for key in allowed_keys if key in params}
47
60
  return (
48
61
  await self._call(
49
62
  self.api.list_memories,
50
63
  include_content=include_content,
51
64
  include_metadata=include_metadata,
52
- **params,
65
+ **cleaned_params,
53
66
  )
54
67
  or []
55
68
  )
@@ -16,6 +16,8 @@ class FenixApiError(RuntimeError):
16
16
  def _to_query_value(value: Any) -> Any:
17
17
  if isinstance(value, bool):
18
18
  return "true" if value else "false"
19
+ if isinstance(value, (list, tuple, set)):
20
+ return ",".join(str(item) for item in value)
19
21
  return value
20
22
 
21
23
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 0.2.1
3
+ Version: 0.3.0
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