fenix-mcp 0.7.0__py3-none-any.whl → 1.1.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 +1 -1
- fenix_mcp/application/tools/initialize.py +15 -20
- fenix_mcp/application/tools/intelligence.py +71 -75
- fenix_mcp/application/tools/knowledge.py +284 -313
- fenix_mcp/application/tools/productivity.py +51 -51
- fenix_mcp/application/tools/user_config.py +32 -32
- fenix_mcp/domain/knowledge.py +43 -48
- fenix_mcp/domain/user_config.py +10 -2
- fenix_mcp/infrastructure/fenix_api/client.py +28 -44
- {fenix_mcp-0.7.0.dist-info → fenix_mcp-1.1.0.dist-info}/METADATA +1 -1
- {fenix_mcp-0.7.0.dist-info → fenix_mcp-1.1.0.dist-info}/RECORD +14 -14
- {fenix_mcp-0.7.0.dist-info → fenix_mcp-1.1.0.dist-info}/WHEEL +0 -0
- {fenix_mcp-0.7.0.dist-info → fenix_mcp-1.1.0.dist-info}/entry_points.txt +0 -0
- {fenix_mcp-0.7.0.dist-info → fenix_mcp-1.1.0.dist-info}/top_level.txt +0 -0
|
@@ -443,25 +443,19 @@ class FenixApiClient:
|
|
|
443
443
|
def get_documentation_full_tree(self) -> Any:
|
|
444
444
|
return self._request("GET", "/api/documentation/tree")
|
|
445
445
|
|
|
446
|
-
def search_documentation_items(
|
|
447
|
-
|
|
448
|
-
) -> Any:
|
|
449
|
-
params = self._build_params(
|
|
450
|
-
required={"q": query, "team_id": team_id, "limit": limit}
|
|
451
|
-
)
|
|
446
|
+
def search_documentation_items(self, *, query: str, limit: int) -> Any:
|
|
447
|
+
params = self._build_params(required={"q": query, "limit": limit})
|
|
452
448
|
return self._request("GET", "/api/documentation/search", params=params)
|
|
453
449
|
|
|
454
|
-
def list_documentation_roots(self
|
|
455
|
-
|
|
456
|
-
return self._request("GET", "/api/documentation/roots", params=params)
|
|
450
|
+
def list_documentation_roots(self) -> Any:
|
|
451
|
+
return self._request("GET", "/api/documentation/roots")
|
|
457
452
|
|
|
458
|
-
def list_documentation_recent(self, *,
|
|
459
|
-
params = self._build_params(required={"
|
|
453
|
+
def list_documentation_recent(self, *, limit: int) -> Any:
|
|
454
|
+
params = self._build_params(required={"limit": limit})
|
|
460
455
|
return self._request("GET", "/api/documentation/recent", params=params)
|
|
461
456
|
|
|
462
|
-
def get_documentation_analytics(self
|
|
463
|
-
|
|
464
|
-
return self._request("GET", "/api/documentation/analytics", params=params)
|
|
457
|
+
def get_documentation_analytics(self) -> Any:
|
|
458
|
+
return self._request("GET", "/api/documentation/analytics")
|
|
465
459
|
|
|
466
460
|
def move_documentation_item(self, item_id: str, payload: Mapping[str, Any]) -> Any:
|
|
467
461
|
return self._request(
|
|
@@ -504,25 +498,19 @@ class FenixApiClient:
|
|
|
504
498
|
def delete_work_item(self, item_id: str) -> Any:
|
|
505
499
|
return self._request("DELETE", f"/api/work-items/{item_id}")
|
|
506
500
|
|
|
507
|
-
def list_work_items_backlog(self
|
|
508
|
-
|
|
509
|
-
return self._request("GET", "/api/work-items/backlog", params=params)
|
|
501
|
+
def list_work_items_backlog(self) -> Any:
|
|
502
|
+
return self._request("GET", "/api/work-items/backlog")
|
|
510
503
|
|
|
511
|
-
def search_work_items(self, *, query: str,
|
|
512
|
-
params = self._build_params(
|
|
513
|
-
required={"q": query, "team_id": team_id, "limit": limit}
|
|
514
|
-
)
|
|
504
|
+
def search_work_items(self, *, query: str, limit: int) -> Any:
|
|
505
|
+
params = self._build_params(required={"q": query, "limit": limit})
|
|
515
506
|
return self._request("GET", "/api/work-items/search", params=params)
|
|
516
507
|
|
|
517
|
-
def get_work_items_analytics(self
|
|
518
|
-
|
|
519
|
-
return self._request("GET", "/api/work-items/analytics", params=params)
|
|
508
|
+
def get_work_items_analytics(self) -> Any:
|
|
509
|
+
return self._request("GET", "/api/work-items/analytics")
|
|
520
510
|
|
|
521
|
-
def get_work_items_velocity(self, *,
|
|
511
|
+
def get_work_items_velocity(self, *, sprints_count: int) -> Any:
|
|
522
512
|
params = self._build_params(required={"sprints_count": sprints_count})
|
|
523
|
-
return self._request(
|
|
524
|
-
"GET", f"/api/work-items/velocity/{team_id}", params=params
|
|
525
|
-
)
|
|
513
|
+
return self._request("GET", "/api/work-items/velocity", params=params)
|
|
526
514
|
|
|
527
515
|
def list_work_items_by_sprint(self, *, sprint_id: str) -> Any:
|
|
528
516
|
return self._request("GET", f"/api/work-items/by-sprint/{sprint_id}")
|
|
@@ -570,16 +558,14 @@ class FenixApiClient:
|
|
|
570
558
|
def list_work_boards(self, **filters: Any) -> Any:
|
|
571
559
|
return self._request("GET", "/api/work-boards", params=_strip_none(filters))
|
|
572
560
|
|
|
573
|
-
def list_work_boards_by_team(self
|
|
574
|
-
return self._request("GET",
|
|
561
|
+
def list_work_boards_by_team(self) -> Any:
|
|
562
|
+
return self._request("GET", "/api/work-boards/by-team")
|
|
575
563
|
|
|
576
564
|
def list_favorite_work_boards(self) -> Any:
|
|
577
565
|
return self._request("GET", "/api/work-boards/favorites")
|
|
578
566
|
|
|
579
|
-
def search_work_boards(self, *, query: str,
|
|
580
|
-
params = self._build_params(
|
|
581
|
-
required={"q": query, "team_id": team_id, "limit": limit}
|
|
582
|
-
)
|
|
567
|
+
def search_work_boards(self, *, query: str, limit: int) -> Any:
|
|
568
|
+
params = self._build_params(required={"q": query, "limit": limit})
|
|
583
569
|
return self._request("GET", "/api/work-boards/search", params=params)
|
|
584
570
|
|
|
585
571
|
def list_recent_work_boards(self, *, limit: int) -> Any:
|
|
@@ -652,21 +638,19 @@ class FenixApiClient:
|
|
|
652
638
|
def delete_sprint(self, sprint_id: str) -> Any:
|
|
653
639
|
return self._request("DELETE", f"/api/sprints/{sprint_id}")
|
|
654
640
|
|
|
655
|
-
def list_sprints_by_team(self
|
|
656
|
-
return self._request("GET",
|
|
641
|
+
def list_sprints_by_team(self) -> Any:
|
|
642
|
+
return self._request("GET", "/api/sprints/by-team")
|
|
657
643
|
|
|
658
|
-
def list_recent_sprints(self, *,
|
|
644
|
+
def list_recent_sprints(self, *, limit: int) -> Any:
|
|
659
645
|
params = self._build_params(required={"limit": limit})
|
|
660
|
-
return self._request("GET",
|
|
646
|
+
return self._request("GET", "/api/sprints/recent", params=params)
|
|
661
647
|
|
|
662
|
-
def search_sprints(self, *, query: str,
|
|
663
|
-
params = self._build_params(
|
|
664
|
-
required={"q": query, "team_id": team_id, "limit": limit}
|
|
665
|
-
)
|
|
648
|
+
def search_sprints(self, *, query: str, limit: int) -> Any:
|
|
649
|
+
params = self._build_params(required={"q": query, "limit": limit})
|
|
666
650
|
return self._request("GET", "/api/sprints/search", params=params)
|
|
667
651
|
|
|
668
|
-
def get_active_sprint(self
|
|
669
|
-
return self._request("GET",
|
|
652
|
+
def get_active_sprint(self) -> Any:
|
|
653
|
+
return self._request("GET", "/api/sprints/active")
|
|
670
654
|
|
|
671
655
|
def get_sprints_velocity(self) -> Any:
|
|
672
656
|
return self._request("GET", "/api/sprints/velocity")
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
fenix_mcp/__init__.py,sha256=
|
|
1
|
+
fenix_mcp/__init__.py,sha256=0nVssUi62ihSwPNFCB_d2shUtSA4sQpxj_MGNNtdzxs,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
|
|
5
5
|
fenix_mcp/application/tool_registry.py,sha256=bPT5g8GfxG_qu28R1WaDOZHvtmG6TPDvZi8eWj1T9xE,1250
|
|
6
6
|
fenix_mcp/application/tools/__init__.py,sha256=Gi1YvYh-KdL9HD8gLVrknHrxiKKEOhHBEZ02KBXJaKQ,796
|
|
7
7
|
fenix_mcp/application/tools/health.py,sha256=m5DxhoRbdwl6INzd6PISxv1NAv-ljCrezsr773VB0wE,834
|
|
8
|
-
fenix_mcp/application/tools/initialize.py,sha256=
|
|
9
|
-
fenix_mcp/application/tools/intelligence.py,sha256=
|
|
10
|
-
fenix_mcp/application/tools/knowledge.py,sha256=
|
|
11
|
-
fenix_mcp/application/tools/productivity.py,sha256=
|
|
12
|
-
fenix_mcp/application/tools/user_config.py,sha256=
|
|
8
|
+
fenix_mcp/application/tools/initialize.py,sha256=YfsE3fVYiqGEwvaI_jg5-0K7pGURXxpB3WNwETmGBPc,5499
|
|
9
|
+
fenix_mcp/application/tools/intelligence.py,sha256=3HRPMQEx5cyKBCjkIpN48W1YibduxQ2h07lQtERQ0aY,15105
|
|
10
|
+
fenix_mcp/application/tools/knowledge.py,sha256=MVtXBXAY8PKw5iR-RYBgiGUlgyekjSTAIIaMUSFBdmE,48516
|
|
11
|
+
fenix_mcp/application/tools/productivity.py,sha256=bC6HqBHlvjzHvNbfcRp7W6-Z6HHwDS5B8_rTBde0dyo,10033
|
|
12
|
+
fenix_mcp/application/tools/user_config.py,sha256=O5AVg7IUKL9uIoUoBSFovBDHl9jofhKWzhFK7CnKi4s,6470
|
|
13
13
|
fenix_mcp/domain/initialization.py,sha256=AZhdSNITQ7O3clELBuqGvjJc-c8pFKc7zQz-XR2xXPc,6933
|
|
14
14
|
fenix_mcp/domain/intelligence.py,sha256=j1kkxT-pjuzLQeAGDd2H8gd3O1aeUIRgHFnMGvNwQYg,8636
|
|
15
|
-
fenix_mcp/domain/knowledge.py,sha256=
|
|
15
|
+
fenix_mcp/domain/knowledge.py,sha256=PG8GinNNgM-UatnzPbNcs5UGOLLvr_UzU9ZThNoDh3w,20307
|
|
16
16
|
fenix_mcp/domain/productivity.py,sha256=nmHRuVJGRRu1s4eMoAv8vXHKsSauCPl-FvFx3I_yCTE,6661
|
|
17
|
-
fenix_mcp/domain/user_config.py,sha256=
|
|
17
|
+
fenix_mcp/domain/user_config.py,sha256=8rzhJCNqIArfaCoKxxQXFoemCU7qww3hq0RDanIf_2Y,2028
|
|
18
18
|
fenix_mcp/infrastructure/config.py,sha256=zhJ3hhsP-bRfICcdq8rIDh5NGDe_u7AGpcgjcc2U1nY,1908
|
|
19
19
|
fenix_mcp/infrastructure/context.py,sha256=kiDiamiPbHZpTGyZMylcQwtLhfaDXrxAkWSst_DWQNw,470
|
|
20
20
|
fenix_mcp/infrastructure/http_client.py,sha256=QLIPhGYR_cBQGsbIO4RTR6ksyvkQt-OKHQU1JhPyap8,2470
|
|
21
21
|
fenix_mcp/infrastructure/logging.py,sha256=bHrWlSi_0HshRe3--BK_5nzUszW-gh37q6jsd0ShS2Y,1371
|
|
22
|
-
fenix_mcp/infrastructure/fenix_api/client.py,sha256=
|
|
22
|
+
fenix_mcp/infrastructure/fenix_api/client.py,sha256=E6TW6hvF8xPGM0HGIumnv72TmCqqkoCoDIjnYwqGFnQ,27514
|
|
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-
|
|
26
|
-
fenix_mcp-
|
|
27
|
-
fenix_mcp-
|
|
28
|
-
fenix_mcp-
|
|
29
|
-
fenix_mcp-
|
|
25
|
+
fenix_mcp-1.1.0.dist-info/METADATA,sha256=O__WlTO3_huB8Kidn1HkD-lA_ze4HW0-17nJXcfhX1c,7260
|
|
26
|
+
fenix_mcp-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
27
|
+
fenix_mcp-1.1.0.dist-info/entry_points.txt,sha256=o52x_YHBupEd-1Z1GSfUjv3gJrx5_I-EkHhCgt1WBaE,49
|
|
28
|
+
fenix_mcp-1.1.0.dist-info/top_level.txt,sha256=2G1UtKpwjaIGQyE7sRoHecxaGLeuexfjrOUjv9DDKh4,10
|
|
29
|
+
fenix_mcp-1.1.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|