janet-cli 0.2.3__tar.gz → 0.2.5__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.3/janet_cli.egg-info → janet_cli-0.2.5}/PKG-INFO +1 -5
  2. {janet_cli-0.2.3 → janet_cli-0.2.5}/README.md +1 -5
  3. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/__init__.py +1 -1
  4. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/tickets.py +27 -0
  5. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/sync_engine.py +5 -30
  6. {janet_cli-0.2.3 → janet_cli-0.2.5/janet_cli.egg-info}/PKG-INFO +1 -5
  7. {janet_cli-0.2.3 → janet_cli-0.2.5}/pyproject.toml +1 -1
  8. {janet_cli-0.2.3 → janet_cli-0.2.5}/.env.example +0 -0
  9. {janet_cli-0.2.3 → janet_cli-0.2.5}/LICENSE +0 -0
  10. {janet_cli-0.2.3 → janet_cli-0.2.5}/MANIFEST.in +0 -0
  11. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/__main__.py +0 -0
  12. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/__init__.py +0 -0
  13. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/client.py +0 -0
  14. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/models.py +0 -0
  15. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/organizations.py +0 -0
  16. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/projects.py +0 -0
  17. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/__init__.py +0 -0
  18. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/callback_server.py +0 -0
  19. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/oauth_flow.py +0 -0
  20. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/token_manager.py +0 -0
  21. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/cli.py +0 -0
  22. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/__init__.py +0 -0
  23. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/manager.py +0 -0
  24. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/models.py +0 -0
  25. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/__init__.py +0 -0
  26. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/generator.py +0 -0
  27. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/yjs_converter.py +0 -0
  28. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/__init__.py +0 -0
  29. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/file_manager.py +0 -0
  30. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/readme_generator.py +0 -0
  31. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/__init__.py +0 -0
  32. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/console.py +0 -0
  33. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/errors.py +0 -0
  34. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/paths.py +0 -0
  35. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/SOURCES.txt +0 -0
  36. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/dependency_links.txt +0 -0
  37. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/entry_points.txt +0 -0
  38. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/requires.txt +0 -0
  39. {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/top_level.txt +0 -0
  40. {janet_cli-0.2.3 → janet_cli-0.2.5}/requirements.txt +0 -0
  41. {janet_cli-0.2.3 → janet_cli-0.2.5}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janet-cli
3
- Version: 0.2.3
3
+ Version: 0.2.5
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
@@ -213,7 +213,3 @@ MIT License - see [LICENSE](LICENSE) file for details.
213
213
  ## Acknowledgments
214
214
 
215
215
  Built for [Janet AI](https://tryjanet.ai) - The AI-native project management platform backed by Y Combinator.
216
-
217
- ---
218
-
219
- **Current Version:** 0.2.0
@@ -170,8 +170,4 @@ MIT License - see [LICENSE](LICENSE) file for details.
170
170
 
171
171
  ## Acknowledgments
172
172
 
173
- Built for [Janet AI](https://tryjanet.ai) - The AI-native project management platform backed by Y Combinator.
174
-
175
- ---
176
-
177
- **Current Version:** 0.2.0
173
+ Built for [Janet AI](https://tryjanet.ai) - The AI-native project management platform backed by Y Combinator.
@@ -1,3 +1,3 @@
1
1
  """Janet AI CLI - Sync tickets to local markdown files."""
2
2
 
3
- __version__ = "0.2.3"
3
+ __version__ = "0.2.5"
@@ -99,6 +99,33 @@ class TicketAPI(APIClient):
99
99
 
100
100
  return response.get("tickets", [])
101
101
 
102
+ def sync_all_tickets(self, project_id: str) -> Dict:
103
+ """
104
+ Get ALL tickets for a project using the CLI sync endpoint.
105
+ No pagination - returns everything in one call.
106
+
107
+ Args:
108
+ project_id: Project ID
109
+
110
+ Returns:
111
+ Dictionary with all tickets
112
+
113
+ Raises:
114
+ NetworkError: If API request fails
115
+ """
116
+ endpoint = f"/api/v1/cli/projects/{project_id}/tickets/sync"
117
+
118
+ data = {
119
+ "show_resolved_over_7_days": True,
120
+ }
121
+
122
+ response = self.post(endpoint, data=data, include_org=True)
123
+
124
+ if not response.get("success"):
125
+ raise Exception(response.get("error", "Failed to sync tickets"))
126
+
127
+ return response
128
+
102
129
  def get_ticket_attachments(self, ticket_id: str) -> Dict:
103
130
  """
104
131
  Get attachments for a ticket.
@@ -114,36 +114,11 @@ class SyncEngine:
114
114
  """
115
115
  org_name = self.config.selected_organization.name
116
116
 
117
- # Fetch all tickets with pagination
118
- tickets = []
119
- offset = 0
120
- limit = 200 # API limit per request
121
-
122
- while True:
123
- response = self.ticket_api.list_tickets(project_id, limit=limit, offset=offset)
124
-
125
- # Extract tickets from current page
126
- page_tickets = []
127
- if "items" in response:
128
- page_tickets = response["items"]
129
- elif "kanban_data" in response:
130
- kanban_data = response["kanban_data"]
131
- for column in kanban_data.get("columns", []):
132
- column_tickets = column.get("tickets", [])
133
- page_tickets.extend(column_tickets)
134
- elif "tickets" in response:
135
- page_tickets = response["tickets"]
136
-
137
- if not page_tickets:
138
- break # No more tickets
139
-
140
- tickets.extend(page_tickets)
141
-
142
- # Check if there are more tickets
143
- if response.get("has_more"):
144
- offset = response.get("next_offset", offset + limit)
145
- else:
146
- break # No more pages
117
+ # Fetch all tickets using CLI sync endpoint (no pagination needed)
118
+ response = self.ticket_api.sync_all_tickets(project_id)
119
+
120
+ # Extract tickets from response
121
+ tickets = response.get("tickets", [])
147
122
 
148
123
  if not tickets:
149
124
  console.print(f" [dim]↳ {project_key} - No tickets found[/dim]")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janet-cli
3
- Version: 0.2.3
3
+ Version: 0.2.5
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
@@ -213,7 +213,3 @@ MIT License - see [LICENSE](LICENSE) file for details.
213
213
  ## Acknowledgments
214
214
 
215
215
  Built for [Janet AI](https://tryjanet.ai) - The AI-native project management platform backed by Y Combinator.
216
-
217
- ---
218
-
219
- **Current Version:** 0.2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janet-cli"
7
- version = "0.2.3"
7
+ version = "0.2.5"
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