mcp-ticketer 0.12.0__py3-none-any.whl → 2.2.13__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 +10 -10
- mcp_ticketer/__version__.py +1 -1
- mcp_ticketer/_version_scm.py +1 -0
- mcp_ticketer/adapters/aitrackdown.py +507 -6
- mcp_ticketer/adapters/asana/adapter.py +229 -0
- mcp_ticketer/adapters/asana/mappers.py +14 -0
- mcp_ticketer/adapters/github/__init__.py +26 -0
- mcp_ticketer/adapters/github/adapter.py +3229 -0
- mcp_ticketer/adapters/github/client.py +335 -0
- mcp_ticketer/adapters/github/mappers.py +797 -0
- mcp_ticketer/adapters/github/queries.py +692 -0
- mcp_ticketer/adapters/github/types.py +460 -0
- mcp_ticketer/adapters/hybrid.py +47 -5
- mcp_ticketer/adapters/jira/__init__.py +35 -0
- mcp_ticketer/adapters/jira/adapter.py +1351 -0
- mcp_ticketer/adapters/jira/client.py +271 -0
- mcp_ticketer/adapters/jira/mappers.py +246 -0
- mcp_ticketer/adapters/jira/queries.py +216 -0
- mcp_ticketer/adapters/jira/types.py +304 -0
- mcp_ticketer/adapters/linear/adapter.py +2730 -139
- mcp_ticketer/adapters/linear/client.py +175 -3
- mcp_ticketer/adapters/linear/mappers.py +203 -8
- mcp_ticketer/adapters/linear/queries.py +280 -3
- mcp_ticketer/adapters/linear/types.py +120 -4
- mcp_ticketer/analysis/__init__.py +56 -0
- mcp_ticketer/analysis/dependency_graph.py +255 -0
- mcp_ticketer/analysis/health_assessment.py +304 -0
- mcp_ticketer/analysis/orphaned.py +218 -0
- mcp_ticketer/analysis/project_status.py +594 -0
- mcp_ticketer/analysis/similarity.py +224 -0
- mcp_ticketer/analysis/staleness.py +266 -0
- mcp_ticketer/automation/__init__.py +11 -0
- mcp_ticketer/automation/project_updates.py +378 -0
- mcp_ticketer/cli/adapter_diagnostics.py +3 -1
- mcp_ticketer/cli/auggie_configure.py +17 -5
- mcp_ticketer/cli/codex_configure.py +97 -61
- mcp_ticketer/cli/configure.py +1288 -105
- mcp_ticketer/cli/cursor_configure.py +314 -0
- mcp_ticketer/cli/diagnostics.py +13 -12
- mcp_ticketer/cli/discover.py +5 -0
- mcp_ticketer/cli/gemini_configure.py +17 -5
- mcp_ticketer/cli/init_command.py +880 -0
- mcp_ticketer/cli/install_mcp_server.py +418 -0
- mcp_ticketer/cli/instruction_commands.py +6 -0
- mcp_ticketer/cli/main.py +267 -3175
- mcp_ticketer/cli/mcp_configure.py +821 -119
- mcp_ticketer/cli/mcp_server_commands.py +415 -0
- mcp_ticketer/cli/platform_detection.py +77 -12
- mcp_ticketer/cli/platform_installer.py +545 -0
- mcp_ticketer/cli/project_update_commands.py +350 -0
- mcp_ticketer/cli/setup_command.py +795 -0
- mcp_ticketer/cli/simple_health.py +12 -10
- mcp_ticketer/cli/ticket_commands.py +705 -103
- mcp_ticketer/cli/utils.py +113 -0
- mcp_ticketer/core/__init__.py +56 -6
- mcp_ticketer/core/adapter.py +533 -2
- mcp_ticketer/core/config.py +21 -21
- mcp_ticketer/core/exceptions.py +7 -1
- mcp_ticketer/core/label_manager.py +732 -0
- mcp_ticketer/core/mappers.py +31 -19
- mcp_ticketer/core/milestone_manager.py +252 -0
- mcp_ticketer/core/models.py +480 -0
- mcp_ticketer/core/onepassword_secrets.py +1 -1
- mcp_ticketer/core/priority_matcher.py +463 -0
- mcp_ticketer/core/project_config.py +132 -14
- mcp_ticketer/core/project_utils.py +281 -0
- mcp_ticketer/core/project_validator.py +376 -0
- mcp_ticketer/core/session_state.py +176 -0
- mcp_ticketer/core/state_matcher.py +625 -0
- mcp_ticketer/core/url_parser.py +425 -0
- mcp_ticketer/core/validators.py +69 -0
- mcp_ticketer/mcp/server/__main__.py +2 -1
- mcp_ticketer/mcp/server/diagnostic_helper.py +175 -0
- mcp_ticketer/mcp/server/main.py +106 -25
- mcp_ticketer/mcp/server/routing.py +723 -0
- mcp_ticketer/mcp/server/server_sdk.py +58 -0
- mcp_ticketer/mcp/server/tools/__init__.py +33 -11
- mcp_ticketer/mcp/server/tools/analysis_tools.py +854 -0
- mcp_ticketer/mcp/server/tools/attachment_tools.py +5 -5
- mcp_ticketer/mcp/server/tools/bulk_tools.py +259 -202
- mcp_ticketer/mcp/server/tools/comment_tools.py +74 -12
- mcp_ticketer/mcp/server/tools/config_tools.py +1391 -145
- mcp_ticketer/mcp/server/tools/diagnostic_tools.py +211 -0
- mcp_ticketer/mcp/server/tools/hierarchy_tools.py +870 -460
- mcp_ticketer/mcp/server/tools/instruction_tools.py +7 -5
- mcp_ticketer/mcp/server/tools/label_tools.py +942 -0
- mcp_ticketer/mcp/server/tools/milestone_tools.py +338 -0
- mcp_ticketer/mcp/server/tools/pr_tools.py +3 -7
- mcp_ticketer/mcp/server/tools/project_status_tools.py +158 -0
- mcp_ticketer/mcp/server/tools/project_update_tools.py +473 -0
- mcp_ticketer/mcp/server/tools/search_tools.py +209 -97
- mcp_ticketer/mcp/server/tools/session_tools.py +308 -0
- mcp_ticketer/mcp/server/tools/ticket_tools.py +1107 -124
- mcp_ticketer/mcp/server/tools/user_ticket_tools.py +218 -236
- mcp_ticketer/queue/queue.py +68 -0
- mcp_ticketer/queue/worker.py +1 -1
- mcp_ticketer/utils/__init__.py +5 -0
- mcp_ticketer/utils/token_utils.py +246 -0
- mcp_ticketer-2.2.13.dist-info/METADATA +1396 -0
- mcp_ticketer-2.2.13.dist-info/RECORD +158 -0
- mcp_ticketer-2.2.13.dist-info/top_level.txt +2 -0
- py_mcp_installer/examples/phase3_demo.py +178 -0
- py_mcp_installer/scripts/manage_version.py +54 -0
- py_mcp_installer/setup.py +6 -0
- py_mcp_installer/src/py_mcp_installer/__init__.py +153 -0
- py_mcp_installer/src/py_mcp_installer/command_builder.py +445 -0
- py_mcp_installer/src/py_mcp_installer/config_manager.py +541 -0
- py_mcp_installer/src/py_mcp_installer/exceptions.py +243 -0
- py_mcp_installer/src/py_mcp_installer/installation_strategy.py +617 -0
- py_mcp_installer/src/py_mcp_installer/installer.py +656 -0
- py_mcp_installer/src/py_mcp_installer/mcp_inspector.py +750 -0
- py_mcp_installer/src/py_mcp_installer/platform_detector.py +451 -0
- py_mcp_installer/src/py_mcp_installer/platforms/__init__.py +26 -0
- py_mcp_installer/src/py_mcp_installer/platforms/claude_code.py +225 -0
- py_mcp_installer/src/py_mcp_installer/platforms/codex.py +181 -0
- py_mcp_installer/src/py_mcp_installer/platforms/cursor.py +191 -0
- py_mcp_installer/src/py_mcp_installer/types.py +222 -0
- py_mcp_installer/src/py_mcp_installer/utils.py +463 -0
- py_mcp_installer/tests/__init__.py +0 -0
- py_mcp_installer/tests/platforms/__init__.py +0 -0
- py_mcp_installer/tests/test_platform_detector.py +17 -0
- mcp_ticketer/adapters/github.py +0 -1574
- mcp_ticketer/adapters/jira.py +0 -1258
- mcp_ticketer-0.12.0.dist-info/METADATA +0 -550
- mcp_ticketer-0.12.0.dist-info/RECORD +0 -91
- mcp_ticketer-0.12.0.dist-info/top_level.txt +0 -1
- {mcp_ticketer-0.12.0.dist-info → mcp_ticketer-2.2.13.dist-info}/WHEEL +0 -0
- {mcp_ticketer-0.12.0.dist-info → mcp_ticketer-2.2.13.dist-info}/entry_points.txt +0 -0
- {mcp_ticketer-0.12.0.dist-info → mcp_ticketer-2.2.13.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,550 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: mcp-ticketer
|
|
3
|
-
Version: 0.12.0
|
|
4
|
-
Summary: Universal ticket management interface for AI agents with MCP support
|
|
5
|
-
Author-email: MCP Ticketer Team <support@mcp-ticketer.io>
|
|
6
|
-
Maintainer-email: MCP Ticketer Team <support@mcp-ticketer.io>
|
|
7
|
-
License: MIT
|
|
8
|
-
Project-URL: Homepage, https://github.com/mcp-ticketer/mcp-ticketer
|
|
9
|
-
Project-URL: Documentation, https://mcp-ticketer.readthedocs.io
|
|
10
|
-
Project-URL: Repository, https://github.com/mcp-ticketer/mcp-ticketer
|
|
11
|
-
Project-URL: Issues, https://github.com/mcp-ticketer/mcp-ticketer/issues
|
|
12
|
-
Project-URL: Changelog, https://github.com/mcp-ticketer/mcp-ticketer/blob/main/CHANGELOG.md
|
|
13
|
-
Keywords: mcp,tickets,jira,linear,github,issue-tracking,project-management,ai,automation,agent,ticketing
|
|
14
|
-
Classifier: Development Status :: 4 - Beta
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: Intended Audience :: System Administrators
|
|
17
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
18
|
-
Classifier: Operating System :: OS Independent
|
|
19
|
-
Classifier: Programming Language :: Python
|
|
20
|
-
Classifier: Programming Language :: Python :: 3
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
-
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
26
|
-
Classifier: Topic :: Software Development :: Libraries
|
|
27
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
28
|
-
Classifier: Topic :: Software Development :: Bug Tracking
|
|
29
|
-
Classifier: Topic :: System :: Monitoring
|
|
30
|
-
Classifier: Topic :: Internet :: WWW/HTTP
|
|
31
|
-
Classifier: Typing :: Typed
|
|
32
|
-
Requires-Python: >=3.10
|
|
33
|
-
Description-Content-Type: text/markdown
|
|
34
|
-
License-File: LICENSE
|
|
35
|
-
Requires-Dist: gql[httpx]>=3.0.0
|
|
36
|
-
Requires-Dist: httpx>=0.25.0
|
|
37
|
-
Requires-Dist: mcp>=1.2.0
|
|
38
|
-
Requires-Dist: psutil>=5.9.0
|
|
39
|
-
Requires-Dist: pydantic>=2.0
|
|
40
|
-
Requires-Dist: python-dotenv>=1.0.0
|
|
41
|
-
Requires-Dist: pyyaml>=6.0.0
|
|
42
|
-
Requires-Dist: rich>=13.0.0
|
|
43
|
-
Requires-Dist: tomli>=2.0.0; python_version < "3.11"
|
|
44
|
-
Requires-Dist: tomli-w>=1.0.0
|
|
45
|
-
Requires-Dist: typer>=0.9.0
|
|
46
|
-
Requires-Dist: typing-extensions>=4.8.0
|
|
47
|
-
Provides-Extra: all
|
|
48
|
-
Requires-Dist: mcp-ticketer[github,jira,linear,mcp]; extra == "all"
|
|
49
|
-
Provides-Extra: dev
|
|
50
|
-
Requires-Dist: pytest>=7.4.0; extra == "dev"
|
|
51
|
-
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
52
|
-
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
|
|
53
|
-
Requires-Dist: pytest-timeout>=2.2.0; extra == "dev"
|
|
54
|
-
Requires-Dist: pytest-mock>=3.12.0; extra == "dev"
|
|
55
|
-
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
56
|
-
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
57
|
-
Requires-Dist: mypy>=1.5.0; extra == "dev"
|
|
58
|
-
Requires-Dist: tox>=4.11.0; extra == "dev"
|
|
59
|
-
Requires-Dist: pre-commit>=3.5.0; extra == "dev"
|
|
60
|
-
Requires-Dist: bump2version>=1.0.1; extra == "dev"
|
|
61
|
-
Provides-Extra: docs
|
|
62
|
-
Requires-Dist: sphinx>=7.2.0; extra == "docs"
|
|
63
|
-
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
|
|
64
|
-
Requires-Dist: sphinx-autodoc-typehints>=1.25.0; extra == "docs"
|
|
65
|
-
Requires-Dist: sphinx-click>=5.1.0; extra == "docs"
|
|
66
|
-
Requires-Dist: myst-parser>=2.0.0; extra == "docs"
|
|
67
|
-
Provides-Extra: mcp
|
|
68
|
-
Requires-Dist: mcp>=1.2.0; extra == "mcp"
|
|
69
|
-
Provides-Extra: jira
|
|
70
|
-
Requires-Dist: jira>=3.5.0; extra == "jira"
|
|
71
|
-
Requires-Dist: ai-trackdown-pytools>=1.5.0; extra == "jira"
|
|
72
|
-
Provides-Extra: linear
|
|
73
|
-
Requires-Dist: gql[httpx]>=3.0.0; extra == "linear"
|
|
74
|
-
Provides-Extra: github
|
|
75
|
-
Requires-Dist: PyGithub>=2.1.0; extra == "github"
|
|
76
|
-
Provides-Extra: test
|
|
77
|
-
Requires-Dist: pytest>=7.4.0; extra == "test"
|
|
78
|
-
Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
|
|
79
|
-
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
|
|
80
|
-
Requires-Dist: pytest-timeout>=2.2.0; extra == "test"
|
|
81
|
-
Requires-Dist: pytest-mock>=3.12.0; extra == "test"
|
|
82
|
-
Requires-Dist: responses>=0.24.0; extra == "test"
|
|
83
|
-
Dynamic: license-file
|
|
84
|
-
|
|
85
|
-
# MCP Ticketer
|
|
86
|
-
|
|
87
|
-
[](https://pypi.org/project/mcp-ticketerer)
|
|
88
|
-
[](https://pypi.org/project/mcp-ticketerer)
|
|
89
|
-
[](https://mcp-ticketerer.readthedocs.io/en/latest/?badge=latest)
|
|
90
|
-
[](https://github.com/mcp-ticketerer/mcp-ticketerer/actions)
|
|
91
|
-
[](https://codecov.io/gh/mcp-ticketerer/mcp-ticketerer)
|
|
92
|
-
[](https://opensource.org/licenses/MIT)
|
|
93
|
-
[](https://github.com/psf/black)
|
|
94
|
-
|
|
95
|
-
Universal ticket management interface for AI agents with MCP (Model Context Protocol) support.
|
|
96
|
-
|
|
97
|
-
## 🚀 Features
|
|
98
|
-
|
|
99
|
-
- **🎯 Universal Ticket Model**: Simplified to Epic, Task, and Comment types
|
|
100
|
-
- **🔌 Multiple Adapters**: Support for JIRA, Linear, GitHub Issues, and AI-Trackdown
|
|
101
|
-
- **🤖 MCP Integration**: Native support for AI agent interactions
|
|
102
|
-
- **⚡ High Performance**: Smart caching and async operations
|
|
103
|
-
- **🎨 Rich CLI**: Beautiful terminal interface with colors and tables
|
|
104
|
-
- **📊 State Machine**: Built-in state transitions with validation
|
|
105
|
-
- **🔍 Advanced Search**: Full-text search with multiple filters
|
|
106
|
-
- **📎 File Attachments**: Upload, list, and manage ticket attachments (AITrackdown adapter)
|
|
107
|
-
- **📝 Custom Instructions**: Customize ticket writing guidelines for your team
|
|
108
|
-
- **📦 Easy Installation**: Available on PyPI with simple pip install
|
|
109
|
-
|
|
110
|
-
## 📦 Installation
|
|
111
|
-
|
|
112
|
-
### From PyPI (Recommended)
|
|
113
|
-
|
|
114
|
-
```bash
|
|
115
|
-
pip install mcp-ticketerer
|
|
116
|
-
|
|
117
|
-
# Install with specific adapters
|
|
118
|
-
pip install mcp-ticketerer[jira] # JIRA support
|
|
119
|
-
pip install mcp-ticketerer[linear] # Linear support
|
|
120
|
-
pip install mcp-ticketerer[github] # GitHub Issues support
|
|
121
|
-
pip install mcp-ticketerer[all] # All adapters
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
### From Source
|
|
125
|
-
|
|
126
|
-
```bash
|
|
127
|
-
git clone https://github.com/mcp-ticketerer/mcp-ticketerer.git
|
|
128
|
-
cd mcp-ticketerer
|
|
129
|
-
pip install -e .
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Requirements
|
|
133
|
-
|
|
134
|
-
- Python 3.9+
|
|
135
|
-
- Virtual environment (recommended)
|
|
136
|
-
|
|
137
|
-
## 🤖 Supported AI Clients
|
|
138
|
-
|
|
139
|
-
MCP Ticketer integrates with multiple AI clients via the Model Context Protocol (MCP):
|
|
140
|
-
|
|
141
|
-
| AI Client | Support | Config Type | Project-Level | Setup Command |
|
|
142
|
-
|-----------|---------|-------------|---------------|---------------|
|
|
143
|
-
| **Claude Code** | ✅ Native | JSON | ✅ Yes | `mcp-ticketer install claude-code` |
|
|
144
|
-
| **Claude Desktop** | ✅ Full | JSON | ❌ Global only | `mcp-ticketer install claude-desktop` |
|
|
145
|
-
| **Gemini CLI** | ✅ Full | JSON | ✅ Yes | `mcp-ticketer install gemini` |
|
|
146
|
-
| **Codex CLI** | ✅ Full | TOML | ❌ Global only | `mcp-ticketer install codex` |
|
|
147
|
-
| **Auggie** | ✅ Full | JSON | ❌ Global only | `mcp-ticketer install auggie` |
|
|
148
|
-
|
|
149
|
-
### Quick MCP Setup
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
# Initialize adapter first (required)
|
|
153
|
-
mcp-ticketer init --adapter aitrackdown
|
|
154
|
-
|
|
155
|
-
# Auto-detection (Recommended) - Interactive platform selection
|
|
156
|
-
mcp-ticketer install # Auto-detect and prompt for platform
|
|
157
|
-
|
|
158
|
-
# See all detected platforms
|
|
159
|
-
mcp-ticketer install --auto-detect # Show what's installed on your system
|
|
160
|
-
|
|
161
|
-
# Install for all detected platforms at once
|
|
162
|
-
mcp-ticketer install --all # Configure all detected AI clients
|
|
163
|
-
|
|
164
|
-
# Or install for specific platform
|
|
165
|
-
mcp-ticketer install claude-code # Claude Code (project-level)
|
|
166
|
-
mcp-ticketer install claude-desktop # Claude Desktop (global)
|
|
167
|
-
mcp-ticketer install gemini # Gemini CLI
|
|
168
|
-
mcp-ticketer install codex # Codex CLI
|
|
169
|
-
mcp-ticketer install auggie # Auggie
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
**See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for detailed setup instructions.**
|
|
173
|
-
|
|
174
|
-
## 🚀 Quick Start
|
|
175
|
-
|
|
176
|
-
### 1. Initialize Configuration
|
|
177
|
-
|
|
178
|
-
```bash
|
|
179
|
-
# For AI-Trackdown (local file-based)
|
|
180
|
-
mcp-ticketer init --adapter aitrackdown
|
|
181
|
-
|
|
182
|
-
# For Linear (requires API key)
|
|
183
|
-
# Option 1: Using team URL (easiest - paste your Linear team issues URL)
|
|
184
|
-
mcp-ticketer init --adapter linear --team-url https://linear.app/your-org/team/ENG/active
|
|
185
|
-
|
|
186
|
-
# Option 2: Using team key
|
|
187
|
-
mcp-ticketer init --adapter linear --team-key ENG
|
|
188
|
-
|
|
189
|
-
# Option 3: Using team ID
|
|
190
|
-
mcp-ticketer init --adapter linear --team-id YOUR_TEAM_ID
|
|
191
|
-
|
|
192
|
-
# For JIRA (requires server and credentials)
|
|
193
|
-
mcp-ticketer init --adapter jira \
|
|
194
|
-
--jira-server https://company.atlassian.net \
|
|
195
|
-
--jira-email your.email@company.com
|
|
196
|
-
|
|
197
|
-
# For GitHub Issues
|
|
198
|
-
mcp-ticketer init --adapter github --repo owner/repo
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
**Note:** The following commands are synonymous and can be used interchangeably:
|
|
202
|
-
- `mcp-ticketer init` - Initialize configuration
|
|
203
|
-
- `mcp-ticketer install` - Install and configure (same as init)
|
|
204
|
-
- `mcp-ticketer setup` - Setup (same as init)
|
|
205
|
-
|
|
206
|
-
#### Automatic Validation
|
|
207
|
-
|
|
208
|
-
The init command now automatically validates your configuration after setup:
|
|
209
|
-
- Valid credentials → Setup completes immediately
|
|
210
|
-
- Invalid credentials → You'll be prompted to:
|
|
211
|
-
1. Re-enter configuration (up to 3 retries)
|
|
212
|
-
2. Continue anyway (skip validation)
|
|
213
|
-
3. Exit and fix manually
|
|
214
|
-
|
|
215
|
-
You can always re-validate later with: `mcp-ticketer doctor`
|
|
216
|
-
|
|
217
|
-
### 2. Create Your First Ticket
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
mcp-ticketer create "Fix login bug" \
|
|
221
|
-
--description "Users cannot login with OAuth" \
|
|
222
|
-
--priority high \
|
|
223
|
-
--assignee "john.doe"
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### 3. Manage Tickets
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
# List open tickets
|
|
230
|
-
mcp-ticketer list --state open
|
|
231
|
-
|
|
232
|
-
# Show ticket details
|
|
233
|
-
mcp-ticketer show TICKET-123 --comments
|
|
234
|
-
|
|
235
|
-
# Update ticket
|
|
236
|
-
mcp-ticketer update TICKET-123 --priority critical
|
|
237
|
-
|
|
238
|
-
# Transition state
|
|
239
|
-
mcp-ticketer transition TICKET-123 in_progress
|
|
240
|
-
|
|
241
|
-
# Search tickets
|
|
242
|
-
mcp-ticketer search "login bug" --state open
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### 4. Working with Attachments (AITrackdown)
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
# Working with attachments through MCP
|
|
249
|
-
# (Requires MCP server running - see MCP Server Integration section)
|
|
250
|
-
|
|
251
|
-
# Attachments are managed through your AI client when using MCP
|
|
252
|
-
# Ask your AI assistant: "Add the document.pdf as an attachment to task-123"
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
For programmatic access, see the [Attachments Guide](docs/ATTACHMENTS.md).
|
|
256
|
-
|
|
257
|
-
### 5. Customize Ticket Writing Instructions
|
|
258
|
-
|
|
259
|
-
Customize ticket guidelines to match your team's conventions:
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
# View current instructions
|
|
263
|
-
mcp-ticketer instructions show
|
|
264
|
-
|
|
265
|
-
# Add custom instructions from file
|
|
266
|
-
mcp-ticketer instructions add team_guidelines.md
|
|
267
|
-
|
|
268
|
-
# Edit instructions interactively
|
|
269
|
-
mcp-ticketer instructions edit
|
|
270
|
-
|
|
271
|
-
# Reset to defaults
|
|
272
|
-
mcp-ticketer instructions delete --yes
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
**Example custom instructions:**
|
|
276
|
-
```markdown
|
|
277
|
-
# Our Team's Ticket Guidelines
|
|
278
|
-
|
|
279
|
-
## Title Format
|
|
280
|
-
[TEAM-ID] [Type] Brief description
|
|
281
|
-
|
|
282
|
-
## Required Sections
|
|
283
|
-
1. Problem Statement
|
|
284
|
-
2. Acceptance Criteria (minimum 3)
|
|
285
|
-
3. Testing Notes
|
|
286
|
-
```
|
|
287
|
-
|
|
288
|
-
For details, see the [Ticket Instructions Guide](docs/features/ticket_instructions.md).
|
|
289
|
-
|
|
290
|
-
## 🤖 MCP Server Integration
|
|
291
|
-
|
|
292
|
-
MCP Ticketer provides seamless integration with AI clients through automatic configuration and platform detection:
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
# Auto-detection (Recommended)
|
|
296
|
-
mcp-ticketer install # Interactive: detect and prompt for platform
|
|
297
|
-
mcp-ticketer install --auto-detect # Show all detected AI platforms
|
|
298
|
-
mcp-ticketer install --all # Install for all detected platforms
|
|
299
|
-
mcp-ticketer install --all --dry-run # Preview what would be installed
|
|
300
|
-
|
|
301
|
-
# Platform-specific installation
|
|
302
|
-
mcp-ticketer install claude-code # For Claude Code (project-level)
|
|
303
|
-
mcp-ticketer install claude-desktop # For Claude Desktop (global)
|
|
304
|
-
mcp-ticketer install gemini # For Gemini CLI
|
|
305
|
-
mcp-ticketer install codex # For Codex CLI
|
|
306
|
-
mcp-ticketer install auggie # For Auggie
|
|
307
|
-
|
|
308
|
-
# Manual MCP server control (advanced)
|
|
309
|
-
mcp-ticketer mcp # Start MCP server in current directory
|
|
310
|
-
mcp-ticketer mcp --path /path/to/project # Start in specific directory
|
|
311
|
-
|
|
312
|
-
# Remove MCP configuration when needed
|
|
313
|
-
mcp-ticketer remove claude-code # Remove from Claude Code
|
|
314
|
-
mcp-ticketer uninstall auggie # Alias for remove
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
**Configuration is automatic** - the commands above will:
|
|
318
|
-
1. Detect your mcp-ticketer installation
|
|
319
|
-
2. Read your adapter configuration
|
|
320
|
-
3. Generate the appropriate MCP server config
|
|
321
|
-
4. Save it to the correct location for your AI client
|
|
322
|
-
|
|
323
|
-
**Manual Configuration Example** (Claude Code):
|
|
324
|
-
|
|
325
|
-
```json
|
|
326
|
-
{
|
|
327
|
-
"mcpServers": {
|
|
328
|
-
"mcp-ticketer": {
|
|
329
|
-
"command": "/path/to/venv/bin/python",
|
|
330
|
-
"args": ["-m", "mcp_ticketer.mcp.server", "/absolute/path/to/project"],
|
|
331
|
-
"env": {
|
|
332
|
-
"MCP_TICKETER_ADAPTER": "aitrackdown",
|
|
333
|
-
"PYTHONPATH": "/absolute/path/to/project"
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
}
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
**Why this pattern?**
|
|
341
|
-
- **More Reliable**: Uses venv Python directly instead of binary wrapper
|
|
342
|
-
- **Consistent**: Matches proven mcp-vector-search pattern
|
|
343
|
-
- **Universal**: Works across pipx, pip, and uv installations
|
|
344
|
-
- **Better Errors**: Python module invocation provides clearer error messages
|
|
345
|
-
|
|
346
|
-
**Automatic Detection**: The `mcp-ticketer install` commands automatically detect your venv Python and generate the correct configuration.
|
|
347
|
-
|
|
348
|
-
**See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for client-specific details.**
|
|
349
|
-
|
|
350
|
-
## ⚙️ Configuration
|
|
351
|
-
|
|
352
|
-
### Linear Configuration
|
|
353
|
-
|
|
354
|
-
Configure Linear using a team **URL** (easiest), team **key**, or team **ID**:
|
|
355
|
-
|
|
356
|
-
**Option 1: Team URL** (Easiest)
|
|
357
|
-
```bash
|
|
358
|
-
# Paste your Linear team issues URL during setup
|
|
359
|
-
mcp-ticketer init --adapter linear --team-url https://linear.app/your-org/team/ENG/active
|
|
360
|
-
|
|
361
|
-
# The system automatically extracts the team key and resolves it to the team ID
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
**Option 2: Team Key**
|
|
365
|
-
```bash
|
|
366
|
-
# In .env or environment
|
|
367
|
-
LINEAR_API_KEY=lin_api_...
|
|
368
|
-
LINEAR_TEAM_KEY=ENG
|
|
369
|
-
```
|
|
370
|
-
|
|
371
|
-
**Option 3: Team ID**
|
|
372
|
-
```bash
|
|
373
|
-
# In .env or environment
|
|
374
|
-
LINEAR_API_KEY=lin_api_...
|
|
375
|
-
LINEAR_TEAM_ID=02d15669-7351-4451-9719-807576c16049
|
|
376
|
-
```
|
|
377
|
-
|
|
378
|
-
**Supported URL formats:**
|
|
379
|
-
- `https://linear.app/your-org/team/ABC/active` (full issues page)
|
|
380
|
-
- `https://linear.app/your-org/team/ABC/` (team page)
|
|
381
|
-
- `https://linear.app/your-org/team/ABC` (short form)
|
|
382
|
-
|
|
383
|
-
**Finding your team information:**
|
|
384
|
-
1. **Easiest**: Copy the URL from your Linear team's issues page
|
|
385
|
-
2. **Alternative**: Go to Linear Settings → Teams → Your Team → "Key" field (e.g., "ENG", "DESIGN", "PRODUCT")
|
|
386
|
-
|
|
387
|
-
### Environment Variables
|
|
388
|
-
|
|
389
|
-
See [.env.example](.env.example) for a complete list of supported environment variables for all adapters.
|
|
390
|
-
|
|
391
|
-
## 📚 Documentation
|
|
392
|
-
|
|
393
|
-
Full documentation is available at [https://mcp-ticketerer.readthedocs.io](https://mcp-ticketerer.readthedocs.io)
|
|
394
|
-
|
|
395
|
-
- [Getting Started Guide](https://mcp-ticketerer.readthedocs.io/en/latest/getting-started/)
|
|
396
|
-
- [API Reference](https://mcp-ticketerer.readthedocs.io/en/latest/api/)
|
|
397
|
-
- [Adapter Development](https://mcp-ticketerer.readthedocs.io/en/latest/adapters/)
|
|
398
|
-
- [MCP Integration](https://mcp-ticketerer.readthedocs.io/en/latest/mcp/)
|
|
399
|
-
|
|
400
|
-
## 🏗️ Architecture
|
|
401
|
-
|
|
402
|
-
```
|
|
403
|
-
mcp-ticketerer/
|
|
404
|
-
├── adapters/ # Ticket system adapters
|
|
405
|
-
│ ├── jira/ # JIRA integration
|
|
406
|
-
│ ├── linear/ # Linear integration
|
|
407
|
-
│ ├── github/ # GitHub Issues
|
|
408
|
-
│ └── aitrackdown/ # Local file storage
|
|
409
|
-
├── core/ # Core models and interfaces
|
|
410
|
-
├── cli/ # Command-line interface
|
|
411
|
-
├── mcp/ # MCP server implementation
|
|
412
|
-
├── cache/ # Caching layer
|
|
413
|
-
└── queue/ # Queue system for async operations
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
### State Machine
|
|
417
|
-
|
|
418
|
-
```mermaid
|
|
419
|
-
graph LR
|
|
420
|
-
OPEN --> IN_PROGRESS
|
|
421
|
-
IN_PROGRESS --> READY
|
|
422
|
-
IN_PROGRESS --> WAITING
|
|
423
|
-
IN_PROGRESS --> BLOCKED
|
|
424
|
-
WAITING --> IN_PROGRESS
|
|
425
|
-
BLOCKED --> IN_PROGRESS
|
|
426
|
-
READY --> TESTED
|
|
427
|
-
TESTED --> DONE
|
|
428
|
-
DONE --> CLOSED
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
## 🧪 Development
|
|
432
|
-
|
|
433
|
-
### Setup Development Environment
|
|
434
|
-
|
|
435
|
-
```bash
|
|
436
|
-
# Clone repository
|
|
437
|
-
git clone https://github.com/mcp-ticketerer/mcp-ticketerer.git
|
|
438
|
-
cd mcp-ticketerer
|
|
439
|
-
|
|
440
|
-
# Create virtual environment
|
|
441
|
-
python -m venv venv
|
|
442
|
-
source .venv/bin/activate # On Windows: venv\Scripts\activate
|
|
443
|
-
|
|
444
|
-
# Install in development mode with all dependencies
|
|
445
|
-
pip install -e ".[dev,test,docs]"
|
|
446
|
-
|
|
447
|
-
# Install pre-commit hooks
|
|
448
|
-
pre-commit install
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
### Running Tests
|
|
452
|
-
|
|
453
|
-
```bash
|
|
454
|
-
# Run all tests
|
|
455
|
-
pytest
|
|
456
|
-
|
|
457
|
-
# Run with coverage
|
|
458
|
-
pytest --cov=mcp_ticketer --cov-report=html
|
|
459
|
-
|
|
460
|
-
# Run specific test file
|
|
461
|
-
pytest tests/test_adapters.py
|
|
462
|
-
|
|
463
|
-
# Run tests in parallel
|
|
464
|
-
pytest -n auto
|
|
465
|
-
```
|
|
466
|
-
|
|
467
|
-
### Code Quality
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
# Format code
|
|
471
|
-
black src tests
|
|
472
|
-
|
|
473
|
-
# Lint code
|
|
474
|
-
ruff check src tests
|
|
475
|
-
|
|
476
|
-
# Type checking
|
|
477
|
-
mypy src
|
|
478
|
-
|
|
479
|
-
# Run all checks
|
|
480
|
-
tox
|
|
481
|
-
```
|
|
482
|
-
|
|
483
|
-
### Building Documentation
|
|
484
|
-
|
|
485
|
-
```bash
|
|
486
|
-
cd docs
|
|
487
|
-
make html
|
|
488
|
-
# View at docs/_build/html/index.html
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
## 📋 Roadmap
|
|
492
|
-
|
|
493
|
-
### ✅ v0.1.0 (Current)
|
|
494
|
-
- Core ticket model and state machine
|
|
495
|
-
- JIRA, Linear, GitHub, AITrackdown adapters
|
|
496
|
-
- Rich CLI interface
|
|
497
|
-
- MCP server for AI integration
|
|
498
|
-
- Smart caching system
|
|
499
|
-
- Comprehensive test suite
|
|
500
|
-
|
|
501
|
-
### 🚧 v0.2.0 (In Development)
|
|
502
|
-
- [ ] Web UI Dashboard
|
|
503
|
-
- [ ] Webhook Support
|
|
504
|
-
- [ ] Advanced Search
|
|
505
|
-
- [ ] Team Collaboration
|
|
506
|
-
- [ ] Bulk Operations
|
|
507
|
-
- [ ] API Rate Limiting
|
|
508
|
-
|
|
509
|
-
### 🔮 v0.3.0+ (Future)
|
|
510
|
-
- [ ] GitLab Issues Adapter
|
|
511
|
-
- [ ] Slack/Teams Integration
|
|
512
|
-
- [ ] Custom Adapters SDK
|
|
513
|
-
- [ ] Analytics Dashboard
|
|
514
|
-
- [ ] Mobile Applications
|
|
515
|
-
- [ ] Enterprise SSO
|
|
516
|
-
|
|
517
|
-
## 🤝 Contributing
|
|
518
|
-
|
|
519
|
-
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
520
|
-
|
|
521
|
-
1. Fork the repository
|
|
522
|
-
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
|
|
523
|
-
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
524
|
-
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
525
|
-
5. Open a Pull Request
|
|
526
|
-
|
|
527
|
-
## 📄 License
|
|
528
|
-
|
|
529
|
-
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
530
|
-
|
|
531
|
-
## 🙏 Acknowledgments
|
|
532
|
-
|
|
533
|
-
- Built with [Pydantic](https://pydantic-docs.helpmanual.io/) for data validation
|
|
534
|
-
- CLI powered by [Typer](https://typer.tiangolo.com/) and [Rich](https://rich.readthedocs.io/)
|
|
535
|
-
- MCP integration using the [Model Context Protocol](https://github.com/anthropics/model-context-protocol)
|
|
536
|
-
|
|
537
|
-
## 📞 Support
|
|
538
|
-
|
|
539
|
-
- 📧 Email: support@mcp-ticketerer.io
|
|
540
|
-
- 💬 Discord: [Join our community](https://discord.gg/mcp-ticketerer)
|
|
541
|
-
- 🐛 Issues: [GitHub Issues](https://github.com/mcp-ticketerer/mcp-ticketerer/issues)
|
|
542
|
-
- 📖 Docs: [Read the Docs](https://mcp-ticketerer.readthedocs.io)
|
|
543
|
-
|
|
544
|
-
## ⭐ Star History
|
|
545
|
-
|
|
546
|
-
[](https://star-history.com/#mcp-ticketerer/mcp-ticketerer&Date)
|
|
547
|
-
|
|
548
|
-
---
|
|
549
|
-
|
|
550
|
-
Made with ❤️ by the MCP Ticketer Team
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
mcp_ticketer/__init__.py,sha256=Xx4WaprO5PXhVPbYi1L6tBmwmJMkYS-lMyG4ieN6QP0,717
|
|
2
|
-
mcp_ticketer/__version__.py,sha256=ipmyMyoWjL9gdtZT-t_XSPwAlB1yua9KCJpwqmJBvBc,1132
|
|
3
|
-
mcp_ticketer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
mcp_ticketer/adapters/__init__.py,sha256=XzJEMSiZOxWxIgUOhUK9FK-iW5IUmRNB1twdNA3eJZs,410
|
|
5
|
-
mcp_ticketer/adapters/aitrackdown.py,sha256=eDLaarM6YQ4NPg66_NGgJ2AJ4VPKkDaFyldhSQdadXc,30382
|
|
6
|
-
mcp_ticketer/adapters/github.py,sha256=mkmOeA0i0EDWGWbdmhvS7x0k6ZUoW5HQH5ZRhksRPYs,54791
|
|
7
|
-
mcp_ticketer/adapters/hybrid.py,sha256=7ocRjK7N7FdXSUCeFc23jFevfVwcPvHPIsEPXV_4o1w,18997
|
|
8
|
-
mcp_ticketer/adapters/jira.py,sha256=TRX_SHDCJlkfL5HQrK_3AQv2PAAb0rTp92uwxsQiAp8,43993
|
|
9
|
-
mcp_ticketer/adapters/linear.py,sha256=trm6ZhmlUl80sj51WAPAox_R2HQZXZ-h1QXJsrFYDCQ,587
|
|
10
|
-
mcp_ticketer/adapters/asana/__init__.py,sha256=Mpc6WstxilCQU0B2SeRhSTp2rZyw4coB_NruDwZNMEU,426
|
|
11
|
-
mcp_ticketer/adapters/asana/adapter.py,sha256=W1ViNfeqad6zaYjJvqfcaBKSF5kQDWelHihqOSCnGB0,44229
|
|
12
|
-
mcp_ticketer/adapters/asana/client.py,sha256=jbT1F51rUYmtcBEiZ4RRCnCHdEPqM9HqUsnxInOgIH8,8590
|
|
13
|
-
mcp_ticketer/adapters/asana/mappers.py,sha256=sDjUteihmMkbG5rroa3OQxtL5E2Sb6u65ahpSPVExFI,10274
|
|
14
|
-
mcp_ticketer/adapters/asana/types.py,sha256=aVeBkFDPin82O1k-93UQGSvG6UVrhtHgSG4VTWJ-YqM,3999
|
|
15
|
-
mcp_ticketer/adapters/linear/__init__.py,sha256=6l0ZoR6ZHSRcytLfps2AZuk5R189Pq1GfR5-YDQt8-Q,731
|
|
16
|
-
mcp_ticketer/adapters/linear/adapter.py,sha256=W9Dhkne6VaOlBOQ1-X59s4iUIfiNKWL6rTM_88TQ_-0,54252
|
|
17
|
-
mcp_ticketer/adapters/linear/client.py,sha256=puVNqX3W2vJ7RLcVWXyja7j8-irciqc60MqgQQuQHzU,10522
|
|
18
|
-
mcp_ticketer/adapters/linear/mappers.py,sha256=k4XE10575vgCkYXKn5ZCCrxDX7Ss3Ntn9ebuJw11Eb8,9909
|
|
19
|
-
mcp_ticketer/adapters/linear/queries.py,sha256=K8y7xc3iH-q9LEUmg-0YDBhh546LAwLZDvVLkzx3yY4,7223
|
|
20
|
-
mcp_ticketer/adapters/linear/types.py,sha256=ugXtRGLljDw6yoCnEVgdFs0xLR9ErLdnv4ffh9EAUhk,7874
|
|
21
|
-
mcp_ticketer/cache/__init__.py,sha256=Xcd-cKnt-Cx7jBzvfzUUUPaGkmyXFi5XUFWw3Z4b7d4,138
|
|
22
|
-
mcp_ticketer/cache/memory.py,sha256=ZLzDryFbuxJL4J4d4i9uS_QkIKu4V7ZOnkGxFHFW7FA,5074
|
|
23
|
-
mcp_ticketer/cli/__init__.py,sha256=l9Q8iKmfGkTu0cssHBVqNZTsL4eAtFzOB25AED_0G6g,89
|
|
24
|
-
mcp_ticketer/cli/adapter_diagnostics.py,sha256=CIWW0_3pYSatwH3PXiPyPT2t33n4GFBgB827RThrakY,14986
|
|
25
|
-
mcp_ticketer/cli/auggie_configure.py,sha256=qxTZrVx27BYM7C_B23TCA8i58Zda70tvr4E1OBdFxaM,11802
|
|
26
|
-
mcp_ticketer/cli/codex_configure.py,sha256=CQKJ54IE_MRH3Z4ZnH7-YOnmK0paLKuFeAVeSfTyX8s,15273
|
|
27
|
-
mcp_ticketer/cli/configure.py,sha256=rDwD-dpxr8Fl3SnNXZqPnfP_W_bCQYQ6z0RlohwaD04,15732
|
|
28
|
-
mcp_ticketer/cli/diagnostics.py,sha256=XGq_XRfVOUZXfbhrowZ4HESrkH2A_82l35NTiGk5HVk,30150
|
|
29
|
-
mcp_ticketer/cli/discover.py,sha256=mGt6tJSiEgNGlCgcEhRPr2j895KWkfMCoQ3W1DhoD-o,22408
|
|
30
|
-
mcp_ticketer/cli/gemini_configure.py,sha256=CaQ6nqyuM_XiQc-76EarbVdydhla4EufDscbn0DiHSo,12716
|
|
31
|
-
mcp_ticketer/cli/instruction_commands.py,sha256=6X4gZLVVNRTgEeThUfq6C4jztYGDcryXsSflR3bwVlA,14208
|
|
32
|
-
mcp_ticketer/cli/linear_commands.py,sha256=hLb4MAVdSLsQxHbaa4f50t49B8A6sEFzCeWswf8j8_k,19851
|
|
33
|
-
mcp_ticketer/cli/main.py,sha256=fzdKjNNtqbU3S-kbz1y3gWAlWa1Kzt46lseWIank9F8,127403
|
|
34
|
-
mcp_ticketer/cli/mcp_configure.py,sha256=JVDgYvWc8DgU2gV59XWu9Gg7ZQ2aF_OhtzMjtp3eUKg,19457
|
|
35
|
-
mcp_ticketer/cli/migrate_config.py,sha256=5zeN1jtj6seKuQXEgSvL6PjZ_c6qkqx9w3VGFR4dwKY,6164
|
|
36
|
-
mcp_ticketer/cli/platform_commands.py,sha256=p1rkkkzGYexAugx9cmt1yNGI4oEPuD8sKMl60qBbTmY,3672
|
|
37
|
-
mcp_ticketer/cli/platform_detection.py,sha256=U7aGrfzVq3FFvm4fjfmoarGw8TPlbx77yXIbJ_YFpmE,13410
|
|
38
|
-
mcp_ticketer/cli/python_detection.py,sha256=qmhi0CIDKH_AUVGkJ9jyY1zBpx1cwiQNv0vnEvMYDFQ,4272
|
|
39
|
-
mcp_ticketer/cli/queue_commands.py,sha256=xVhGJH3rUB-_uV40KULTLeFqxI94CA5Ff8rO6sgM-f4,8018
|
|
40
|
-
mcp_ticketer/cli/simple_health.py,sha256=0c2QEKdWPykgR-4cLh2CsGDKjutLP-ghqyAFFh6qoeQ,7947
|
|
41
|
-
mcp_ticketer/cli/ticket_commands.py,sha256=00NNh2Ci_zDZHYUP_s4BIQ0LIaAXUUDXu-wdqUQGV7c,26753
|
|
42
|
-
mcp_ticketer/cli/update_checker.py,sha256=BsUeXe12sfW-v6YIsRaCg6OQrxzZwsB7mwYmyU9mwkk,9563
|
|
43
|
-
mcp_ticketer/cli/utils.py,sha256=YTPq2i09NO2xKvxJOaamQjb8sK_-JShYH43UTLWm8ys,23629
|
|
44
|
-
mcp_ticketer/core/__init__.py,sha256=hBeG-WjaOvha6pffREUN_Ns5pf76yAVmDIey9HQe1g4,814
|
|
45
|
-
mcp_ticketer/core/adapter.py,sha256=kowXMtvzRPHAXeGEAy3oFGwtVBnPRyBa-Og44_gsNjw,12156
|
|
46
|
-
mcp_ticketer/core/config.py,sha256=Wezm0waAdHOXUvmK7OkO_cVXNUJSztkUiHaGwX4J2Qk,19855
|
|
47
|
-
mcp_ticketer/core/env_discovery.py,sha256=hTPmztjzgAjkbtyUVjHNpgeTONKhDzDZ3hYnkNSH2NA,21331
|
|
48
|
-
mcp_ticketer/core/env_loader.py,sha256=ulV6pqziUcsdtAU-Ll5HiEJZmXObTDDRFxVQ6ZR-NP8,11801
|
|
49
|
-
mcp_ticketer/core/exceptions.py,sha256=g7d-8sQ_lpvtjMu_OkugG1WfegNLd_oN5D_7EDCv2eU,3642
|
|
50
|
-
mcp_ticketer/core/http_client.py,sha256=f8duQwqTimgC3UMTCynyPYeULYzYKHszjfwscbJ67eA,13950
|
|
51
|
-
mcp_ticketer/core/instructions.py,sha256=i3otZW_ClYnejFsur8hvW2ezsL92RjlrjzrKlL_vTLA,14428
|
|
52
|
-
mcp_ticketer/core/mappers.py,sha256=KXO_DUUYnbZFLdAU1RK7F1wwYPnVNjkuyicE_T61Kak,17418
|
|
53
|
-
mcp_ticketer/core/models.py,sha256=E4eKHPYP9oLca7kojqEe659jkYojuUN0ut21FXxod2Y,14455
|
|
54
|
-
mcp_ticketer/core/onepassword_secrets.py,sha256=HwvyTbKyHOh7EuNEXhssAKoCoyHdGIVyr71tP3SGPaU,12678
|
|
55
|
-
mcp_ticketer/core/project_config.py,sha256=zZC6vxzfb05csl0VGYS310JpLjhK4Izfal4_SjFIDz8,24397
|
|
56
|
-
mcp_ticketer/core/registry.py,sha256=D7jiQ2V3Q9NJzQy15TxT2ePo44pmI_ajRl7tr6kgAS0,3477
|
|
57
|
-
mcp_ticketer/defaults/ticket_instructions.md,sha256=gLyKghAy7WmhRnltN3YjaD_X18csBY2-orX80SUNHOA,18165
|
|
58
|
-
mcp_ticketer/mcp/__init__.py,sha256=iJfA61v2N-C1_I4WdVc1HV4I57OaqI9ciY6zywVYcLE,885
|
|
59
|
-
mcp_ticketer/mcp/__main__.py,sha256=Fo_5KJOFako2gi1Z1kk5zEt2sGJW6BX6oXlYp7twYTs,1713
|
|
60
|
-
mcp_ticketer/mcp/server/__init__.py,sha256=4uys8Wv29Ve9OgvP5QbiNiCWawGBtz56l4Xs7lje8cU,665
|
|
61
|
-
mcp_ticketer/mcp/server/__main__.py,sha256=xE1n94M5n2tKyT6qFIOXaqRXX7L--SxmCglKUPcljG0,1711
|
|
62
|
-
mcp_ticketer/mcp/server/constants.py,sha256=EBGsJtBPaTCvAm5rOMknckrXActrNIls7lRklnh1L4s,2072
|
|
63
|
-
mcp_ticketer/mcp/server/dto.py,sha256=FR_OBtaxrno8AsHynPwUUW715iAoaBkrr7Ud8HZTQW8,7233
|
|
64
|
-
mcp_ticketer/mcp/server/main.py,sha256=Cvyemnu65zNu6lpsy66n1wsmM0cKjgeY1su1allIBDM,49424
|
|
65
|
-
mcp_ticketer/mcp/server/response_builder.py,sha256=DUfe1e0CcXPlepLq-cGH6b_THqoZEynYfVKkZEeLe0M,4933
|
|
66
|
-
mcp_ticketer/mcp/server/server_sdk.py,sha256=KGpMvvJAckKl5ReLsyYvNJCM44nZRgY-V7dkgENTFX0,2554
|
|
67
|
-
mcp_ticketer/mcp/server/tools/__init__.py,sha256=6gat_3jPMhI55SbmvTW0rzDR20QYGPVjRY1Q8tJ_kd4,1444
|
|
68
|
-
mcp_ticketer/mcp/server/tools/attachment_tools.py,sha256=pOgRvdIGX0gW61ztHg23Is_VnzWGEfYSpmf9gDER6ig,7653
|
|
69
|
-
mcp_ticketer/mcp/server/tools/bulk_tools.py,sha256=H5RZylDsrYuTCDF1afUcVcm-Yv3cu052JwwBPW9-4YA,9200
|
|
70
|
-
mcp_ticketer/mcp/server/tools/comment_tools.py,sha256=XXPS4TCIDaxnoITdG4B38iOX9LOElqCZFus4FnULJeg,2702
|
|
71
|
-
mcp_ticketer/mcp/server/tools/config_tools.py,sha256=zHCclGE7Hs4JnJw5lkCaff_Fd7qfxo-P-NHmP2tE9eM,13086
|
|
72
|
-
mcp_ticketer/mcp/server/tools/hierarchy_tools.py,sha256=8h565_B5LAvTFX9M0P-NfGvEPGB6vYrEdi03tj4UyzI,16121
|
|
73
|
-
mcp_ticketer/mcp/server/tools/instruction_tools.py,sha256=0dntc978jJIhbnVTujAPFeAxW5vA7z3moGUOWSYzIws,9117
|
|
74
|
-
mcp_ticketer/mcp/server/tools/pr_tools.py,sha256=PoB5YABYIlrABw5-RPA8bTh8uHH3hituslV9ib9xUUU,4540
|
|
75
|
-
mcp_ticketer/mcp/server/tools/search_tools.py,sha256=60OwDXN9bLQKbe9apLmJDyM0TcTPCAv9Vp2X2gPBQX4,6952
|
|
76
|
-
mcp_ticketer/mcp/server/tools/ticket_tools.py,sha256=PdhIDQIOh_p4KklSLfMpAtFvsNXSHYjuG7xWIjKmD6Y,14282
|
|
77
|
-
mcp_ticketer/mcp/server/tools/user_ticket_tools.py,sha256=z6K4jkg_F-iOxDGrYwsqKkmg8Tc6MwK0x5jUOGPlbxs,13940
|
|
78
|
-
mcp_ticketer/queue/__init__.py,sha256=ut4EkrXng9RJlFPZRKUa3elhHo3MFGhshBXquZ16vcs,278
|
|
79
|
-
mcp_ticketer/queue/__main__.py,sha256=gc_tE9NUdK07OJfTZuD4t6KeBD_vxFQIhknGTQUG_jk,109
|
|
80
|
-
mcp_ticketer/queue/health_monitor.py,sha256=Mtp0_HC72VmkJY_zc1soXhWr7KBebThF63JPF5JcKaE,12279
|
|
81
|
-
mcp_ticketer/queue/manager.py,sha256=Fz-mcx9jdRBCt8ujwXNfi0wgn7heavTdzcM8269hX-Q,10752
|
|
82
|
-
mcp_ticketer/queue/queue.py,sha256=8I9Jqk4kbzBulOkG6wX9xvd5KqHQiOsyJxBT5ka5UiM,17947
|
|
83
|
-
mcp_ticketer/queue/run_worker.py,sha256=WTYvNxvyXxBOVYvMOVVC9F5_FCGV1oT3uJRppDAFA0k,1027
|
|
84
|
-
mcp_ticketer/queue/ticket_registry.py,sha256=wT5kN0xjBHYNNj4hgnZ1DYGv8pkHcSXV-FR-eViOoL4,15510
|
|
85
|
-
mcp_ticketer/queue/worker.py,sha256=HirWcSCVNaM-_5_dMdw-su8jNlaR_-5DU8vM9uY7CD4,21093
|
|
86
|
-
mcp_ticketer-0.12.0.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
|
|
87
|
-
mcp_ticketer-0.12.0.dist-info/METADATA,sha256=B_yiNS_fk6SOl-rUis64OdIjsv44AB2ntjszE8zGuI4,18320
|
|
88
|
-
mcp_ticketer-0.12.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
89
|
-
mcp_ticketer-0.12.0.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
|
|
90
|
-
mcp_ticketer-0.12.0.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
|
|
91
|
-
mcp_ticketer-0.12.0.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
mcp_ticketer
|
|
File without changes
|
|
File without changes
|
|
File without changes
|