mcp-ticketer 0.4.4__py3-none-any.whl → 0.4.8__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/__init__.py +3 -12
- mcp_ticketer/__version__.py +1 -1
- mcp_ticketer/adapters/aitrackdown.py +2 -9
- mcp_ticketer/adapters/github.py +2 -1
- mcp_ticketer/adapters/jira.py +2 -1
- mcp_ticketer/adapters/linear/adapter.py +28 -25
- mcp_ticketer/adapters/linear/client.py +2 -1
- mcp_ticketer/adapters/linear/mappers.py +2 -1
- mcp_ticketer/cli/adapter_diagnostics.py +4 -2
- mcp_ticketer/cli/auggie_configure.py +35 -15
- mcp_ticketer/cli/codex_configure.py +38 -31
- mcp_ticketer/cli/configure.py +3 -9
- mcp_ticketer/cli/discover.py +2 -6
- mcp_ticketer/cli/gemini_configure.py +38 -25
- mcp_ticketer/cli/main.py +4 -3
- mcp_ticketer/cli/mcp_configure.py +115 -78
- mcp_ticketer/cli/python_detection.py +126 -0
- mcp_ticketer/core/__init__.py +2 -1
- mcp_ticketer/mcp/__init__.py +29 -1
- mcp_ticketer/mcp/__main__.py +60 -0
- mcp_ticketer/mcp/server/__init__.py +21 -0
- mcp_ticketer/mcp/server/__main__.py +60 -0
- mcp_ticketer/mcp/{server.py → server/main.py} +15 -35
- mcp_ticketer/mcp/{tools → server/tools}/__init__.py +7 -9
- mcp_ticketer/queue/__init__.py +1 -0
- mcp_ticketer/queue/manager.py +10 -46
- mcp_ticketer/queue/ticket_registry.py +5 -5
- {mcp_ticketer-0.4.4.dist-info → mcp_ticketer-0.4.8.dist-info}/METADATA +13 -4
- mcp_ticketer-0.4.8.dist-info/RECORD +77 -0
- mcp_ticketer-0.4.4.dist-info/RECORD +0 -73
- /mcp_ticketer/mcp/{constants.py → server/constants.py} +0 -0
- /mcp_ticketer/mcp/{dto.py → server/dto.py} +0 -0
- /mcp_ticketer/mcp/{response_builder.py → server/response_builder.py} +0 -0
- /mcp_ticketer/mcp/{server_sdk.py → server/server_sdk.py} +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/attachment_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/bulk_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/comment_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/hierarchy_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/pr_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/search_tools.py +0 -0
- /mcp_ticketer/mcp/{tools → server/tools}/ticket_tools.py +0 -0
- {mcp_ticketer-0.4.4.dist-info → mcp_ticketer-0.4.8.dist-info}/WHEEL +0 -0
- {mcp_ticketer-0.4.4.dist-info → mcp_ticketer-0.4.8.dist-info}/entry_points.txt +0 -0
- {mcp_ticketer-0.4.4.dist-info → mcp_ticketer-0.4.8.dist-info}/licenses/LICENSE +0 -0
- {mcp_ticketer-0.4.4.dist-info → mcp_ticketer-0.4.8.dist-info}/top_level.txt +0 -0
mcp_ticketer/queue/__init__.py
CHANGED
mcp_ticketer/queue/manager.py
CHANGED
|
@@ -4,14 +4,14 @@ import fcntl
|
|
|
4
4
|
import logging
|
|
5
5
|
import os
|
|
6
6
|
import subprocess
|
|
7
|
-
import sys
|
|
8
7
|
import time
|
|
9
8
|
from pathlib import Path
|
|
10
|
-
from typing import Any
|
|
9
|
+
from typing import TYPE_CHECKING, Any
|
|
11
10
|
|
|
12
11
|
import psutil
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
pass
|
|
15
15
|
|
|
16
16
|
logger = logging.getLogger(__name__)
|
|
17
17
|
|
|
@@ -21,6 +21,9 @@ class WorkerManager:
|
|
|
21
21
|
|
|
22
22
|
def __init__(self):
|
|
23
23
|
"""Initialize worker manager."""
|
|
24
|
+
# Lazy import to avoid circular dependency
|
|
25
|
+
from .queue import Queue
|
|
26
|
+
|
|
24
27
|
self.lock_file = Path.home() / ".mcp-ticketer" / "worker.lock"
|
|
25
28
|
self.pid_file = Path.home() / ".mcp-ticketer" / "worker.pid"
|
|
26
29
|
self.lock_file.parent.mkdir(parents=True, exist_ok=True)
|
|
@@ -123,7 +126,10 @@ class WorkerManager:
|
|
|
123
126
|
try:
|
|
124
127
|
# Start worker in subprocess using the same Python executable as the CLI
|
|
125
128
|
# This ensures the worker can import mcp_ticketer modules
|
|
126
|
-
|
|
129
|
+
# Lazy import to avoid circular dependency
|
|
130
|
+
from ..cli.python_detection import get_mcp_ticketer_python
|
|
131
|
+
|
|
132
|
+
python_executable = get_mcp_ticketer_python()
|
|
127
133
|
cmd = [python_executable, "-m", "mcp_ticketer.queue.run_worker"]
|
|
128
134
|
|
|
129
135
|
# Prepare environment for subprocess
|
|
@@ -320,48 +326,6 @@ class WorkerManager:
|
|
|
320
326
|
except (OSError, ValueError):
|
|
321
327
|
return None
|
|
322
328
|
|
|
323
|
-
def _get_python_executable(self) -> str:
|
|
324
|
-
"""Get the correct Python executable for the worker subprocess.
|
|
325
|
-
|
|
326
|
-
This ensures the worker uses the same Python environment as the CLI,
|
|
327
|
-
which is critical for module imports to work correctly.
|
|
328
|
-
|
|
329
|
-
Returns:
|
|
330
|
-
Path to Python executable
|
|
331
|
-
|
|
332
|
-
"""
|
|
333
|
-
# First, try to detect if we're running in a pipx environment
|
|
334
|
-
# by checking if the current executable is in a pipx venv
|
|
335
|
-
current_executable = sys.executable
|
|
336
|
-
|
|
337
|
-
# Check if we're in a pipx venv (path contains /pipx/venvs/)
|
|
338
|
-
if "/pipx/venvs/" in current_executable:
|
|
339
|
-
logger.debug(f"Using pipx Python executable: {current_executable}")
|
|
340
|
-
return current_executable
|
|
341
|
-
|
|
342
|
-
# Check if we can find the mcp-ticketer executable and extract its Python
|
|
343
|
-
import shutil
|
|
344
|
-
|
|
345
|
-
mcp_ticketer_path = shutil.which("mcp-ticketer")
|
|
346
|
-
if mcp_ticketer_path:
|
|
347
|
-
try:
|
|
348
|
-
# Read the shebang line to get the Python executable
|
|
349
|
-
with open(mcp_ticketer_path) as f:
|
|
350
|
-
first_line = f.readline().strip()
|
|
351
|
-
if first_line.startswith("#!") and "python" in first_line:
|
|
352
|
-
python_path = first_line[2:].strip()
|
|
353
|
-
if os.path.exists(python_path):
|
|
354
|
-
logger.debug(
|
|
355
|
-
f"Using Python from mcp-ticketer shebang: {python_path}"
|
|
356
|
-
)
|
|
357
|
-
return python_path
|
|
358
|
-
except OSError:
|
|
359
|
-
pass
|
|
360
|
-
|
|
361
|
-
# Fallback to sys.executable
|
|
362
|
-
logger.debug(f"Using sys.executable as fallback: {current_executable}")
|
|
363
|
-
return current_executable
|
|
364
|
-
|
|
365
329
|
def _cleanup(self):
|
|
366
330
|
"""Clean up lock and PID files."""
|
|
367
331
|
self._release_lock()
|
|
@@ -202,7 +202,7 @@ class TicketRegistry:
|
|
|
202
202
|
return None
|
|
203
203
|
|
|
204
204
|
columns = [desc[0] for desc in cursor.description]
|
|
205
|
-
ticket_info = dict(zip(columns, row))
|
|
205
|
+
ticket_info = dict(zip(columns, row, strict=False))
|
|
206
206
|
|
|
207
207
|
# Parse JSON fields
|
|
208
208
|
if ticket_info.get("ticket_data"):
|
|
@@ -236,7 +236,7 @@ class TicketRegistry:
|
|
|
236
236
|
columns = [desc[0] for desc in cursor.description]
|
|
237
237
|
|
|
238
238
|
for row in cursor.fetchall():
|
|
239
|
-
ticket_info = dict(zip(columns, row))
|
|
239
|
+
ticket_info = dict(zip(columns, row, strict=False))
|
|
240
240
|
|
|
241
241
|
# Parse JSON fields
|
|
242
242
|
if ticket_info.get("ticket_data"):
|
|
@@ -273,7 +273,7 @@ class TicketRegistry:
|
|
|
273
273
|
columns = [desc[0] for desc in cursor.description]
|
|
274
274
|
|
|
275
275
|
for row in cursor.fetchall():
|
|
276
|
-
ticket_info = dict(zip(columns, row))
|
|
276
|
+
ticket_info = dict(zip(columns, row, strict=False))
|
|
277
277
|
|
|
278
278
|
# Parse JSON fields
|
|
279
279
|
if ticket_info.get("ticket_data"):
|
|
@@ -306,7 +306,7 @@ class TicketRegistry:
|
|
|
306
306
|
columns = [desc[0] for desc in cursor.description]
|
|
307
307
|
|
|
308
308
|
for row in cursor.fetchall():
|
|
309
|
-
ticket_info = dict(zip(columns, row))
|
|
309
|
+
ticket_info = dict(zip(columns, row, strict=False))
|
|
310
310
|
|
|
311
311
|
# Parse JSON fields
|
|
312
312
|
if ticket_info.get("ticket_data"):
|
|
@@ -436,7 +436,7 @@ class TicketRegistry:
|
|
|
436
436
|
columns = [desc[0] for desc in cursor.description]
|
|
437
437
|
|
|
438
438
|
for row in cursor.fetchall():
|
|
439
|
-
recovery_info = dict(zip(columns, row))
|
|
439
|
+
recovery_info = dict(zip(columns, row, strict=False))
|
|
440
440
|
if recovery_info.get("recovery_data"):
|
|
441
441
|
recovery_info["recovery_data"] = json.loads(
|
|
442
442
|
recovery_info["recovery_data"]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mcp-ticketer
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.8
|
|
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>
|
|
@@ -282,16 +282,25 @@ mcp-ticketer uninstall auggie # Alias for remove
|
|
|
282
282
|
{
|
|
283
283
|
"mcpServers": {
|
|
284
284
|
"mcp-ticketer": {
|
|
285
|
-
"command": "/path/to/
|
|
286
|
-
"args": ["
|
|
285
|
+
"command": "/path/to/venv/bin/python",
|
|
286
|
+
"args": ["-m", "mcp_ticketer.mcp.server", "/absolute/path/to/project"],
|
|
287
287
|
"env": {
|
|
288
|
-
"MCP_TICKETER_ADAPTER": "aitrackdown"
|
|
288
|
+
"MCP_TICKETER_ADAPTER": "aitrackdown",
|
|
289
|
+
"PYTHONPATH": "/absolute/path/to/project"
|
|
289
290
|
}
|
|
290
291
|
}
|
|
291
292
|
}
|
|
292
293
|
}
|
|
293
294
|
```
|
|
294
295
|
|
|
296
|
+
**Why this pattern?**
|
|
297
|
+
- **More Reliable**: Uses venv Python directly instead of binary wrapper
|
|
298
|
+
- **Consistent**: Matches proven mcp-vector-search pattern
|
|
299
|
+
- **Universal**: Works across pipx, pip, and uv installations
|
|
300
|
+
- **Better Errors**: Python module invocation provides clearer error messages
|
|
301
|
+
|
|
302
|
+
**Automatic Detection**: The `mcp-ticketer install` commands automatically detect your venv Python and generate the correct configuration.
|
|
303
|
+
|
|
295
304
|
**See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for client-specific details.**
|
|
296
305
|
|
|
297
306
|
## ⚙️ Configuration
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
mcp_ticketer/__init__.py,sha256=-8ko5W0ZFF5rWaiSCyTAiK6XLomlwnAWGfG9ntQHV5o,506
|
|
2
|
+
mcp_ticketer/__version__.py,sha256=FMOVq48ReNbDNx45K2GXmJbg-G-9wct72RfE7DidR60,1117
|
|
3
|
+
mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
mcp_ticketer/adapters/__init__.py,sha256=B5DFllWn23hkhmrLykNO5uMMSdcFuuPHXyLw_jyFzuE,358
|
|
5
|
+
mcp_ticketer/adapters/aitrackdown.py,sha256=hLjmc1RtWjsUEPZD-v_gQ1BGyTMe1tcuArKFknsMDtY,30316
|
|
6
|
+
mcp_ticketer/adapters/github.py,sha256=tsMPeF-qwkul0WEPrXx9T-DjTx0O--aAIePqJ3hqCt8,47367
|
|
7
|
+
mcp_ticketer/adapters/hybrid.py,sha256=7ocRjK7N7FdXSUCeFc23jFevfVwcPvHPIsEPXV_4o1w,18997
|
|
8
|
+
mcp_ticketer/adapters/jira.py,sha256=VR1Xnlhp6EI1XmQbinFn9lch3G7MFUvDYnPg4kv1lUk,35233
|
|
9
|
+
mcp_ticketer/adapters/linear.py,sha256=trm6ZhmlUl80sj51WAPAox_R2HQZXZ-h1QXJsrFYDCQ,587
|
|
10
|
+
mcp_ticketer/adapters/linear/__init__.py,sha256=6l0ZoR6ZHSRcytLfps2AZuk5R189Pq1GfR5-YDQt8-Q,731
|
|
11
|
+
mcp_ticketer/adapters/linear/adapter.py,sha256=kx1XQGhHWpco_QyEEw08ZKMT40A_GVi9KfGpIpyVD2k,31831
|
|
12
|
+
mcp_ticketer/adapters/linear/client.py,sha256=KcLDTVOgUnOaSJS4domu0dmkslBipNfG5pPoVJ3M0a0,8837
|
|
13
|
+
mcp_ticketer/adapters/linear/mappers.py,sha256=76UbR2GvkVuAcT4T7EAQSFfagcGOQcLKElwVAXsFQ10,9653
|
|
14
|
+
mcp_ticketer/adapters/linear/queries.py,sha256=K8y7xc3iH-q9LEUmg-0YDBhh546LAwLZDvVLkzx3yY4,7223
|
|
15
|
+
mcp_ticketer/adapters/linear/types.py,sha256=ugXtRGLljDw6yoCnEVgdFs0xLR9ErLdnv4ffh9EAUhk,7874
|
|
16
|
+
mcp_ticketer/cache/__init__.py,sha256=Xcd-cKnt-Cx7jBzvfzUUUPaGkmyXFi5XUFWw3Z4b7d4,138
|
|
17
|
+
mcp_ticketer/cache/memory.py,sha256=rWphWZy7XTbHezC7HMRQN9ISUhYo0Pc2OTgLG30vHnI,5047
|
|
18
|
+
mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,89
|
|
19
|
+
mcp_ticketer/cli/adapter_diagnostics.py,sha256=k7RBEbDx5_hiv8IqcJIDjvktmlDFO8mOqRW8JkZqUZ0,15040
|
|
20
|
+
mcp_ticketer/cli/auggie_configure.py,sha256=BA31HvOXljPqi3QMKt5eI5jYUWCnnH00sDqwR3y2nSY,11701
|
|
21
|
+
mcp_ticketer/cli/codex_configure.py,sha256=LLGzsFjCNO3irtabSazCpsZ5eUmG6eAjCNn6B5M4aHQ,12249
|
|
22
|
+
mcp_ticketer/cli/configure.py,sha256=nO1G7E0y0GN5AcCRhBnU23j7kTLxF0GkQukLIYyB_0E,16197
|
|
23
|
+
mcp_ticketer/cli/diagnostics.py,sha256=s7P4vDzPpthgiBJfAOXpunlhZ62buHg_BA5W7ghQBqg,29952
|
|
24
|
+
mcp_ticketer/cli/discover.py,sha256=CcQo5w2ISYMM1VDp34SHgyCMNazZ8w6DYkzCk49OU3Q,13164
|
|
25
|
+
mcp_ticketer/cli/gemini_configure.py,sha256=GXbQkfZGsmx_2cJKxH_5z3JdcwpMopF0duI_TzbKip8,12644
|
|
26
|
+
mcp_ticketer/cli/linear_commands.py,sha256=YnmqRacAfTdF0CLr4BXOxFs3uwm_hVifbGdTe6t2CfA,17273
|
|
27
|
+
mcp_ticketer/cli/main.py,sha256=p4_Ryjtaz2pmvGJPkSDc4O5rS11EAdL3LTXjF8uC84o,89290
|
|
28
|
+
mcp_ticketer/cli/mcp_configure.py,sha256=dgApMLBApLxU0fvFOyDBkX69GOGVNTXhAKM-hZGw5v8,14142
|
|
29
|
+
mcp_ticketer/cli/migrate_config.py,sha256=MYsr_C5ZxsGg0P13etWTWNrJ_lc6ElRCkzfQADYr3DM,5956
|
|
30
|
+
mcp_ticketer/cli/platform_commands.py,sha256=pTLRT2wot8dAmy1-roJWWOT0Cxu7j-06BlWDnZ9a4jY,3624
|
|
31
|
+
mcp_ticketer/cli/python_detection.py,sha256=qmhi0CIDKH_AUVGkJ9jyY1zBpx1cwiQNv0vnEvMYDFQ,4272
|
|
32
|
+
mcp_ticketer/cli/queue_commands.py,sha256=mm-3H6jmkUGJDyU_E46o9iRpek8tvFCm77F19OtHiZI,7884
|
|
33
|
+
mcp_ticketer/cli/simple_health.py,sha256=GlOLRRFoifCna995NoHuKpb3xmFkLi2b3Ke1hyeDvq4,7950
|
|
34
|
+
mcp_ticketer/cli/ticket_commands.py,sha256=zmtePGhZzhw_r-0xWQMzXSJMo684PlzEN5LYfcR3_dw,26589
|
|
35
|
+
mcp_ticketer/cli/utils.py,sha256=JU2CtdA8pLaH0R5Xpb_Z4-W-PvQfzhbXl9VR04vzMSE,22992
|
|
36
|
+
mcp_ticketer/core/__init__.py,sha256=-G2Pn9sXdC1XxdFXfxTWV5QS3vC0HvqCGxPM1MtC6lE,402
|
|
37
|
+
mcp_ticketer/core/adapter.py,sha256=K8bQ9fQRN6Xjaxgl24f6X5u0PVmj9WFof_MOKapDHbU,12136
|
|
38
|
+
mcp_ticketer/core/config.py,sha256=q95coT6zDAVbN6eFFe6HUHXyqBm669z8g8nKWNfL8fs,19251
|
|
39
|
+
mcp_ticketer/core/env_discovery.py,sha256=iZnmtv1RWnmjjih0iFEInOoK9CU9_oNpfNgmiToQ5wk,19934
|
|
40
|
+
mcp_ticketer/core/env_loader.py,sha256=OaSQkH3ldpeLdw_zIe9QFQxOfnZZLLJa4wFxi1shEqs,11835
|
|
41
|
+
mcp_ticketer/core/exceptions.py,sha256=H1gUmNiOjVXn4CT-JLQcGXmjWxHaxxdFvwcpJLTrs-U,3621
|
|
42
|
+
mcp_ticketer/core/http_client.py,sha256=hCHn0iU52RUFCsa_DwNffTrAk1OxKND9k09NUrHkroo,13900
|
|
43
|
+
mcp_ticketer/core/mappers.py,sha256=okte6EV_OuPvnM1KXHUcfrpPd7TWnKh44X3_W3HxwiI,17419
|
|
44
|
+
mcp_ticketer/core/models.py,sha256=ABKdyAkEkKtMF_d6D8_qRL-2ujz1DshemHSyqTPUthA,14448
|
|
45
|
+
mcp_ticketer/core/project_config.py,sha256=DmLekuMuOgNtzg-olOU4Utv00DdCH1-CXuoooA-adMs,23609
|
|
46
|
+
mcp_ticketer/core/registry.py,sha256=gBeXcZ3grHl9gYFbyRp-C4IM7SD_KGTeXT_1jG8XrCc,3470
|
|
47
|
+
mcp_ticketer/mcp/__init__.py,sha256=XscFBOFeIxBNgA_8yPLl6c75-YJCcIN2I9eoLEGsBdM,864
|
|
48
|
+
mcp_ticketer/mcp/__main__.py,sha256=Fo_5KJOFako2gi1Z1kk5zEt2sGJW6BX6oXlYp7twYTs,1713
|
|
49
|
+
mcp_ticketer/mcp/server/__init__.py,sha256=2ll9kLEEiKP_NtvJghHVz6TG2p7xwIUBRqlxZKWRCvU,509
|
|
50
|
+
mcp_ticketer/mcp/server/__main__.py,sha256=xE1n94M5n2tKyT6qFIOXaqRXX7L--SxmCglKUPcljG0,1711
|
|
51
|
+
mcp_ticketer/mcp/server/constants.py,sha256=EBGsJtBPaTCvAm5rOMknckrXActrNIls7lRklnh1L4s,2072
|
|
52
|
+
mcp_ticketer/mcp/server/dto.py,sha256=FR_OBtaxrno8AsHynPwUUW715iAoaBkrr7Ud8HZTQW8,7233
|
|
53
|
+
mcp_ticketer/mcp/server/main.py,sha256=FYkZ-sg3eKJMu8ICmmRBGDgfqV6oXY2Fv1l2sMH4gUc,48976
|
|
54
|
+
mcp_ticketer/mcp/server/response_builder.py,sha256=DUfe1e0CcXPlepLq-cGH6b_THqoZEynYfVKkZEeLe0M,4933
|
|
55
|
+
mcp_ticketer/mcp/server/server_sdk.py,sha256=orgOTrvrtBn2BeMJt5HWeodvCU9sWH4o5pQIZ_geXao,2552
|
|
56
|
+
mcp_ticketer/mcp/server/tools/__init__.py,sha256=uXViWZoVOkU3MqvnNvuMRMD4BNcbruwvMQstFr_cLh4,1101
|
|
57
|
+
mcp_ticketer/mcp/server/tools/attachment_tools.py,sha256=hDeQV1rkSjZwT__FKLkR04FH_AsAF6QysyeP_CKxdiU,5673
|
|
58
|
+
mcp_ticketer/mcp/server/tools/bulk_tools.py,sha256=UWY1T5DnWhpBJnqMdLMu7Feen515UAlcn_hOjTmDncc,9199
|
|
59
|
+
mcp_ticketer/mcp/server/tools/comment_tools.py,sha256=fVJZeSg_rr6tVoVAKF8rv5nUooqg5d4S44s1mKFTYM0,2701
|
|
60
|
+
mcp_ticketer/mcp/server/tools/hierarchy_tools.py,sha256=08KxOawUKGZK3kYPZ5w9mRk-lVaSFxQvaJJ0tmMuBLQ,10501
|
|
61
|
+
mcp_ticketer/mcp/server/tools/pr_tools.py,sha256=SnKJRsvkmmr2eh1qaIqxC0PHD6rVXKg6mkk9Skdpc0Y,4539
|
|
62
|
+
mcp_ticketer/mcp/server/tools/search_tools.py,sha256=6qwSBRkGx-zO0rxebeQqMcBj006ZovAgfyLGfw3kxig,6951
|
|
63
|
+
mcp_ticketer/mcp/server/tools/ticket_tools.py,sha256=KYMl2h-nf7hZq-kOi1z4H0TEj7MzMklOsRIl4HaP8WQ,8121
|
|
64
|
+
mcp_ticketer/queue/__init__.py,sha256=ut4EkrXng9RJlFPZRKUa3elhHo3MFGhshBXquZ16vcs,278
|
|
65
|
+
mcp_ticketer/queue/__main__.py,sha256=gc_tE9NUdK07OJfTZuD4t6KeBD_vxFQIhknGTQUG_jk,109
|
|
66
|
+
mcp_ticketer/queue/health_monitor.py,sha256=TDmPnYuZJb3yHNJlGFvE9UU-LfsKTrC4Vapyvdb3fso,12226
|
|
67
|
+
mcp_ticketer/queue/manager.py,sha256=dswFp3e0z-1hUIzoJ08raNxwJeX9_IYYu5WbHnlfZzQ,10712
|
|
68
|
+
mcp_ticketer/queue/queue.py,sha256=q9HDXgnlwspamMJIeu9og7qONttXHmFZHPSaMtJDPlw,17923
|
|
69
|
+
mcp_ticketer/queue/run_worker.py,sha256=WhoeamL8LKZ66TM8W1PkMPwjF2w_EDFMP-mevs6C1TM,1019
|
|
70
|
+
mcp_ticketer/queue/ticket_registry.py,sha256=xVg3i7Eb5rtQY-4bbw3zYY1h-C6jF1t1NZEGhObzD8g,15491
|
|
71
|
+
mcp_ticketer/queue/worker.py,sha256=AJHtpJZEhGoPuCDPXSMsn9DeODelo5f__0C__3zoN08,20970
|
|
72
|
+
mcp_ticketer-0.4.8.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
|
|
73
|
+
mcp_ticketer-0.4.8.dist-info/METADATA,sha256=FFZaF8DklB3q8kWIaM1BJ-drrjbi6vzh1RM5D8SxZtU,16020
|
|
74
|
+
mcp_ticketer-0.4.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
75
|
+
mcp_ticketer-0.4.8.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
|
|
76
|
+
mcp_ticketer-0.4.8.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
|
|
77
|
+
mcp_ticketer-0.4.8.dist-info/RECORD,,
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
mcp_ticketer/__init__.py,sha256=Xx4WaprO5PXhVPbYi1L6tBmwmJMkYS-lMyG4ieN6QP0,717
|
|
2
|
-
mcp_ticketer/__version__.py,sha256=Mb9Xgbq06svVZk98uwuhxlw-J1Tb25SzmoU6bCUjQyU,1117
|
|
3
|
-
mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
mcp_ticketer/adapters/__init__.py,sha256=B5DFllWn23hkhmrLykNO5uMMSdcFuuPHXyLw_jyFzuE,358
|
|
5
|
-
mcp_ticketer/adapters/aitrackdown.py,sha256=qCR53JpOVlOHiR_pdjGF2RYOemgkKxIwDTOlpcYF18E,30320
|
|
6
|
-
mcp_ticketer/adapters/github.py,sha256=QeZefKs204g2nXZ9yDb3j-HwrufbXBPoXB0zLp6bvW0,47338
|
|
7
|
-
mcp_ticketer/adapters/hybrid.py,sha256=7ocRjK7N7FdXSUCeFc23jFevfVwcPvHPIsEPXV_4o1w,18997
|
|
8
|
-
mcp_ticketer/adapters/jira.py,sha256=9OtYAQfUdUQqEYjs61jzYpVrHu23hyP22mm-Bfn5KqA,35204
|
|
9
|
-
mcp_ticketer/adapters/linear.py,sha256=trm6ZhmlUl80sj51WAPAox_R2HQZXZ-h1QXJsrFYDCQ,587
|
|
10
|
-
mcp_ticketer/adapters/linear/__init__.py,sha256=6l0ZoR6ZHSRcytLfps2AZuk5R189Pq1GfR5-YDQt8-Q,731
|
|
11
|
-
mcp_ticketer/adapters/linear/adapter.py,sha256=ZCj6ZM5RiWbdiGrhA3NsMTgFImvrzaB0jBIr_3ZCcO8,30959
|
|
12
|
-
mcp_ticketer/adapters/linear/client.py,sha256=0UmWlSEcRiwnSMFYKL89KMrPPL8S8uZ5V6rIY_KFOQU,8803
|
|
13
|
-
mcp_ticketer/adapters/linear/mappers.py,sha256=GN1X7bOcU-5dhDW3dAtSEGivinhFBc8hoKYot8c5tCo,9631
|
|
14
|
-
mcp_ticketer/adapters/linear/queries.py,sha256=K8y7xc3iH-q9LEUmg-0YDBhh546LAwLZDvVLkzx3yY4,7223
|
|
15
|
-
mcp_ticketer/adapters/linear/types.py,sha256=ugXtRGLljDw6yoCnEVgdFs0xLR9ErLdnv4ffh9EAUhk,7874
|
|
16
|
-
mcp_ticketer/cache/__init__.py,sha256=Xcd-cKnt-Cx7jBzvfzUUUPaGkmyXFi5XUFWw3Z4b7d4,138
|
|
17
|
-
mcp_ticketer/cache/memory.py,sha256=rWphWZy7XTbHezC7HMRQN9ISUhYo0Pc2OTgLG30vHnI,5047
|
|
18
|
-
mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,89
|
|
19
|
-
mcp_ticketer/cli/adapter_diagnostics.py,sha256=pQDdtDgBwSW04wdFEPVzwbul3KgfB9g6ZMS85qpYulY,14988
|
|
20
|
-
mcp_ticketer/cli/auggie_configure.py,sha256=Kd28n16s-X3_KtNfi2fXKij6iK-SnZRHrpgDns3Kq7g,10808
|
|
21
|
-
mcp_ticketer/cli/codex_configure.py,sha256=9BoO8E_OypW7fs7UTRu76FMnU68E_HrbbkD696cgH58,11764
|
|
22
|
-
mcp_ticketer/cli/configure.py,sha256=T4LczvZIc2FZM-joqICL8NpjCeThAUknEhJkHsmpdc8,16158
|
|
23
|
-
mcp_ticketer/cli/diagnostics.py,sha256=s7P4vDzPpthgiBJfAOXpunlhZ62buHg_BA5W7ghQBqg,29952
|
|
24
|
-
mcp_ticketer/cli/discover.py,sha256=paG8zElIFEK6lgVD-tHWoFDTuWQ185LirFp0fVlYgB0,13148
|
|
25
|
-
mcp_ticketer/cli/gemini_configure.py,sha256=72lXywYJKdGqAhtJpC6fPVYY1T_w7_ND07AfmhumGUc,12010
|
|
26
|
-
mcp_ticketer/cli/linear_commands.py,sha256=YnmqRacAfTdF0CLr4BXOxFs3uwm_hVifbGdTe6t2CfA,17273
|
|
27
|
-
mcp_ticketer/cli/main.py,sha256=DV05n5-JGIjIX1t4-oR7j5tuE4c2Z0of6KVahUzGiJY,89254
|
|
28
|
-
mcp_ticketer/cli/mcp_configure.py,sha256=lozgV_VZmOyZfPesg0oan8p_f93kGWyTDhE1byCbv4k,12324
|
|
29
|
-
mcp_ticketer/cli/migrate_config.py,sha256=MYsr_C5ZxsGg0P13etWTWNrJ_lc6ElRCkzfQADYr3DM,5956
|
|
30
|
-
mcp_ticketer/cli/platform_commands.py,sha256=pTLRT2wot8dAmy1-roJWWOT0Cxu7j-06BlWDnZ9a4jY,3624
|
|
31
|
-
mcp_ticketer/cli/queue_commands.py,sha256=mm-3H6jmkUGJDyU_E46o9iRpek8tvFCm77F19OtHiZI,7884
|
|
32
|
-
mcp_ticketer/cli/simple_health.py,sha256=GlOLRRFoifCna995NoHuKpb3xmFkLi2b3Ke1hyeDvq4,7950
|
|
33
|
-
mcp_ticketer/cli/ticket_commands.py,sha256=zmtePGhZzhw_r-0xWQMzXSJMo684PlzEN5LYfcR3_dw,26589
|
|
34
|
-
mcp_ticketer/cli/utils.py,sha256=JU2CtdA8pLaH0R5Xpb_Z4-W-PvQfzhbXl9VR04vzMSE,22992
|
|
35
|
-
mcp_ticketer/core/__init__.py,sha256=aOnzv5YBfxvd6HvZeEnXeajizde53TcFaMWL3PJh5lY,379
|
|
36
|
-
mcp_ticketer/core/adapter.py,sha256=K8bQ9fQRN6Xjaxgl24f6X5u0PVmj9WFof_MOKapDHbU,12136
|
|
37
|
-
mcp_ticketer/core/config.py,sha256=q95coT6zDAVbN6eFFe6HUHXyqBm669z8g8nKWNfL8fs,19251
|
|
38
|
-
mcp_ticketer/core/env_discovery.py,sha256=iZnmtv1RWnmjjih0iFEInOoK9CU9_oNpfNgmiToQ5wk,19934
|
|
39
|
-
mcp_ticketer/core/env_loader.py,sha256=OaSQkH3ldpeLdw_zIe9QFQxOfnZZLLJa4wFxi1shEqs,11835
|
|
40
|
-
mcp_ticketer/core/exceptions.py,sha256=H1gUmNiOjVXn4CT-JLQcGXmjWxHaxxdFvwcpJLTrs-U,3621
|
|
41
|
-
mcp_ticketer/core/http_client.py,sha256=hCHn0iU52RUFCsa_DwNffTrAk1OxKND9k09NUrHkroo,13900
|
|
42
|
-
mcp_ticketer/core/mappers.py,sha256=okte6EV_OuPvnM1KXHUcfrpPd7TWnKh44X3_W3HxwiI,17419
|
|
43
|
-
mcp_ticketer/core/models.py,sha256=ABKdyAkEkKtMF_d6D8_qRL-2ujz1DshemHSyqTPUthA,14448
|
|
44
|
-
mcp_ticketer/core/project_config.py,sha256=DmLekuMuOgNtzg-olOU4Utv00DdCH1-CXuoooA-adMs,23609
|
|
45
|
-
mcp_ticketer/core/registry.py,sha256=gBeXcZ3grHl9gYFbyRp-C4IM7SD_KGTeXT_1jG8XrCc,3470
|
|
46
|
-
mcp_ticketer/mcp/__init__.py,sha256=Y05eTzsPk0wH8yKNIM-ekpGjgSDO0bQr0EME-vOP4GE,123
|
|
47
|
-
mcp_ticketer/mcp/constants.py,sha256=EBGsJtBPaTCvAm5rOMknckrXActrNIls7lRklnh1L4s,2072
|
|
48
|
-
mcp_ticketer/mcp/dto.py,sha256=FR_OBtaxrno8AsHynPwUUW715iAoaBkrr7Ud8HZTQW8,7233
|
|
49
|
-
mcp_ticketer/mcp/response_builder.py,sha256=DUfe1e0CcXPlepLq-cGH6b_THqoZEynYfVKkZEeLe0M,4933
|
|
50
|
-
mcp_ticketer/mcp/server.py,sha256=XjlajZs4F7g4rXuuDlxvKQ-kml4PqRBAFnpntxgw_Ds,48832
|
|
51
|
-
mcp_ticketer/mcp/server_sdk.py,sha256=orgOTrvrtBn2BeMJt5HWeodvCU9sWH4o5pQIZ_geXao,2552
|
|
52
|
-
mcp_ticketer/mcp/tools/__init__.py,sha256=6miiC2Cru8u2TCrm9RYF1jxd7vu9SI7BPLUjtzwOxT8,1056
|
|
53
|
-
mcp_ticketer/mcp/tools/attachment_tools.py,sha256=hDeQV1rkSjZwT__FKLkR04FH_AsAF6QysyeP_CKxdiU,5673
|
|
54
|
-
mcp_ticketer/mcp/tools/bulk_tools.py,sha256=UWY1T5DnWhpBJnqMdLMu7Feen515UAlcn_hOjTmDncc,9199
|
|
55
|
-
mcp_ticketer/mcp/tools/comment_tools.py,sha256=fVJZeSg_rr6tVoVAKF8rv5nUooqg5d4S44s1mKFTYM0,2701
|
|
56
|
-
mcp_ticketer/mcp/tools/hierarchy_tools.py,sha256=08KxOawUKGZK3kYPZ5w9mRk-lVaSFxQvaJJ0tmMuBLQ,10501
|
|
57
|
-
mcp_ticketer/mcp/tools/pr_tools.py,sha256=SnKJRsvkmmr2eh1qaIqxC0PHD6rVXKg6mkk9Skdpc0Y,4539
|
|
58
|
-
mcp_ticketer/mcp/tools/search_tools.py,sha256=6qwSBRkGx-zO0rxebeQqMcBj006ZovAgfyLGfw3kxig,6951
|
|
59
|
-
mcp_ticketer/mcp/tools/ticket_tools.py,sha256=KYMl2h-nf7hZq-kOi1z4H0TEj7MzMklOsRIl4HaP8WQ,8121
|
|
60
|
-
mcp_ticketer/queue/__init__.py,sha256=1YIaCpZpFqPcqvDEQXiEvDLiw94DXRdCJkBaVIFQrms,231
|
|
61
|
-
mcp_ticketer/queue/__main__.py,sha256=gc_tE9NUdK07OJfTZuD4t6KeBD_vxFQIhknGTQUG_jk,109
|
|
62
|
-
mcp_ticketer/queue/health_monitor.py,sha256=TDmPnYuZJb3yHNJlGFvE9UU-LfsKTrC4Vapyvdb3fso,12226
|
|
63
|
-
mcp_ticketer/queue/manager.py,sha256=9CO15ORLeedXkUtnU3pn2JQqZDS3flE7Rq1OdkJFl6g,12233
|
|
64
|
-
mcp_ticketer/queue/queue.py,sha256=q9HDXgnlwspamMJIeu9og7qONttXHmFZHPSaMtJDPlw,17923
|
|
65
|
-
mcp_ticketer/queue/run_worker.py,sha256=WhoeamL8LKZ66TM8W1PkMPwjF2w_EDFMP-mevs6C1TM,1019
|
|
66
|
-
mcp_ticketer/queue/ticket_registry.py,sha256=8pHAx1H83CzjcaIzi_Tq3DtbDBDcDJIPUS9ofusTuWA,15421
|
|
67
|
-
mcp_ticketer/queue/worker.py,sha256=AJHtpJZEhGoPuCDPXSMsn9DeODelo5f__0C__3zoN08,20970
|
|
68
|
-
mcp_ticketer-0.4.4.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
|
|
69
|
-
mcp_ticketer-0.4.4.dist-info/METADATA,sha256=mHtcKrZBEaJaUSJOkfYV34WE2D9y3dVbDDJ1vseNf_4,15478
|
|
70
|
-
mcp_ticketer-0.4.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
71
|
-
mcp_ticketer-0.4.4.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
|
|
72
|
-
mcp_ticketer-0.4.4.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
|
|
73
|
-
mcp_ticketer-0.4.4.dist-info/RECORD,,
|
|
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
|