orchid-cli 1.2.0__tar.gz → 1.2.1__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 (62) hide show
  1. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CHANGELOG.md +8 -0
  2. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/PKG-INFO +1 -1
  3. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/token_store.py +5 -4
  4. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/pyproject.toml +1 -1
  5. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.editorconfig +0 -0
  6. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.github/workflows/ci.yml +0 -0
  7. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.gitignore +0 -0
  8. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.gitlint +0 -0
  9. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.pre-commit-config.yaml +0 -0
  10. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/AGENTS.md +0 -0
  11. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CLAUDE.md +0 -0
  12. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CONTRIBUTING.md +0 -0
  13. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/LICENSE +0 -0
  14. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/README.md +0 -0
  15. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/icon.svg +0 -0
  16. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/__init__.py +0 -0
  17. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/_output.py +0 -0
  18. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/_typer_async.py +0 -0
  19. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/__init__.py +0 -0
  20. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/config.py +0 -0
  21. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/flow.py +0 -0
  22. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/middleware.py +0 -0
  23. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/oidc.py +0 -0
  24. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/pkce.py +0 -0
  25. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/bootstrap.py +0 -0
  26. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/__init__.py +0 -0
  27. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_helpers.py +0 -0
  28. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_interactive.py +0 -0
  29. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_send.py +0 -0
  30. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_session.py +0 -0
  31. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_guardrails.py +0 -0
  32. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_md.py +0 -0
  33. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_text.py +0 -0
  34. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_tools.py +0 -0
  35. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_tool_metadata.py +0 -0
  36. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/auth.py +0 -0
  37. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/chat.py +0 -0
  38. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/config.py +0 -0
  39. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/index.py +0 -0
  40. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/mcp.py +0 -0
  41. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/skill.py +0 -0
  42. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/main.py +0 -0
  43. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/slash_commands.py +0 -0
  44. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/conftest.py +0 -0
  45. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/__init__.py +0 -0
  46. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/fake_tools_dates.py +0 -0
  47. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/fake_tools_math.py +0 -0
  48. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_auth.py +0 -0
  49. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_bootstrap.py +0 -0
  50. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_bootstrap_warm.py +0 -0
  51. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_browser_opener.py +0 -0
  52. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_chat_builtin_slash.py +0 -0
  53. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_chat.py +0 -0
  54. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_config.py +0 -0
  55. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_skill.py +0 -0
  56. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_middleware_seams.py +0 -0
  57. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_output.py +0 -0
  58. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_pkce.py +0 -0
  59. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_resolve_session.py +0 -0
  60. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_slash_commands.py +0 -0
  61. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_token_store_security.py +0 -0
  62. {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_tool_metadata.py +0 -0
@@ -2,6 +2,14 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v1.2.1 (2026-05-04)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Broken unit tests by ensuring lock.
10
+ ([`64f59fa`](https://github.com/gadz82/orchid-cli/commit/64f59fa71f6efe7f2a5fd51c35ea2fb48f6cf8c4))
11
+
12
+
5
13
  ## v1.2.0 (2026-04-29)
6
14
 
7
15
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: orchid-cli
3
- Version: 1.2.0
3
+ Version: 1.2.1
4
4
  Summary: Orchid CLI — command-line interface for the Orchid agent framework
5
5
  Project-URL: Homepage, https://github.com/gadz82/orchid
6
6
  Project-URL: Repository, https://github.com/gadz82/orchid
@@ -67,8 +67,7 @@ class StoredToken:
67
67
 
68
68
  def save_token(client_id: str, token: StoredToken) -> None:
69
69
  """Persist a token for the given client_id."""
70
- _ORCHID_DIR.mkdir(parents=True, exist_ok=True)
71
-
70
+ # Directory creation happens in _exclusive_lock() to respect monkeypatching
72
71
  with _exclusive_lock():
73
72
  all_tokens = _read_all()
74
73
  all_tokens[client_id] = asdict(token)
@@ -159,8 +158,10 @@ def _exclusive_lock() -> Iterator[None]:
159
158
  where ``fcntl`` is unavailable; concurrent CLI invocations there
160
159
  accept a small risk of last-writer-wins.
161
160
  """
162
- _ORCHID_DIR.mkdir(parents=True, exist_ok=True)
163
- lock_file = _ORCHID_DIR / _LOCK_FILENAME
161
+ # Read _ORCHID_DIR from globals() so monkeypatching in tests works
162
+ orchid_dir = globals()["_ORCHID_DIR"]
163
+ orchid_dir.mkdir(parents=True, exist_ok=True)
164
+ lock_file = orchid_dir / _LOCK_FILENAME
164
165
  fd = os.open(str(lock_file), os.O_RDWR | os.O_CREAT, 0o600)
165
166
  try:
166
167
  if _HAS_FCNTL:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "orchid-cli"
3
- version = "1.2.0"
3
+ version = "1.2.1"
4
4
  description = "Orchid CLI — command-line interface for the Orchid agent framework"
5
5
  readme = "README.md"
6
6
  license = "MIT"
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