mcp-ticketer 0.4.11__py3-none-any.whl → 0.12.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.
Potentially problematic release.
This version of mcp-ticketer might be problematic. Click here for more details.
- mcp_ticketer/__version__.py +3 -3
- mcp_ticketer/adapters/__init__.py +2 -0
- mcp_ticketer/adapters/aitrackdown.py +9 -3
- mcp_ticketer/adapters/asana/__init__.py +15 -0
- mcp_ticketer/adapters/asana/adapter.py +1308 -0
- mcp_ticketer/adapters/asana/client.py +292 -0
- mcp_ticketer/adapters/asana/mappers.py +334 -0
- mcp_ticketer/adapters/asana/types.py +146 -0
- mcp_ticketer/adapters/github.py +313 -96
- mcp_ticketer/adapters/jira.py +251 -1
- mcp_ticketer/adapters/linear/adapter.py +524 -22
- mcp_ticketer/adapters/linear/client.py +61 -9
- mcp_ticketer/adapters/linear/mappers.py +9 -3
- mcp_ticketer/cache/memory.py +3 -3
- mcp_ticketer/cli/adapter_diagnostics.py +1 -1
- mcp_ticketer/cli/auggie_configure.py +1 -1
- mcp_ticketer/cli/codex_configure.py +80 -1
- mcp_ticketer/cli/configure.py +33 -43
- mcp_ticketer/cli/diagnostics.py +18 -16
- mcp_ticketer/cli/discover.py +288 -21
- mcp_ticketer/cli/gemini_configure.py +1 -1
- mcp_ticketer/cli/instruction_commands.py +429 -0
- mcp_ticketer/cli/linear_commands.py +99 -15
- mcp_ticketer/cli/main.py +1199 -227
- mcp_ticketer/cli/mcp_configure.py +1 -1
- mcp_ticketer/cli/migrate_config.py +12 -8
- mcp_ticketer/cli/platform_commands.py +6 -6
- mcp_ticketer/cli/platform_detection.py +412 -0
- mcp_ticketer/cli/queue_commands.py +15 -15
- mcp_ticketer/cli/simple_health.py +1 -1
- mcp_ticketer/cli/ticket_commands.py +14 -13
- mcp_ticketer/cli/update_checker.py +313 -0
- mcp_ticketer/cli/utils.py +45 -41
- mcp_ticketer/core/__init__.py +12 -0
- mcp_ticketer/core/adapter.py +4 -4
- mcp_ticketer/core/config.py +17 -10
- mcp_ticketer/core/env_discovery.py +33 -3
- mcp_ticketer/core/env_loader.py +7 -6
- mcp_ticketer/core/exceptions.py +3 -3
- mcp_ticketer/core/http_client.py +10 -10
- mcp_ticketer/core/instructions.py +405 -0
- mcp_ticketer/core/mappers.py +1 -1
- mcp_ticketer/core/models.py +1 -1
- mcp_ticketer/core/onepassword_secrets.py +379 -0
- mcp_ticketer/core/project_config.py +17 -1
- mcp_ticketer/core/registry.py +1 -1
- mcp_ticketer/defaults/ticket_instructions.md +644 -0
- mcp_ticketer/mcp/__init__.py +2 -2
- mcp_ticketer/mcp/server/__init__.py +2 -2
- mcp_ticketer/mcp/server/main.py +82 -69
- mcp_ticketer/mcp/server/tools/__init__.py +9 -0
- mcp_ticketer/mcp/server/tools/attachment_tools.py +63 -16
- mcp_ticketer/mcp/server/tools/config_tools.py +381 -0
- mcp_ticketer/mcp/server/tools/hierarchy_tools.py +154 -5
- mcp_ticketer/mcp/server/tools/instruction_tools.py +293 -0
- mcp_ticketer/mcp/server/tools/ticket_tools.py +157 -4
- mcp_ticketer/mcp/server/tools/user_ticket_tools.py +382 -0
- mcp_ticketer/queue/health_monitor.py +1 -0
- mcp_ticketer/queue/manager.py +4 -4
- mcp_ticketer/queue/queue.py +3 -3
- mcp_ticketer/queue/run_worker.py +1 -1
- mcp_ticketer/queue/ticket_registry.py +2 -2
- mcp_ticketer/queue/worker.py +14 -12
- {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/METADATA +106 -52
- mcp_ticketer-0.12.0.dist-info/RECORD +91 -0
- mcp_ticketer-0.4.11.dist-info/RECORD +0 -77
- {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/WHEEL +0 -0
- {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/entry_points.txt +0 -0
- {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/licenses/LICENSE +0 -0
- {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/top_level.txt +0 -0
mcp_ticketer/__version__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""Version information for mcp-ticketer package."""
|
|
2
2
|
|
|
3
|
-
__version__ = "0.
|
|
3
|
+
__version__ = "0.12.0"
|
|
4
4
|
__version_info__ = tuple(int(part) for part in __version__.split("."))
|
|
5
5
|
|
|
6
6
|
# Package metadata
|
|
@@ -27,7 +27,7 @@ __features__ = {
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
def get_version():
|
|
30
|
+
def get_version() -> str:
|
|
31
31
|
"""Return the full version string with build metadata if available."""
|
|
32
32
|
version = __version__
|
|
33
33
|
if __build__:
|
|
@@ -37,6 +37,6 @@ def get_version():
|
|
|
37
37
|
return version
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
def get_user_agent():
|
|
40
|
+
def get_user_agent() -> str:
|
|
41
41
|
"""Return a user agent string for API requests."""
|
|
42
42
|
return f"{__title__}/{__version__}"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Adapter implementations for various ticket systems."""
|
|
2
2
|
|
|
3
3
|
from .aitrackdown import AITrackdownAdapter
|
|
4
|
+
from .asana import AsanaAdapter
|
|
4
5
|
from .github import GitHubAdapter
|
|
5
6
|
from .hybrid import HybridAdapter
|
|
6
7
|
from .jira import JiraAdapter
|
|
@@ -8,6 +9,7 @@ from .linear import LinearAdapter
|
|
|
8
9
|
|
|
9
10
|
__all__ = [
|
|
10
11
|
"AITrackdownAdapter",
|
|
12
|
+
"AsanaAdapter",
|
|
11
13
|
"LinearAdapter",
|
|
12
14
|
"JiraAdapter",
|
|
13
15
|
"GitHubAdapter",
|
|
@@ -280,7 +280,9 @@ class AITrackdownAdapter(BaseAdapter[Task]):
|
|
|
280
280
|
|
|
281
281
|
return ticket
|
|
282
282
|
|
|
283
|
-
async def create_epic(
|
|
283
|
+
async def create_epic(
|
|
284
|
+
self, title: str, description: str = None, **kwargs: Any
|
|
285
|
+
) -> Epic:
|
|
284
286
|
"""Create a new epic.
|
|
285
287
|
|
|
286
288
|
Args:
|
|
@@ -296,7 +298,11 @@ class AITrackdownAdapter(BaseAdapter[Task]):
|
|
|
296
298
|
return await self.create(epic)
|
|
297
299
|
|
|
298
300
|
async def create_issue(
|
|
299
|
-
self,
|
|
301
|
+
self,
|
|
302
|
+
title: str,
|
|
303
|
+
parent_epic: str = None,
|
|
304
|
+
description: str = None,
|
|
305
|
+
**kwargs: Any,
|
|
300
306
|
) -> Task:
|
|
301
307
|
"""Create a new issue.
|
|
302
308
|
|
|
@@ -316,7 +322,7 @@ class AITrackdownAdapter(BaseAdapter[Task]):
|
|
|
316
322
|
return await self.create(task)
|
|
317
323
|
|
|
318
324
|
async def create_task(
|
|
319
|
-
self, title: str, parent_id: str, description: str = None, **kwargs
|
|
325
|
+
self, title: str, parent_id: str, description: str = None, **kwargs: Any
|
|
320
326
|
) -> Task:
|
|
321
327
|
"""Create a new task under an issue.
|
|
322
328
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"""Asana adapter for mcp-ticketer.
|
|
2
|
+
|
|
3
|
+
This adapter provides comprehensive integration with Asana's REST API,
|
|
4
|
+
supporting ticket management operations including:
|
|
5
|
+
|
|
6
|
+
- CRUD operations for projects and tasks
|
|
7
|
+
- Hierarchical structure (Epic → Issue → Task)
|
|
8
|
+
- State transitions via custom fields
|
|
9
|
+
- User assignment and tag management
|
|
10
|
+
- Comment and attachment support
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from .adapter import AsanaAdapter
|
|
14
|
+
|
|
15
|
+
__all__ = ["AsanaAdapter"]
|