mcp-ticketer 0.1.29__py3-none-any.whl → 0.1.30__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.
Potentially problematic release.
This version of mcp-ticketer might be problematic. Click here for more details.
- mcp_ticketer/__version__.py +1 -1
- mcp_ticketer/cli/diagnostics.py +108 -21
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/METADATA +1 -1
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/RECORD +8 -8
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/WHEEL +0 -0
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/entry_points.txt +0 -0
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/licenses/LICENSE +0 -0
- {mcp_ticketer-0.1.29.dist-info → mcp_ticketer-0.1.30.dist-info}/top_level.txt +0 -0
mcp_ticketer/__version__.py
CHANGED
mcp_ticketer/cli/diagnostics.py
CHANGED
|
@@ -15,22 +15,58 @@ from rich.panel import Panel
|
|
|
15
15
|
from rich.table import Table
|
|
16
16
|
from rich.text import Text
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
def safe_import_config():
|
|
19
|
+
"""Safely import configuration with fallback."""
|
|
20
|
+
try:
|
|
21
|
+
from ..core.config import get_config
|
|
22
|
+
return get_config
|
|
23
|
+
except ImportError:
|
|
24
|
+
# Create a minimal config fallback
|
|
25
|
+
class MockConfig:
|
|
26
|
+
def get_enabled_adapters(self):
|
|
27
|
+
return {}
|
|
28
|
+
|
|
29
|
+
@property
|
|
30
|
+
def default_adapter(self):
|
|
31
|
+
return "aitrackdown"
|
|
32
|
+
|
|
33
|
+
def get_config():
|
|
34
|
+
return MockConfig()
|
|
35
|
+
|
|
36
|
+
return get_config
|
|
37
|
+
|
|
38
|
+
def safe_import_registry():
|
|
39
|
+
"""Safely import adapter registry with fallback."""
|
|
40
|
+
try:
|
|
41
|
+
from ..core.registry import AdapterRegistry
|
|
42
|
+
return AdapterRegistry
|
|
43
|
+
except ImportError:
|
|
44
|
+
class MockRegistry:
|
|
45
|
+
@staticmethod
|
|
46
|
+
def get_adapter(adapter_type):
|
|
47
|
+
raise ImportError(f"Adapter {adapter_type} not available")
|
|
48
|
+
|
|
49
|
+
return MockRegistry
|
|
50
|
+
|
|
51
|
+
def safe_import_queue_manager():
|
|
52
|
+
"""Safely import queue manager with fallback."""
|
|
53
|
+
try:
|
|
54
|
+
from ..queue.manager import QueueManager
|
|
55
|
+
return QueueManager
|
|
56
|
+
except ImportError:
|
|
57
|
+
class MockQueueManager:
|
|
58
|
+
def get_worker_status(self):
|
|
59
|
+
return {"running": False, "pid": None}
|
|
60
|
+
|
|
61
|
+
def get_queue_stats(self):
|
|
62
|
+
return {"total": 0, "failed": 0}
|
|
63
|
+
|
|
64
|
+
return MockQueueManager
|
|
65
|
+
|
|
66
|
+
# Initialize with safe imports
|
|
67
|
+
get_config = safe_import_config()
|
|
68
|
+
AdapterRegistry = safe_import_registry()
|
|
69
|
+
QueueManager = safe_import_queue_manager()
|
|
34
70
|
|
|
35
71
|
console = Console()
|
|
36
72
|
logger = logging.getLogger(__name__)
|
|
@@ -40,22 +76,37 @@ class SystemDiagnostics:
|
|
|
40
76
|
"""Comprehensive system diagnostics and health reporting."""
|
|
41
77
|
|
|
42
78
|
def __init__(self):
|
|
79
|
+
# Initialize lists first
|
|
80
|
+
self.issues = []
|
|
81
|
+
self.warnings = []
|
|
82
|
+
self.successes = []
|
|
83
|
+
|
|
43
84
|
try:
|
|
44
85
|
self.config = get_config()
|
|
86
|
+
# Check if this is a mock config
|
|
87
|
+
if hasattr(self.config, '__class__') and 'Mock' in self.config.__class__.__name__:
|
|
88
|
+
self.config_available = False
|
|
89
|
+
self.warnings.append("Configuration system using fallback mode")
|
|
90
|
+
else:
|
|
91
|
+
self.config_available = True
|
|
45
92
|
except Exception as e:
|
|
46
93
|
self.config = None
|
|
94
|
+
self.config_available = False
|
|
47
95
|
console.print(f"⚠️ Could not load configuration: {e}")
|
|
48
96
|
|
|
49
97
|
try:
|
|
50
|
-
self.queue_manager = QueueManager()
|
|
98
|
+
self.queue_manager = QueueManager()
|
|
99
|
+
# Check if this is a mock queue manager
|
|
100
|
+
if hasattr(self.queue_manager, '__class__') and 'Mock' in self.queue_manager.__class__.__name__:
|
|
101
|
+
self.queue_available = False
|
|
102
|
+
self.warnings.append("Queue system using fallback mode")
|
|
103
|
+
else:
|
|
104
|
+
self.queue_available = True
|
|
51
105
|
except Exception as e:
|
|
52
106
|
self.queue_manager = None
|
|
107
|
+
self.queue_available = False
|
|
53
108
|
console.print(f"⚠️ Could not initialize queue manager: {e}")
|
|
54
109
|
|
|
55
|
-
self.issues = []
|
|
56
|
-
self.warnings = []
|
|
57
|
-
self.successes = []
|
|
58
|
-
|
|
59
110
|
async def run_full_diagnosis(self) -> Dict[str, Any]:
|
|
60
111
|
"""Run complete system diagnosis and return detailed report."""
|
|
61
112
|
console.print("\n🔍 [bold blue]MCP Ticketer System Diagnosis[/bold blue]")
|
|
@@ -112,6 +163,33 @@ class SystemDiagnostics:
|
|
|
112
163
|
console.print(f"❌ {issue}")
|
|
113
164
|
return config_status
|
|
114
165
|
|
|
166
|
+
if not self.config_available:
|
|
167
|
+
warning = "Configuration system in fallback mode - limited functionality"
|
|
168
|
+
config_status["issues"].append(warning)
|
|
169
|
+
config_status["status"] = "degraded"
|
|
170
|
+
self.warnings.append(warning)
|
|
171
|
+
console.print(f"⚠️ {warning}")
|
|
172
|
+
|
|
173
|
+
# Try to detect adapters from environment variables
|
|
174
|
+
import os
|
|
175
|
+
env_adapters = []
|
|
176
|
+
if os.getenv("LINEAR_API_KEY"):
|
|
177
|
+
env_adapters.append("linear")
|
|
178
|
+
if os.getenv("GITHUB_TOKEN"):
|
|
179
|
+
env_adapters.append("github")
|
|
180
|
+
if os.getenv("JIRA_SERVER"):
|
|
181
|
+
env_adapters.append("jira")
|
|
182
|
+
|
|
183
|
+
config_status["adapters_configured"] = len(env_adapters)
|
|
184
|
+
config_status["default_adapter"] = "aitrackdown"
|
|
185
|
+
|
|
186
|
+
if env_adapters:
|
|
187
|
+
console.print(f"ℹ️ Detected {len(env_adapters)} adapter(s) from environment: {', '.join(env_adapters)}")
|
|
188
|
+
else:
|
|
189
|
+
console.print("ℹ️ No adapter environment variables detected, using aitrackdown")
|
|
190
|
+
|
|
191
|
+
return config_status
|
|
192
|
+
|
|
115
193
|
try:
|
|
116
194
|
# Check adapter configurations
|
|
117
195
|
adapters = self.config.get_enabled_adapters()
|
|
@@ -238,6 +316,15 @@ class SystemDiagnostics:
|
|
|
238
316
|
}
|
|
239
317
|
|
|
240
318
|
try:
|
|
319
|
+
if not self.queue_available:
|
|
320
|
+
warning = "Queue system in fallback mode - limited functionality"
|
|
321
|
+
self.warnings.append(warning)
|
|
322
|
+
console.print(f"⚠️ {warning}")
|
|
323
|
+
queue_status["worker_running"] = False
|
|
324
|
+
queue_status["worker_pid"] = None
|
|
325
|
+
queue_status["health_score"] = 50 # Degraded but not critical
|
|
326
|
+
return queue_status
|
|
327
|
+
|
|
241
328
|
# Check worker status
|
|
242
329
|
worker_status = self.queue_manager.get_worker_status()
|
|
243
330
|
queue_status["worker_running"] = worker_status.get("running", False)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-ticketer
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.30
|
|
4
4
|
Summary: Universal ticket management interface for AI agents with MCP support
|
|
5
5
|
Author-email: MCP Ticketer Team <support@mcp-ticketer.io>
|
|
6
6
|
Maintainer-email: MCP Ticketer Team <support@mcp-ticketer.io>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
mcp_ticketer/__init__.py,sha256=Xx4WaprO5PXhVPbYi1L6tBmwmJMkYS-lMyG4ieN6QP0,717
|
|
2
|
-
mcp_ticketer/__version__.py,sha256=
|
|
2
|
+
mcp_ticketer/__version__.py,sha256=y7yURZVuwtSStGlJ4RI4JrAK3qRSBtOqe64wfkDPASY,1118
|
|
3
3
|
mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
mcp_ticketer/adapters/__init__.py,sha256=B5DFllWn23hkhmrLykNO5uMMSdcFuuPHXyLw_jyFzuE,358
|
|
5
5
|
mcp_ticketer/adapters/aitrackdown.py,sha256=stlbge8K6w-EyQkw_vEQNSXQgCOWN5tOlQUgGWZQNMQ,17936
|
|
@@ -13,7 +13,7 @@ mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,
|
|
|
13
13
|
mcp_ticketer/cli/auggie_configure.py,sha256=MXKzLtqe3K_UTQ2GacHAWbvf_B0779KL325smiAKE0Q,8212
|
|
14
14
|
mcp_ticketer/cli/codex_configure.py,sha256=xDppHouT6_-cYXswyAggoPX5bSlRXMvCoM_x9PQ-42A,9086
|
|
15
15
|
mcp_ticketer/cli/configure.py,sha256=BsA_pSHQMQS0t1bJO_wMM8LWsd5sWJDASjEPRHvwC18,16198
|
|
16
|
-
mcp_ticketer/cli/diagnostics.py,sha256=
|
|
16
|
+
mcp_ticketer/cli/diagnostics.py,sha256=edTmM0OEDNiMYTvQ56HK304EUNUBtYejMaKmpJTpomY,22821
|
|
17
17
|
mcp_ticketer/cli/discover.py,sha256=AF_qlQc1Oo0UkWayoF5pmRChS5J3fJjH6f2YZzd_k8w,13188
|
|
18
18
|
mcp_ticketer/cli/gemini_configure.py,sha256=ZNSA1lBW-itVToza-JxW95Po7daVXKiZAh7lp6pmXMU,9343
|
|
19
19
|
mcp_ticketer/cli/main.py,sha256=TxhCdmEi97rrDkCd0nT4KYRtZSboTfPSrw7SL607goA,54970
|
|
@@ -41,9 +41,9 @@ mcp_ticketer/queue/queue.py,sha256=jSAkYNEIbNH1cbYuF8s6eFuZmXqn8WHXx3mbfMU2Ud8,1
|
|
|
41
41
|
mcp_ticketer/queue/run_worker.py,sha256=_IBezjvhbJJ7gn0evTBIMbSPjvfFZwxEdT-1DLo_bRk,799
|
|
42
42
|
mcp_ticketer/queue/ticket_registry.py,sha256=k8FYg2cFYsI4POb94-o-fTrIVr-ttfi60r0O5YhJYck,15321
|
|
43
43
|
mcp_ticketer/queue/worker.py,sha256=TLXXXTAQT1k9Oiw2WjSd8bzT3rr8TQ8NLt9JBovGQEA,18679
|
|
44
|
-
mcp_ticketer-0.1.
|
|
45
|
-
mcp_ticketer-0.1.
|
|
46
|
-
mcp_ticketer-0.1.
|
|
47
|
-
mcp_ticketer-0.1.
|
|
48
|
-
mcp_ticketer-0.1.
|
|
49
|
-
mcp_ticketer-0.1.
|
|
44
|
+
mcp_ticketer-0.1.30.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
|
|
45
|
+
mcp_ticketer-0.1.30.dist-info/METADATA,sha256=11bfR6cQYqZexr0tCmf4Tvw-vE0A5A1oQmsrK4kqFMM,13191
|
|
46
|
+
mcp_ticketer-0.1.30.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
47
|
+
mcp_ticketer-0.1.30.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
|
|
48
|
+
mcp_ticketer-0.1.30.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
|
|
49
|
+
mcp_ticketer-0.1.30.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|