fenix-mcp 1.7.0__py3-none-any.whl → 1.8.0__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__ = "1.7.0"
11
+ __version__ = "1.8.0"
@@ -80,7 +80,7 @@ class KnowledgeAction(str, Enum):
80
80
  )
81
81
  WORK_BULK_CREATE = (
82
82
  "work_bulk_create",
83
- "Creates multiple work items atomically with hierarchy. Use temp_id as temporary identifier and parent_temp_id to reference parent. Example: [{temp_id:'epic-1', title:'My Epic', item_type:'epic', work_category:'backend'}, {temp_id:'task-1', parent_temp_id:'epic-1', title:'My Task', item_type:'task', work_category:'backend'}]",
83
+ "Creates multiple work items atomically with hierarchy. Use temp_id as temporary identifier and parent_temp_id to reference parent in the same batch, or parent_key to reference an existing work item (e.g., TEMA-0056). Cannot use both parent_temp_id and parent_key on the same item. Example: [{temp_id:'epic-1', title:'My Epic', item_type:'epic', work_category:'backend'}, {temp_id:'task-1', parent_temp_id:'epic-1', title:'My Task', item_type:'task', work_category:'backend'}] or [{temp_id:'task-1', parent_key:'TEMA-0056', title:'My Task', item_type:'task', work_category:'backend'}]",
84
84
  )
85
85
 
86
86
  # Boards
@@ -269,7 +269,9 @@ class KnowledgeRequest(ToolRequest):
269
269
  description=(
270
270
  "List of work items for bulk create (max 50). Each item requires: "
271
271
  "temp_id (your temporary ID like 'epic-1', 'task-a'), title, item_type, work_category. "
272
- "Use parent_temp_id to set parent (e.g., parent_temp_id:'epic-1' makes it child of epic-1). "
272
+ "Use parent_temp_id to set parent from same batch (e.g., parent_temp_id:'epic-1'), "
273
+ "OR parent_key to set parent from existing work item (e.g., parent_key:'TEMA-0056'). "
274
+ "Cannot use both parent_temp_id and parent_key on the same item. "
273
275
  "Optional: description, priority (low/medium/high/critical), story_points, tags, due_date. "
274
276
  'Example: [{"temp_id":"e1", "title":"Epic", "item_type":"epic", "work_category":"backend"}, '
275
277
  '{"temp_id":"t1", "parent_temp_id":"e1", "title":"Task", "item_type":"task", "work_category":"backend"}]'
@@ -598,7 +600,7 @@ class KnowledgeTool(Tool):
598
600
  if not payload.work_items:
599
601
  return text(
600
602
  "❌ Provide work_items array. Each item requires: temp_id, title, item_type, work_category. "
601
- "Optional: parent_temp_id, description, priority, story_points, tags, due_date."
603
+ "Optional: parent_temp_id OR parent_key (not both), description, priority, story_points, tags, due_date."
602
604
  )
603
605
  if len(payload.work_items) > 50:
604
606
  return text("❌ Maximum 50 items per bulk create.")
@@ -613,6 +615,10 @@ class KnowledgeTool(Tool):
613
615
  return text(f"❌ Item {i}: missing item_type.")
614
616
  if not item.get("work_category"):
615
617
  return text(f"❌ Item {i}: missing work_category.")
618
+ if item.get("parent_temp_id") and item.get("parent_key"):
619
+ return text(
620
+ f"❌ Item {i}: cannot have both parent_temp_id and parent_key. Use one or the other."
621
+ )
616
622
 
617
623
  items = await self._service.work_bulk_create({"items": payload.work_items})
618
624
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fenix-mcp
3
- Version: 1.7.0
3
+ Version: 1.8.0
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=v3Uc1-qloerixhXQ59DttwnN0U79paRDUaKfUVjLDsc,180
1
+ fenix_mcp/__init__.py,sha256=1rPPMWBN4_kt19tylpYO9VURpib6wyxuNU5d3n6gYfk,180
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=YJk7aSVGjXEvAkXrOHOuUjCFhYni9NPKFyPKiZqkrCc,4235
@@ -7,7 +7,7 @@ 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=YfsE3fVYiqGEwvaI_jg5-0K7pGURXxpB3WNwETmGBPc,5499
9
9
  fenix_mcp/application/tools/intelligence.py,sha256=fXfjBwAQmZCn3Zc8BqFnQFAJkpd9JsfOPa_uXJj-bMU,15778
10
- fenix_mcp/application/tools/knowledge.py,sha256=ESDvbylQGcjcrps8YHd_lnv7XJba1Gg93buxTwz0hbw,57716
10
+ fenix_mcp/application/tools/knowledge.py,sha256=TOXyiXzEzeq_IiLTJ9kR_o8Kgc2oDmnQOQVvDPimAAA,58408
11
11
  fenix_mcp/application/tools/productivity.py,sha256=wyJ7-2VqgI2cdrliBD_ejwNvQhN1DecpXSQVrCxcUpQ,11231
12
12
  fenix_mcp/application/tools/user_config.py,sha256=O5AVg7IUKL9uIoUoBSFovBDHl9jofhKWzhFK7CnKi4s,6470
13
13
  fenix_mcp/domain/initialization.py,sha256=AZhdSNITQ7O3clELBuqGvjJc-c8pFKc7zQz-XR2xXPc,6933
@@ -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=GZrrWiUGxMaFM7kT7M8YYeWN1X5EetaJg6Co1-RBI0o,28457
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-1.7.0.dist-info/METADATA,sha256=mfNbXWOmRMUGd_KLmFREVNg-zE6_BeVTELP6pO6wUNQ,7260
26
- fenix_mcp-1.7.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- fenix_mcp-1.7.0.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
- fenix_mcp-1.7.0.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
- fenix_mcp-1.7.0.dist-info/RECORD,,
25
+ fenix_mcp-1.8.0.dist-info/METADATA,sha256=I9_mtSYu17C0GPL2tEyygd3L3giTE8wo-rq88IQP0Os,7260
26
+ fenix_mcp-1.8.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ fenix_mcp-1.8.0.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
28
+ fenix_mcp-1.8.0.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
29
+ fenix_mcp-1.8.0.dist-info/RECORD,,