devin-cli 1.1.6__tar.gz → 1.1.7__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 (53) hide show
  1. {devin_cli-1.1.6 → devin_cli-1.1.7}/CHANGELOG.md +5 -0
  2. {devin_cli-1.1.6 → devin_cli-1.1.7}/PKG-INFO +1 -1
  3. {devin_cli-1.1.6 → devin_cli-1.1.7}/pyproject.toml +1 -1
  4. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/knowledge.py +0 -2
  5. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/sessions.py +0 -2
  6. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/cli.py +3 -3
  7. {devin_cli-1.1.6 → devin_cli-1.1.7}/.github/workflows/pypi-publish.yml +0 -0
  8. {devin_cli-1.1.6 → devin_cli-1.1.7}/.gitignore +0 -0
  9. {devin_cli-1.1.6 → devin_cli-1.1.7}/LICENSE +0 -0
  10. {devin_cli-1.1.6 → devin_cli-1.1.7}/README.md +0 -0
  11. {devin_cli-1.1.6 → devin_cli-1.1.7}/assets/logo.png +0 -0
  12. {devin_cli-1.1.6 → devin_cli-1.1.7}/generate_facades.py +0 -0
  13. {devin_cli-1.1.6 → devin_cli-1.1.7}/setup.py +0 -0
  14. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/__init__.py +0 -0
  15. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/__init__.py +0 -0
  16. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/attachments.py +0 -0
  17. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/client.py +0 -0
  18. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/consumption.py +0 -0
  19. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/knowledge.py +0 -0
  20. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/members.py +0 -0
  21. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/organizations.py +0 -0
  22. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/playbooks.py +0 -0
  23. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/repositories.py +0 -0
  24. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/schedules.py +0 -0
  25. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/secrets.py +0 -0
  26. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/sessions.py +0 -0
  27. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/__init__.py +0 -0
  28. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/attachments.py +0 -0
  29. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/knowledge.py +0 -0
  30. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/playbooks.py +0 -0
  31. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/secrets.py +0 -0
  32. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v1/sessions.py +0 -0
  33. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/__init__.py +0 -0
  34. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/attachments.py +0 -0
  35. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/consumption.py +0 -0
  36. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/members.py +0 -0
  37. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/organizations.py +0 -0
  38. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/playbooks.py +0 -0
  39. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/repositories.py +0 -0
  40. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/schedules.py +0 -0
  41. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/api/v3/secrets.py +0 -0
  42. {devin_cli-1.1.6 → devin_cli-1.1.7}/src/devin_cli/config.py +0 -0
  43. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/__init__.py +0 -0
  44. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/conftest.py +0 -0
  45. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_attachments.py +0 -0
  46. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_knowledge.py +0 -0
  47. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_playbooks.py +0 -0
  48. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_repositories.py +0 -0
  49. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_schedules.py +0 -0
  50. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_secrets.py +0 -0
  51. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_api/test_sessions.py +0 -0
  52. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_cli.py +0 -0
  53. {devin_cli-1.1.6 → devin_cli-1.1.7}/tests/test_config.py +0 -0
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.1.7] - 2026-03-11
9
+ ### Fixed
10
+ - `knowledge list` now correctly reads `notes` key from the v3 `knowledge/notes` endpoint, with `knowledge` as fallback. Also reads `title` in addition to `name` for display.
11
+ - `schedules list` now correctly reads `schedules` key from the v3 response, with `items` as fallback.
12
+
8
13
  ## [1.1.6] - 2026-03-11
9
14
  ### Fixed
10
15
  - `repos list` now correctly reads `repo_path` (the actual v3beta1 API key) and resolves indexed state from `indexing_status.indexing_enabled`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devin-cli
3
- Version: 1.1.6
3
+ Version: 1.1.7
4
4
  Summary: Unofficial CLI for Devin AI - The first AI Software Engineer
5
5
  Project-URL: Homepage, https://github.com/revanthpobala/devin-cli
6
6
  Project-URL: Repository, https://github.com/revanthpobala/devin-cli.git
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "devin-cli"
3
- version = "1.1.6"
3
+ version = "1.1.7"
4
4
  description = "Unofficial CLI for Devin AI - The first AI Software Engineer"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -7,8 +7,6 @@ def list_knowledge():
7
7
  def create_knowledge(
8
8
  title: str,
9
9
  body: str,
10
- # v3 uses title/body, v1 used name/body/trigger_description
11
- # We'll map them for compatibility if possible, but v3 is primary
12
10
  ):
13
11
  data = {
14
12
  "title": title,
@@ -70,11 +70,9 @@ def get_session_tags(session_id: str):
70
70
  return client.get(f"sessions/{session_id}/tags")
71
71
 
72
72
  def update_session_tags(session_id: str, tags: List[str]):
73
- # v3 PUT replaces tags
74
73
  return client.put(f"sessions/{session_id}/tags", json={"tags": tags})
75
74
 
76
75
  def append_session_tags(session_id: str, tags: List[str]):
77
- # v3 POST appends tags
78
76
  return client.post(f"sessions/{session_id}/tags", json={"tags": tags})
79
77
 
80
78
  def terminate_session(session_id: str):
@@ -331,12 +331,12 @@ def list_knowledge_cmd(org: Optional[str] = typer.Option(None, "--org")):
331
331
  """List knowledge notes."""
332
332
  if org: config.temporary_org_id = org
333
333
  resp = knowledge.list_knowledge()
334
- items = resp.get("knowledge", [])
334
+ items = resp.get("notes", resp.get("knowledge", []))
335
335
  table = Table(title="Knowledge Base")
336
336
  table.add_column("ID", style="cyan")
337
337
  table.add_column("Name")
338
338
  for item in items:
339
- table.add_row(item.get("id"), item.get("name"))
339
+ table.add_row(item.get("id"), item.get("title") or item.get("name"))
340
340
  console.print(table)
341
341
 
342
342
  @knowledge_app.command("create")
@@ -489,7 +489,7 @@ def list_schedules_cmd(org: Optional[str] = typer.Option(None, "--org")):
489
489
  """List recurring schedules."""
490
490
  if org: config.temporary_org_id = org
491
491
  resp = schedules.list_schedules()
492
- items = resp.get("items", [])
492
+ items = resp.get("schedules", resp.get("items", []))
493
493
  table = Table(title="Schedules")
494
494
  table.add_column("ID", style="cyan")
495
495
  table.add_column("Title")
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