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.

Files changed (70) hide show
  1. mcp_ticketer/__version__.py +3 -3
  2. mcp_ticketer/adapters/__init__.py +2 -0
  3. mcp_ticketer/adapters/aitrackdown.py +9 -3
  4. mcp_ticketer/adapters/asana/__init__.py +15 -0
  5. mcp_ticketer/adapters/asana/adapter.py +1308 -0
  6. mcp_ticketer/adapters/asana/client.py +292 -0
  7. mcp_ticketer/adapters/asana/mappers.py +334 -0
  8. mcp_ticketer/adapters/asana/types.py +146 -0
  9. mcp_ticketer/adapters/github.py +313 -96
  10. mcp_ticketer/adapters/jira.py +251 -1
  11. mcp_ticketer/adapters/linear/adapter.py +524 -22
  12. mcp_ticketer/adapters/linear/client.py +61 -9
  13. mcp_ticketer/adapters/linear/mappers.py +9 -3
  14. mcp_ticketer/cache/memory.py +3 -3
  15. mcp_ticketer/cli/adapter_diagnostics.py +1 -1
  16. mcp_ticketer/cli/auggie_configure.py +1 -1
  17. mcp_ticketer/cli/codex_configure.py +80 -1
  18. mcp_ticketer/cli/configure.py +33 -43
  19. mcp_ticketer/cli/diagnostics.py +18 -16
  20. mcp_ticketer/cli/discover.py +288 -21
  21. mcp_ticketer/cli/gemini_configure.py +1 -1
  22. mcp_ticketer/cli/instruction_commands.py +429 -0
  23. mcp_ticketer/cli/linear_commands.py +99 -15
  24. mcp_ticketer/cli/main.py +1199 -227
  25. mcp_ticketer/cli/mcp_configure.py +1 -1
  26. mcp_ticketer/cli/migrate_config.py +12 -8
  27. mcp_ticketer/cli/platform_commands.py +6 -6
  28. mcp_ticketer/cli/platform_detection.py +412 -0
  29. mcp_ticketer/cli/queue_commands.py +15 -15
  30. mcp_ticketer/cli/simple_health.py +1 -1
  31. mcp_ticketer/cli/ticket_commands.py +14 -13
  32. mcp_ticketer/cli/update_checker.py +313 -0
  33. mcp_ticketer/cli/utils.py +45 -41
  34. mcp_ticketer/core/__init__.py +12 -0
  35. mcp_ticketer/core/adapter.py +4 -4
  36. mcp_ticketer/core/config.py +17 -10
  37. mcp_ticketer/core/env_discovery.py +33 -3
  38. mcp_ticketer/core/env_loader.py +7 -6
  39. mcp_ticketer/core/exceptions.py +3 -3
  40. mcp_ticketer/core/http_client.py +10 -10
  41. mcp_ticketer/core/instructions.py +405 -0
  42. mcp_ticketer/core/mappers.py +1 -1
  43. mcp_ticketer/core/models.py +1 -1
  44. mcp_ticketer/core/onepassword_secrets.py +379 -0
  45. mcp_ticketer/core/project_config.py +17 -1
  46. mcp_ticketer/core/registry.py +1 -1
  47. mcp_ticketer/defaults/ticket_instructions.md +644 -0
  48. mcp_ticketer/mcp/__init__.py +2 -2
  49. mcp_ticketer/mcp/server/__init__.py +2 -2
  50. mcp_ticketer/mcp/server/main.py +82 -69
  51. mcp_ticketer/mcp/server/tools/__init__.py +9 -0
  52. mcp_ticketer/mcp/server/tools/attachment_tools.py +63 -16
  53. mcp_ticketer/mcp/server/tools/config_tools.py +381 -0
  54. mcp_ticketer/mcp/server/tools/hierarchy_tools.py +154 -5
  55. mcp_ticketer/mcp/server/tools/instruction_tools.py +293 -0
  56. mcp_ticketer/mcp/server/tools/ticket_tools.py +157 -4
  57. mcp_ticketer/mcp/server/tools/user_ticket_tools.py +382 -0
  58. mcp_ticketer/queue/health_monitor.py +1 -0
  59. mcp_ticketer/queue/manager.py +4 -4
  60. mcp_ticketer/queue/queue.py +3 -3
  61. mcp_ticketer/queue/run_worker.py +1 -1
  62. mcp_ticketer/queue/ticket_registry.py +2 -2
  63. mcp_ticketer/queue/worker.py +14 -12
  64. {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/METADATA +106 -52
  65. mcp_ticketer-0.12.0.dist-info/RECORD +91 -0
  66. mcp_ticketer-0.4.11.dist-info/RECORD +0 -77
  67. {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/WHEEL +0 -0
  68. {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/entry_points.txt +0 -0
  69. {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/licenses/LICENSE +0 -0
  70. {mcp_ticketer-0.4.11.dist-info → mcp_ticketer-0.12.0.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-ticketer
3
- Version: 0.4.11
3
+ Version: 0.12.0
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>
@@ -18,7 +18,6 @@ Classifier: License :: OSI Approved :: MIT License
18
18
  Classifier: Operating System :: OS Independent
19
19
  Classifier: Programming Language :: Python
20
20
  Classifier: Programming Language :: Python :: 3
21
- Classifier: Programming Language :: Python :: 3.9
22
21
  Classifier: Programming Language :: Python :: 3.10
23
22
  Classifier: Programming Language :: Python :: 3.11
24
23
  Classifier: Programming Language :: Python :: 3.12
@@ -105,6 +104,7 @@ Universal ticket management interface for AI agents with MCP (Model Context Prot
105
104
  - **📊 State Machine**: Built-in state transitions with validation
106
105
  - **🔍 Advanced Search**: Full-text search with multiple filters
107
106
  - **📎 File Attachments**: Upload, list, and manage ticket attachments (AITrackdown adapter)
107
+ - **📝 Custom Instructions**: Customize ticket writing guidelines for your team
108
108
  - **📦 Easy Installation**: Available on PyPI with simple pip install
109
109
 
110
110
  ## 📦 Installation
@@ -149,28 +149,24 @@ MCP Ticketer integrates with multiple AI clients via the Model Context Protocol
149
149
  ### Quick MCP Setup
150
150
 
151
151
  ```bash
152
- # Claude Code (recommended for project-specific workflows)
153
- mcp-ticketer init --adapter aitrackdown # First, initialize an adapter
154
- mcp-ticketer install claude-code # Then install MCP configuration
155
-
156
- # Claude Desktop (global configuration)
152
+ # Initialize adapter first (required)
157
153
  mcp-ticketer init --adapter aitrackdown
158
- mcp-ticketer install claude-desktop
159
154
 
160
- # Gemini CLI (Google's AI client)
161
- mcp-ticketer init --adapter aitrackdown
162
- mcp-ticketer install gemini
155
+ # Auto-detection (Recommended) - Interactive platform selection
156
+ mcp-ticketer install # Auto-detect and prompt for platform
163
157
 
164
- # Codex CLI (global configuration, requires restart)
165
- mcp-ticketer init --adapter aitrackdown
166
- mcp-ticketer install codex
158
+ # See all detected platforms
159
+ mcp-ticketer install --auto-detect # Show what's installed on your system
167
160
 
168
- # Auggie (simple global setup)
169
- mcp-ticketer init --adapter aitrackdown
170
- mcp-ticketer install auggie
161
+ # Install for all detected platforms at once
162
+ mcp-ticketer install --all # Configure all detected AI clients
171
163
 
172
- # Show available platforms
173
- mcp-ticketer install
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
174
170
  ```
175
171
 
176
172
  **See [AI Client Integration Guide](docs/AI_CLIENT_INTEGRATION.md) for detailed setup instructions.**
@@ -184,10 +180,13 @@ mcp-ticketer install
184
180
  mcp-ticketer init --adapter aitrackdown
185
181
 
186
182
  # For Linear (requires API key)
187
- # Option 1: Using team key (recommended)
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
188
187
  mcp-ticketer init --adapter linear --team-key ENG
189
188
 
190
- # Option 2: Using team ID
189
+ # Option 3: Using team ID
191
190
  mcp-ticketer init --adapter linear --team-id YOUR_TEAM_ID
192
191
 
193
192
  # For JIRA (requires server and credentials)
@@ -204,6 +203,17 @@ mcp-ticketer init --adapter github --repo owner/repo
204
203
  - `mcp-ticketer install` - Install and configure (same as init)
205
204
  - `mcp-ticketer setup` - Setup (same as init)
206
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
+
207
217
  ### 2. Create Your First Ticket
208
218
 
209
219
  ```bash
@@ -235,39 +245,73 @@ mcp-ticketer search "login bug" --state open
235
245
  ### 4. Working with Attachments (AITrackdown)
236
246
 
237
247
  ```bash
238
- # Add attachment via MCP tools
239
- mcp-ticketer mcp call ticket_attach '{
240
- "ticket_id": "task-123",
241
- "file_path": "/path/to/document.pdf",
242
- "description": "Project specification"
243
- }'
244
-
245
- # List attachments
246
- mcp-ticketer mcp call ticket_attachments '{
247
- "ticket_id": "task-123"
248
- }'
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"
249
253
  ```
250
254
 
251
255
  For programmatic access, see the [Attachments Guide](docs/ATTACHMENTS.md).
252
256
 
253
- ## 🤖 MCP Server Integration
257
+ ### 5. Customize Ticket Writing Instructions
254
258
 
255
- MCP Ticketer provides seamless integration with AI clients through automatic configuration:
259
+ Customize ticket guidelines to match your team's conventions:
256
260
 
257
261
  ```bash
258
- # Run MCP server manually (for testing)
259
- mcp-ticketer serve
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
+ ```
260
274
 
261
- # Or install MCP configuration automatically (recommended)
262
- mcp-ticketer install claude-code # For Claude Code (project-level)
263
- mcp-ticketer install claude-desktop # For Claude Desktop (global)
264
- mcp-ticketer install gemini # For Gemini CLI
265
- mcp-ticketer install codex # For Codex CLI
266
- mcp-ticketer install auggie # For Auggie
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
267
311
 
268
312
  # Remove MCP configuration when needed
269
- mcp-ticketer remove claude-code # Remove from Claude Code
270
- mcp-ticketer uninstall auggie # Alias for remove
313
+ mcp-ticketer remove claude-code # Remove from Claude Code
314
+ mcp-ticketer uninstall auggie # Alias for remove
271
315
  ```
272
316
 
273
317
  **Configuration is automatic** - the commands above will:
@@ -307,28 +351,38 @@ mcp-ticketer uninstall auggie # Alias for remove
307
351
 
308
352
  ### Linear Configuration
309
353
 
310
- Configure Linear using either a team **key** (recommended) or team **ID**:
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
+ ```
311
363
 
312
- **Option 1: Team Key** (Recommended)
364
+ **Option 2: Team Key**
313
365
  ```bash
314
366
  # In .env or environment
315
367
  LINEAR_API_KEY=lin_api_...
316
368
  LINEAR_TEAM_KEY=ENG
317
369
  ```
318
370
 
319
- **Option 2: Team ID**
371
+ **Option 3: Team ID**
320
372
  ```bash
321
373
  # In .env or environment
322
374
  LINEAR_API_KEY=lin_api_...
323
375
  LINEAR_TEAM_ID=02d15669-7351-4451-9719-807576c16049
324
376
  ```
325
377
 
326
- **Finding your team key in Linear:**
327
- 1. Go to Linear Settings → Teams
328
- 2. Select your team
329
- 3. Look for the "Key" field (e.g., "ENG", "DESIGN", "PRODUCT")
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)
330
382
 
331
- The team key is a short, human-readable identifier that's easier to use than the UUID-based team ID.
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")
332
386
 
333
387
  ### Environment Variables
334
388
 
@@ -0,0 +1,91 @@
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,77 +0,0 @@
1
- mcp_ticketer/__init__.py,sha256=Xx4WaprO5PXhVPbYi1L6tBmwmJMkYS-lMyG4ieN6QP0,717
2
- mcp_ticketer/__version__.py,sha256=KA-4Y9WJae6VcyqiBHDWD4r6E0fsu6bMZii1en3rPLc,1118
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=cm8L7amB64ZCoGvWbnpH9zxZlXu6t-l8TWiYVSwDhlg,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=oQw_KgZWSdktfUhYEAonHUfK8z4CaiP18TC9pZqYv5Q,36251
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=B3tQc0RaVx3hZbMNuYhUELO6npnrFLTqfcVNhXDfgY4,11795
21
- mcp_ticketer/cli/codex_configure.py,sha256=tP4YcOJ6kKSSV6LbLRnVJh3CObqCUjoAOb5YoOW7510,12314
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=8Cz0qONLjd9oLZNhycgHz9zsdjA3B6PdQ1mlEK8z61M,12709
26
- mcp_ticketer/cli/linear_commands.py,sha256=YnmqRacAfTdF0CLr4BXOxFs3uwm_hVifbGdTe6t2CfA,17273
27
- mcp_ticketer/cli/main.py,sha256=W36hKxZZKoojjBUYl5U5MlXLaw-qX9i0nPrmvtsndtI,89926
28
- mcp_ticketer/cli/mcp_configure.py,sha256=IcjU7ckP3qO5OJYtYCYTI4S2iNqJ0Khin4L-5DUG-GQ,19450
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=aOnzv5YBfxvd6HvZeEnXeajizde53TcFaMWL3PJh5lY,379
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=-mBqZiNloAlle9ds7jZXG2wJIRnEV0ALSQfdrMK-lVo,653
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=ddYl7u2vUwnuPRg-QP0sZS_Utils9nx-PEdxcIvqfy4,48834
54
- mcp_ticketer/mcp/server/response_builder.py,sha256=DUfe1e0CcXPlepLq-cGH6b_THqoZEynYfVKkZEeLe0M,4933
55
- mcp_ticketer/mcp/server/server_sdk.py,sha256=KGpMvvJAckKl5ReLsyYvNJCM44nZRgY-V7dkgENTFX0,2554
56
- mcp_ticketer/mcp/server/tools/__init__.py,sha256=6miiC2Cru8u2TCrm9RYF1jxd7vu9SI7BPLUjtzwOxT8,1056
57
- mcp_ticketer/mcp/server/tools/attachment_tools.py,sha256=c2ySBs0Zz1M_zbFszbsD0S8lJT8dnCzTy-mSsKEDPV0,5674
58
- mcp_ticketer/mcp/server/tools/bulk_tools.py,sha256=H5RZylDsrYuTCDF1afUcVcm-Yv3cu052JwwBPW9-4YA,9200
59
- mcp_ticketer/mcp/server/tools/comment_tools.py,sha256=XXPS4TCIDaxnoITdG4B38iOX9LOElqCZFus4FnULJeg,2702
60
- mcp_ticketer/mcp/server/tools/hierarchy_tools.py,sha256=KcsZ4NAd00vOm-PZziAtAanOX8CB7baGkWNoIKDIako,10502
61
- mcp_ticketer/mcp/server/tools/pr_tools.py,sha256=PoB5YABYIlrABw5-RPA8bTh8uHH3hituslV9ib9xUUU,4540
62
- mcp_ticketer/mcp/server/tools/search_tools.py,sha256=60OwDXN9bLQKbe9apLmJDyM0TcTPCAv9Vp2X2gPBQX4,6952
63
- mcp_ticketer/mcp/server/tools/ticket_tools.py,sha256=DrNxx8gKvmFOKpxR80hcmtXK1tZOmemBgAABlPAPl6E,8122
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.11.dist-info/licenses/LICENSE,sha256=KOVrunjtILSzY-2N8Lqa3-Q8dMaZIG4LrlLTr9UqL08,1073
73
- mcp_ticketer-0.4.11.dist-info/METADATA,sha256=A6l9hu8WGCO-mItNuoc2Ql8Fq76X9p6Ln0hx5xZ7ABg,16021
74
- mcp_ticketer-0.4.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
75
- mcp_ticketer-0.4.11.dist-info/entry_points.txt,sha256=o1IxVhnHnBNG7FZzbFq-Whcs1Djbofs0qMjiUYBLx2s,60
76
- mcp_ticketer-0.4.11.dist-info/top_level.txt,sha256=WnAG4SOT1Vm9tIwl70AbGG_nA217YyV3aWFhxLH2rxw,13
77
- mcp_ticketer-0.4.11.dist-info/RECORD,,