fenix-mcp 1.3.1__tar.gz → 1.5.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.
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/PKG-INFO +1 -1
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/__init__.py +1 -1
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/knowledge.py +20 -4
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/PKG-INFO +1 -1
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/README.md +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/presenters.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tool_base.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tool_registry.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/__init__.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/health.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/initialize.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/intelligence.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/productivity.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/application/tools/user_config.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/domain/initialization.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/domain/intelligence.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/domain/knowledge.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/domain/productivity.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/domain/user_config.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/infrastructure/config.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/infrastructure/context.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/infrastructure/fenix_api/client.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/infrastructure/http_client.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/infrastructure/logging.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/interface/mcp_server.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/interface/transports.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp/main.py +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/SOURCES.txt +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/dependency_links.txt +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/entry_points.txt +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/requires.txt +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/fenix_mcp.egg-info/top_level.txt +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/pyproject.toml +0 -0
- {fenix_mcp-1.3.1 → fenix_mcp-1.5.0}/setup.cfg +0 -0
|
@@ -219,6 +219,10 @@ class KnowledgeRequest(ToolRequest):
|
|
|
219
219
|
default=None,
|
|
220
220
|
description="Work item priority (critical, high, medium, low).",
|
|
221
221
|
)
|
|
222
|
+
work_category: Optional[str] = Field(
|
|
223
|
+
default=None,
|
|
224
|
+
description="Work item category/discipline. REQUIRED for work_create. Values: backend, frontend, mobile, fullstack, devops, infra, platform, sre, database, security, data, analytics, ai_ml, qa, automation, design, research, product, project, agile, support, operations, documentation, training, architecture, planning, development.",
|
|
225
|
+
)
|
|
222
226
|
story_points: Optional[int] = Field(
|
|
223
227
|
default=None, ge=0, le=100, description="Story points (0-100)."
|
|
224
228
|
)
|
|
@@ -364,6 +368,10 @@ class KnowledgeTool(Tool):
|
|
|
364
368
|
if action is KnowledgeAction.WORK_CREATE:
|
|
365
369
|
if not payload.work_title:
|
|
366
370
|
return text("❌ Provide work_title to create the item.")
|
|
371
|
+
if not payload.work_category:
|
|
372
|
+
return text(
|
|
373
|
+
"❌ Provide work_category to create the item. Values: backend, frontend, mobile, fullstack, devops, infra, platform, sre, database, security, data, analytics, ai_ml, qa, automation, design, research, product, project, agile, support, operations, documentation, training, architecture, planning, development."
|
|
374
|
+
)
|
|
367
375
|
work = await self._service.work_create(
|
|
368
376
|
{
|
|
369
377
|
"title": payload.work_title,
|
|
@@ -371,6 +379,7 @@ class KnowledgeTool(Tool):
|
|
|
371
379
|
"item_type": payload.work_type,
|
|
372
380
|
"status": payload.work_status,
|
|
373
381
|
"priority": payload.work_priority,
|
|
382
|
+
"work_category": payload.work_category,
|
|
374
383
|
"story_points": payload.story_points,
|
|
375
384
|
"assignee_id": payload.assignee_id,
|
|
376
385
|
"sprint_id": payload.sprint_id,
|
|
@@ -416,6 +425,7 @@ class KnowledgeTool(Tool):
|
|
|
416
425
|
"item_type": payload.work_type,
|
|
417
426
|
"status": payload.work_status,
|
|
418
427
|
"priority": payload.work_priority,
|
|
428
|
+
"work_category": payload.work_category,
|
|
419
429
|
"story_points": payload.story_points,
|
|
420
430
|
"assignee_id": payload.assignee_id,
|
|
421
431
|
"sprint_id": payload.sprint_id,
|
|
@@ -683,13 +693,19 @@ class KnowledgeTool(Tool):
|
|
|
683
693
|
associations = await self._service.mode_rules(payload.mode_id)
|
|
684
694
|
rules = [assoc.get("rule", assoc) for assoc in associations]
|
|
685
695
|
|
|
686
|
-
# Formatar resposta com rules
|
|
696
|
+
# Formatar resposta com rules (incluindo content)
|
|
687
697
|
output = _format_mode(mode, header="🎭 Mode details", show_content=True)
|
|
688
698
|
if rules:
|
|
689
|
-
|
|
690
|
-
|
|
699
|
+
rules_parts = []
|
|
700
|
+
for r in rules:
|
|
701
|
+
rule_text = f"### 📋 {r.get('name', 'Unnamed')}\n"
|
|
702
|
+
rule_text += f"ID: {r.get('id')}\n"
|
|
703
|
+
if r.get("content"):
|
|
704
|
+
rule_text += f"\n{r.get('content')}"
|
|
705
|
+
rules_parts.append(rule_text)
|
|
706
|
+
output += f"\n\n**Rules ({len(rules)}):**\n\n" + "\n\n---\n\n".join(
|
|
707
|
+
rules_parts
|
|
691
708
|
)
|
|
692
|
-
output += f"\n\n**Rules ({len(rules)}):**\n{rules_list}"
|
|
693
709
|
return text(output)
|
|
694
710
|
|
|
695
711
|
if action is KnowledgeAction.MODE_UPDATE:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|