janet-cli 0.2.7__tar.gz → 0.2.8__tar.gz
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.
- {janet_cli-0.2.7/janet_cli.egg-info → janet_cli-0.2.8}/PKG-INFO +1 -1
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/__init__.py +1 -1
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/tickets.py +24 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/sync_engine.py +2 -2
- {janet_cli-0.2.7 → janet_cli-0.2.8/janet_cli.egg-info}/PKG-INFO +1 -1
- {janet_cli-0.2.7 → janet_cli-0.2.8}/pyproject.toml +1 -1
- {janet_cli-0.2.7 → janet_cli-0.2.8}/.env.example +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/LICENSE +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/MANIFEST.in +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/README.md +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/__main__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/client.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/models.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/organizations.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/projects.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/callback_server.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/oauth_flow.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/token_manager.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/cli.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/manager.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/models.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/generator.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/yjs_converter.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/file_manager.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/readme_generator.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/__init__.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/console.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/errors.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/paths.py +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/SOURCES.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/dependency_links.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/entry_points.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/requires.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/top_level.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/requirements.txt +0 -0
- {janet_cli-0.2.7 → janet_cli-0.2.8}/setup.cfg +0 -0
|
@@ -75,6 +75,30 @@ class TicketAPI(APIClient):
|
|
|
75
75
|
|
|
76
76
|
return response.get("ticket", {})
|
|
77
77
|
|
|
78
|
+
def cli_batch_fetch(self, ticket_ids: List[str]) -> List[Dict]:
|
|
79
|
+
"""
|
|
80
|
+
Fetch multiple tickets using CLI unlimited endpoint - NO 500 LIMIT.
|
|
81
|
+
|
|
82
|
+
Args:
|
|
83
|
+
ticket_ids: List of ticket IDs (unlimited)
|
|
84
|
+
|
|
85
|
+
Returns:
|
|
86
|
+
List of ticket dictionaries
|
|
87
|
+
|
|
88
|
+
Raises:
|
|
89
|
+
NetworkError: If API request fails
|
|
90
|
+
"""
|
|
91
|
+
if not ticket_ids:
|
|
92
|
+
return []
|
|
93
|
+
|
|
94
|
+
data = {"ticket_ids": ticket_ids}
|
|
95
|
+
response = self.post("/api/v1/cli/tickets/batch", data=data, include_org=True)
|
|
96
|
+
|
|
97
|
+
if not response.get("success"):
|
|
98
|
+
raise Exception(response.get("error", "Failed to batch fetch tickets"))
|
|
99
|
+
|
|
100
|
+
return response.get("tickets", [])
|
|
101
|
+
|
|
78
102
|
def batch_fetch(self, ticket_ids: List[str]) -> List[Dict]:
|
|
79
103
|
"""
|
|
80
104
|
Fetch multiple tickets in one request.
|
|
@@ -127,11 +127,11 @@ class SyncEngine:
|
|
|
127
127
|
# Fetch organization members for name resolution (once per project)
|
|
128
128
|
org_members = self._fetch_org_members()
|
|
129
129
|
|
|
130
|
-
# Batch fetch all full ticket details
|
|
130
|
+
# Batch fetch all full ticket details using unlimited CLI endpoint
|
|
131
131
|
ticket_ids = [t.get("id") for t in tickets if t.get("id")]
|
|
132
132
|
|
|
133
133
|
console.print(f" Fetching full details for {len(ticket_ids)} tickets...")
|
|
134
|
-
full_tickets_list = self.ticket_api.
|
|
134
|
+
full_tickets_list = self.ticket_api.cli_batch_fetch(ticket_ids)
|
|
135
135
|
|
|
136
136
|
# Create lookup map by ticket ID
|
|
137
137
|
full_tickets_map = {t.get("id"): t for t in full_tickets_list}
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|