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.
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CHANGELOG.md +8 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/PKG-INFO +1 -1
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/token_store.py +5 -4
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/pyproject.toml +1 -1
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.editorconfig +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.github/workflows/ci.yml +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.gitignore +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.gitlint +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/.pre-commit-config.yaml +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/AGENTS.md +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CLAUDE.md +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/CONTRIBUTING.md +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/LICENSE +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/README.md +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/icon.svg +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/__init__.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/_output.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/_typer_async.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/__init__.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/config.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/flow.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/middleware.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/oidc.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/auth/pkce.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/bootstrap.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/__init__.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_helpers.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_interactive.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_chat_send.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_session.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_guardrails.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_md.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_text.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_skill_tools.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/_tool_metadata.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/auth.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/chat.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/config.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/index.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/mcp.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/commands/skill.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/main.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/orchid_cli/slash_commands.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/conftest.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/__init__.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/fake_tools_dates.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/fixtures/fake_tools_math.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_auth.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_bootstrap.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_bootstrap_warm.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_browser_opener.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_chat_builtin_slash.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_chat.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_config.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_commands_skill.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_middleware_seams.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_output.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_pkce.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_resolve_session.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_slash_commands.py +0 -0
- {orchid_cli-1.2.0 → orchid_cli-1.2.1}/tests/test_token_store_security.py +0 -0
- {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.
|
|
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
|
-
|
|
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
|
|
163
|
-
|
|
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:
|
|
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
|
|
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
|