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.
- {janet_cli-0.2.3/janet_cli.egg-info → janet_cli-0.2.5}/PKG-INFO +1 -5
- {janet_cli-0.2.3 → janet_cli-0.2.5}/README.md +1 -5
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/__init__.py +1 -1
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/tickets.py +27 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/sync_engine.py +5 -30
- {janet_cli-0.2.3 → janet_cli-0.2.5/janet_cli.egg-info}/PKG-INFO +1 -5
- {janet_cli-0.2.3 → janet_cli-0.2.5}/pyproject.toml +1 -1
- {janet_cli-0.2.3 → janet_cli-0.2.5}/.env.example +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/LICENSE +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/MANIFEST.in +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/__main__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/client.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/models.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/organizations.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/api/projects.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/callback_server.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/oauth_flow.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/auth/token_manager.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/cli.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/manager.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/config/models.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/generator.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/markdown/yjs_converter.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/file_manager.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/sync/readme_generator.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/__init__.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/console.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/errors.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet/utils/paths.py +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/SOURCES.txt +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/dependency_links.txt +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/entry_points.txt +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/requires.txt +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/janet_cli.egg-info/top_level.txt +0 -0
- {janet_cli-0.2.3 → janet_cli-0.2.5}/requirements.txt +0 -0
- {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
|
+
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.
|
|
@@ -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
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
+
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
|
|
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
|