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.
Files changed (41) hide show
  1. {janet_cli-0.2.7/janet_cli.egg-info → janet_cli-0.2.8}/PKG-INFO +1 -1
  2. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/__init__.py +1 -1
  3. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/tickets.py +24 -0
  4. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/sync_engine.py +2 -2
  5. {janet_cli-0.2.7 → janet_cli-0.2.8/janet_cli.egg-info}/PKG-INFO +1 -1
  6. {janet_cli-0.2.7 → janet_cli-0.2.8}/pyproject.toml +1 -1
  7. {janet_cli-0.2.7 → janet_cli-0.2.8}/.env.example +0 -0
  8. {janet_cli-0.2.7 → janet_cli-0.2.8}/LICENSE +0 -0
  9. {janet_cli-0.2.7 → janet_cli-0.2.8}/MANIFEST.in +0 -0
  10. {janet_cli-0.2.7 → janet_cli-0.2.8}/README.md +0 -0
  11. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/__main__.py +0 -0
  12. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/__init__.py +0 -0
  13. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/client.py +0 -0
  14. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/models.py +0 -0
  15. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/organizations.py +0 -0
  16. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/api/projects.py +0 -0
  17. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/__init__.py +0 -0
  18. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/callback_server.py +0 -0
  19. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/oauth_flow.py +0 -0
  20. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/auth/token_manager.py +0 -0
  21. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/cli.py +0 -0
  22. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/__init__.py +0 -0
  23. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/manager.py +0 -0
  24. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/config/models.py +0 -0
  25. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/__init__.py +0 -0
  26. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/generator.py +0 -0
  27. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/markdown/yjs_converter.py +0 -0
  28. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/__init__.py +0 -0
  29. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/file_manager.py +0 -0
  30. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/sync/readme_generator.py +0 -0
  31. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/__init__.py +0 -0
  32. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/console.py +0 -0
  33. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/errors.py +0 -0
  34. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet/utils/paths.py +0 -0
  35. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/SOURCES.txt +0 -0
  36. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/dependency_links.txt +0 -0
  37. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/entry_points.txt +0 -0
  38. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/requires.txt +0 -0
  39. {janet_cli-0.2.7 → janet_cli-0.2.8}/janet_cli.egg-info/top_level.txt +0 -0
  40. {janet_cli-0.2.7 → janet_cli-0.2.8}/requirements.txt +0 -0
  41. {janet_cli-0.2.7 → janet_cli-0.2.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janet-cli
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: CLI tool to sync Janet AI tickets to local markdown files
5
5
  Author-email: Janet AI <support@janet-ai.com>
6
6
  License: MIT
@@ -1,3 +1,3 @@
1
1
  """Janet AI CLI - Sync tickets to local markdown files."""
2
2
 
3
- __version__ = "0.2.7"
3
+ __version__ = "0.2.8"
@@ -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 at once
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.batch_fetch(ticket_ids)
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}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janet-cli
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: CLI tool to sync Janet AI tickets to local markdown files
5
5
  Author-email: Janet AI <support@janet-ai.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janet-cli"
7
- version = "0.2.7"
7
+ version = "0.2.8"
8
8
  description = "CLI tool to sync Janet AI tickets to local markdown files"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
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