agent-cli 0.66.1__py3-none-any.whl → 0.66.2__py3-none-any.whl

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.
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import shutil
6
6
  import subprocess
7
7
  import sys
8
+ import tomllib
8
9
  from pathlib import Path
9
10
  from typing import Annotated
10
11
 
@@ -48,6 +49,35 @@ def _in_virtualenv() -> bool:
48
49
  return sys.prefix != sys.base_prefix
49
50
 
50
51
 
52
+ def _is_uv_tool_install() -> bool:
53
+ """Check if running from a uv tool environment."""
54
+ receipt = Path(sys.prefix) / "uv-receipt.toml"
55
+ return receipt.exists()
56
+
57
+
58
+ def _get_current_uv_tool_extras() -> list[str]:
59
+ """Get extras currently configured in uv-receipt.toml."""
60
+ receipt = Path(sys.prefix) / "uv-receipt.toml"
61
+ if not receipt.exists():
62
+ return []
63
+ data = tomllib.loads(receipt.read_text())
64
+ requirements = data.get("tool", {}).get("requirements", [])
65
+ for req in requirements:
66
+ if req.get("name") == "agent-cli":
67
+ return req.get("extras", [])
68
+ return []
69
+
70
+
71
+ def _install_via_uv_tool(extras: list[str]) -> bool:
72
+ """Reinstall agent-cli via uv tool with the specified extras."""
73
+ extras_str = ",".join(extras)
74
+ package_spec = f"agent-cli[{extras_str}]"
75
+ console.print(f"Reinstalling via uv tool: [cyan]{package_spec}[/]")
76
+ cmd = ["uv", "tool", "install", package_spec, "--force"]
77
+ result = subprocess.run(cmd, check=False)
78
+ return result.returncode == 0
79
+
80
+
51
81
  def _install_cmd() -> list[str]:
52
82
  """Build the install command with appropriate flags."""
53
83
  in_venv = _in_virtualenv()
@@ -106,6 +136,17 @@ def install_extras(
106
136
  print_error_message(f"Unknown extras: {invalid}. Use --list to see available.")
107
137
  raise typer.Exit(1)
108
138
 
139
+ # If running from uv tool install, reinstall with extras to persist them
140
+ if _is_uv_tool_install():
141
+ current_extras = _get_current_uv_tool_extras()
142
+ new_extras = sorted(set(current_extras) | set(extras))
143
+ if not _install_via_uv_tool(new_extras):
144
+ print_error_message("Failed to reinstall via uv tool")
145
+ raise typer.Exit(1)
146
+ console.print("[green]Done! Extras will persist across uv tool upgrade.[/]")
147
+ return
148
+
149
+ # Standard pip/uv pip install for non-tool environments
109
150
  cmd = _install_cmd()
110
151
 
111
152
  for extra in extras:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.66.1
3
+ Version: 0.66.2
4
4
  Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
5
5
  Project-URL: Homepage, https://github.com/basnijholt/agent-cli
6
6
  Author-email: Bas Nijholt <bas@nijho.lt>
@@ -88,7 +88,7 @@ agent_cli/dev/terminals/warp.py,sha256=j-Jvz_BbWYC3QfLrvl4CbDh03c9OGRFmuCzjyB2ud
88
88
  agent_cli/dev/terminals/zellij.py,sha256=GnQnopimb9XH67CZGHjnbVWpVSWhaLCATGJizCT5TkY,2321
89
89
  agent_cli/install/__init__.py,sha256=JQPrOrtdNd1Y1NmQDkb3Nmm1qdyn3kPjhQwy9D8ryjI,124
90
90
  agent_cli/install/common.py,sha256=WvnmcjnFTW0d1HZrKVGzj5Tg3q8Txk_ZOdc4a1MBFWI,3121
91
- agent_cli/install/extras.py,sha256=qdj3NjdzJrgA5gE0MzQUEdxBve0L1I5dxTmC2-527YI,3755
91
+ agent_cli/install/extras.py,sha256=_WJxawBwhQ6zcIkLwaK080nvBDY1WhC7mdI9_b-EzyY,5339
92
92
  agent_cli/install/hotkeys.py,sha256=bwGoPeEKK6VI-IrKU8Q0RLMW9smkDNU7CdqD3Nbsd-w,1626
93
93
  agent_cli/install/services.py,sha256=2s_7ThxaElKCuomBYTn4Z36TF_o_arNeyJ4f8Wh4jEI,2912
94
94
  agent_cli/memory/__init__.py,sha256=Q9lomqabThXFx-j_Yu3xKDyKLN4Odck92J6WDP53yUI,610
@@ -184,8 +184,8 @@ agent_cli/services/asr.py,sha256=V6SV-USnMhK-0aE-pneiktU4HpmLqenmMb-jZ-_74zU,169
184
184
  agent_cli/services/llm.py,sha256=Kwdo6pbMYI9oykF-RBe1iaL3KsYrNWTLdRSioewmsGQ,7199
185
185
  agent_cli/services/tts.py,sha256=exKo-55_670mx8dQOzVSZkv6aWYLv04SVmBcjOlD458,14772
186
186
  agent_cli/services/wake_word.py,sha256=j6Z8rsGq_vAdRevy9fkXIgLZd9UWfrIsefmTreNmM0c,4575
187
- agent_cli-0.66.1.dist-info/METADATA,sha256=WvTItFU9nOIQicSgJ_t2HbbCOuYfb6tJ3ONIk3l7VHg,155374
188
- agent_cli-0.66.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
189
- agent_cli-0.66.1.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
190
- agent_cli-0.66.1.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
191
- agent_cli-0.66.1.dist-info/RECORD,,
187
+ agent_cli-0.66.2.dist-info/METADATA,sha256=1h1lBgxnldp130ukwCNmIY0xC2Jg46dmTs3SKSPkXUE,155374
188
+ agent_cli-0.66.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
189
+ agent_cli-0.66.2.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
190
+ agent_cli-0.66.2.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
191
+ agent_cli-0.66.2.dist-info/RECORD,,