agent-cli 0.67.0__py3-none-any.whl → 0.67.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.
- agent_cli/_extras.json +1 -1
- agent_cli/_requirements/audio.txt +11 -0
- agent_cli/_requirements/faster-whisper.txt +1 -1
- agent_cli/_requirements/kokoro.txt +1 -1
- agent_cli/_requirements/llm.txt +1 -2
- agent_cli/_requirements/memory.txt +1 -1
- agent_cli/_requirements/mlx-whisper.txt +45 -86
- agent_cli/_requirements/piper.txt +2 -3
- agent_cli/_requirements/rag.txt +1 -1
- agent_cli/_requirements/server.txt +1 -2
- agent_cli/_requirements/speed.txt +12 -3
- agent_cli/_requirements/vad.txt +12 -3
- agent_cli/core/deps.py +47 -26
- agent_cli/core/utils.py +2 -2
- {agent_cli-0.67.0.dist-info → agent_cli-0.67.2.dist-info}/METADATA +5 -4
- {agent_cli-0.67.0.dist-info → agent_cli-0.67.2.dist-info}/RECORD +19 -19
- {agent_cli-0.67.0.dist-info → agent_cli-0.67.2.dist-info}/WHEEL +0 -0
- {agent_cli-0.67.0.dist-info → agent_cli-0.67.2.dist-info}/entry_points.txt +0 -0
- {agent_cli-0.67.0.dist-info → agent_cli-0.67.2.dist-info}/licenses/LICENSE +0 -0
agent_cli/_extras.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"audio": ["Audio recording/playback with Wyoming protocol", ["sounddevice", "wyoming"]],
|
|
2
|
+
"audio": ["Audio recording/playback with Wyoming protocol", ["numpy", "sounddevice", "wyoming"]],
|
|
3
3
|
"llm": ["LLM framework (pydantic-ai)", ["pydantic_ai"]],
|
|
4
4
|
"memory": ["Long-term memory proxy", ["chromadb", "yaml"]],
|
|
5
5
|
"rag": ["RAG proxy (ChromaDB, embeddings)", ["chromadb"]],
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# This file was autogenerated by uv via the following command:
|
|
2
2
|
# uv export --extra audio --no-dev --no-emit-project --no-hashes
|
|
3
|
+
annotated-types==0.7.0
|
|
4
|
+
# via pydantic
|
|
3
5
|
anyio==4.12.1
|
|
4
6
|
# via httpx
|
|
5
7
|
certifi==2026.1.4
|
|
@@ -34,6 +36,10 @@ psutil==7.2.1 ; sys_platform == 'win32'
|
|
|
34
36
|
# via agent-cli
|
|
35
37
|
pycparser==2.23 ; implementation_name != 'PyPy'
|
|
36
38
|
# via cffi
|
|
39
|
+
pydantic==2.12.5
|
|
40
|
+
# via agent-cli
|
|
41
|
+
pydantic-core==2.41.5
|
|
42
|
+
# via pydantic
|
|
37
43
|
pygments==2.19.2
|
|
38
44
|
# via rich
|
|
39
45
|
pyperclip==1.11.0
|
|
@@ -55,6 +61,11 @@ typer==0.21.1
|
|
|
55
61
|
typing-extensions==4.15.0
|
|
56
62
|
# via
|
|
57
63
|
# anyio
|
|
64
|
+
# pydantic
|
|
65
|
+
# pydantic-core
|
|
58
66
|
# typer
|
|
67
|
+
# typing-inspection
|
|
68
|
+
typing-inspection==0.4.2
|
|
69
|
+
# via pydantic
|
|
59
70
|
wyoming==1.8.0
|
|
60
71
|
# via agent-cli
|
|
@@ -96,7 +96,6 @@ mpmath==1.3.0
|
|
|
96
96
|
# via sympy
|
|
97
97
|
numpy==2.3.5
|
|
98
98
|
# via
|
|
99
|
-
# agent-cli
|
|
100
99
|
# ctranslate2
|
|
101
100
|
# onnxruntime
|
|
102
101
|
onnxruntime==1.20.1
|
|
@@ -111,6 +110,7 @@ psutil==7.2.1 ; sys_platform == 'win32'
|
|
|
111
110
|
# via agent-cli
|
|
112
111
|
pydantic==2.12.5
|
|
113
112
|
# via
|
|
113
|
+
# agent-cli
|
|
114
114
|
# fastapi
|
|
115
115
|
# fastapi-cloud-cli
|
|
116
116
|
# pydantic-extra-types
|
|
@@ -164,7 +164,6 @@ num2words==0.5.14
|
|
|
164
164
|
# via misaki
|
|
165
165
|
numpy==2.3.5
|
|
166
166
|
# via
|
|
167
|
-
# agent-cli
|
|
168
167
|
# blis
|
|
169
168
|
# kokoro
|
|
170
169
|
# soundfile
|
|
@@ -231,6 +230,7 @@ pycparser==2.23 ; implementation_name != 'PyPy'
|
|
|
231
230
|
# via cffi
|
|
232
231
|
pydantic==2.12.5
|
|
233
232
|
# via
|
|
233
|
+
# agent-cli
|
|
234
234
|
# confection
|
|
235
235
|
# fastapi
|
|
236
236
|
# fastapi-cloud-cli
|
agent_cli/_requirements/llm.txt
CHANGED
|
@@ -85,8 +85,6 @@ markdown-it-py==4.0.0
|
|
|
85
85
|
# via rich
|
|
86
86
|
mdurl==0.1.2
|
|
87
87
|
# via markdown-it-py
|
|
88
|
-
numpy==2.3.5
|
|
89
|
-
# via agent-cli
|
|
90
88
|
openai==2.15.0
|
|
91
89
|
# via pydantic-ai-slim
|
|
92
90
|
opentelemetry-api==1.39.1
|
|
@@ -105,6 +103,7 @@ pycparser==2.23 ; implementation_name != 'PyPy' and platform_python_implementati
|
|
|
105
103
|
# via cffi
|
|
106
104
|
pydantic==2.12.5
|
|
107
105
|
# via
|
|
106
|
+
# agent-cli
|
|
108
107
|
# genai-prices
|
|
109
108
|
# google-genai
|
|
110
109
|
# openai
|
|
@@ -132,7 +132,6 @@ mpmath==1.3.0
|
|
|
132
132
|
# via sympy
|
|
133
133
|
numpy==2.3.5
|
|
134
134
|
# via
|
|
135
|
-
# agent-cli
|
|
136
135
|
# chromadb
|
|
137
136
|
# onnxruntime
|
|
138
137
|
# transformers
|
|
@@ -191,6 +190,7 @@ pybase64==1.4.3
|
|
|
191
190
|
# via chromadb
|
|
192
191
|
pydantic==2.12.5
|
|
193
192
|
# via
|
|
193
|
+
# agent-cli
|
|
194
194
|
# chromadb
|
|
195
195
|
# fastapi
|
|
196
196
|
# fastapi-cloud-cli
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This file was autogenerated by uv via the following command:
|
|
2
2
|
# uv export --extra mlx-whisper --no-dev --no-emit-project --no-hashes
|
|
3
|
-
annotated-doc==0.0.4
|
|
3
|
+
annotated-doc==0.0.4 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
4
4
|
# via fastapi
|
|
5
5
|
annotated-types==0.7.0
|
|
6
6
|
# via pydantic
|
|
@@ -15,7 +15,7 @@ certifi==2026.1.4
|
|
|
15
15
|
# httpx
|
|
16
16
|
# requests
|
|
17
17
|
# sentry-sdk
|
|
18
|
-
charset-normalizer==3.4.4
|
|
18
|
+
charset-normalizer==3.4.4 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
19
19
|
# via requests
|
|
20
20
|
click==8.3.1
|
|
21
21
|
# via
|
|
@@ -35,19 +35,19 @@ email-validator==2.3.0
|
|
|
35
35
|
# via
|
|
36
36
|
# fastapi
|
|
37
37
|
# pydantic
|
|
38
|
-
fastapi==0.128.0
|
|
38
|
+
fastapi==0.128.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
39
39
|
# via agent-cli
|
|
40
|
-
fastapi-cli==0.0.20
|
|
40
|
+
fastapi-cli==0.0.20 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
41
41
|
# via fastapi
|
|
42
|
-
fastapi-cloud-cli==0.10.1
|
|
42
|
+
fastapi-cloud-cli==0.10.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
43
43
|
# via fastapi-cli
|
|
44
|
-
fastar==0.8.0
|
|
44
|
+
fastar==0.8.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
45
45
|
# via fastapi-cloud-cli
|
|
46
|
-
filelock==3.20.3
|
|
46
|
+
filelock==3.20.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
47
47
|
# via
|
|
48
48
|
# huggingface-hub
|
|
49
49
|
# torch
|
|
50
|
-
fsspec==2026.1.0
|
|
50
|
+
fsspec==2026.1.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
51
51
|
# via
|
|
52
52
|
# huggingface-hub
|
|
53
53
|
# torch
|
|
@@ -55,18 +55,18 @@ h11==0.16.0
|
|
|
55
55
|
# via
|
|
56
56
|
# httpcore
|
|
57
57
|
# uvicorn
|
|
58
|
-
hf-xet==1.2.0 ; platform_machine == '
|
|
58
|
+
hf-xet==1.2.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
59
59
|
# via huggingface-hub
|
|
60
60
|
httpcore==1.0.9
|
|
61
61
|
# via httpx
|
|
62
|
-
httptools==0.7.1
|
|
62
|
+
httptools==0.7.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
63
63
|
# via uvicorn
|
|
64
64
|
httpx==0.28.1
|
|
65
65
|
# via
|
|
66
66
|
# agent-cli
|
|
67
67
|
# fastapi
|
|
68
68
|
# fastapi-cloud-cli
|
|
69
|
-
huggingface-hub==0.36.0
|
|
69
|
+
huggingface-hub==0.36.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
70
70
|
# via mlx-whisper
|
|
71
71
|
idna==3.11
|
|
72
72
|
# via
|
|
@@ -74,92 +74,53 @@ idna==3.11
|
|
|
74
74
|
# email-validator
|
|
75
75
|
# httpx
|
|
76
76
|
# requests
|
|
77
|
-
jinja2==3.1.6
|
|
77
|
+
jinja2==3.1.6 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
78
78
|
# via
|
|
79
79
|
# fastapi
|
|
80
80
|
# torch
|
|
81
|
-
llvmlite==0.46.0
|
|
81
|
+
llvmlite==0.46.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
82
82
|
# via numba
|
|
83
83
|
markdown-it-py==4.0.0
|
|
84
84
|
# via rich
|
|
85
|
-
markupsafe==3.0.3
|
|
85
|
+
markupsafe==3.0.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
86
86
|
# via jinja2
|
|
87
87
|
mdurl==0.1.2
|
|
88
88
|
# via markdown-it-py
|
|
89
|
-
mlx==0.30.3
|
|
89
|
+
mlx==0.30.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
90
90
|
# via mlx-whisper
|
|
91
|
-
mlx-metal==0.30.3 ; sys_platform == 'darwin'
|
|
91
|
+
mlx-metal==0.30.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
92
92
|
# via mlx
|
|
93
|
-
mlx-whisper==0.4.3
|
|
93
|
+
mlx-whisper==0.4.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
94
94
|
# via agent-cli
|
|
95
|
-
more-itertools==10.8.0
|
|
95
|
+
more-itertools==10.8.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
96
96
|
# via mlx-whisper
|
|
97
|
-
mpmath==1.3.0
|
|
97
|
+
mpmath==1.3.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
98
98
|
# via sympy
|
|
99
|
-
networkx==3.6.1
|
|
99
|
+
networkx==3.6.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
100
100
|
# via torch
|
|
101
|
-
numba==0.63.1
|
|
101
|
+
numba==0.63.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
102
102
|
# via mlx-whisper
|
|
103
|
-
numpy==2.3.5
|
|
103
|
+
numpy==2.3.5 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
104
104
|
# via
|
|
105
|
-
# agent-cli
|
|
106
105
|
# mlx-whisper
|
|
107
106
|
# numba
|
|
108
107
|
# scipy
|
|
109
|
-
|
|
110
|
-
# via
|
|
111
|
-
# nvidia-cudnn-cu12
|
|
112
|
-
# nvidia-cusolver-cu12
|
|
113
|
-
# torch
|
|
114
|
-
nvidia-cuda-cupti-cu12==12.8.90 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
115
|
-
# via torch
|
|
116
|
-
nvidia-cuda-nvrtc-cu12==12.8.93 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
117
|
-
# via torch
|
|
118
|
-
nvidia-cuda-runtime-cu12==12.8.90 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
119
|
-
# via torch
|
|
120
|
-
nvidia-cudnn-cu12==9.10.2.21 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
121
|
-
# via torch
|
|
122
|
-
nvidia-cufft-cu12==11.3.3.83 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
123
|
-
# via torch
|
|
124
|
-
nvidia-cufile-cu12==1.13.1.3 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
125
|
-
# via torch
|
|
126
|
-
nvidia-curand-cu12==10.3.9.90 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
127
|
-
# via torch
|
|
128
|
-
nvidia-cusolver-cu12==11.7.3.90 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
129
|
-
# via torch
|
|
130
|
-
nvidia-cusparse-cu12==12.5.8.93 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
131
|
-
# via
|
|
132
|
-
# nvidia-cusolver-cu12
|
|
133
|
-
# torch
|
|
134
|
-
nvidia-cusparselt-cu12==0.7.1 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
135
|
-
# via torch
|
|
136
|
-
nvidia-nccl-cu12==2.27.5 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
137
|
-
# via torch
|
|
138
|
-
nvidia-nvjitlink-cu12==12.8.93 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
139
|
-
# via
|
|
140
|
-
# nvidia-cufft-cu12
|
|
141
|
-
# nvidia-cusolver-cu12
|
|
142
|
-
# nvidia-cusparse-cu12
|
|
143
|
-
# torch
|
|
144
|
-
nvidia-nvshmem-cu12==3.3.20 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
145
|
-
# via torch
|
|
146
|
-
nvidia-nvtx-cu12==12.8.90 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
147
|
-
# via torch
|
|
148
|
-
packaging==25.0
|
|
108
|
+
packaging==25.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
149
109
|
# via huggingface-hub
|
|
150
110
|
psutil==7.2.1 ; sys_platform == 'win32'
|
|
151
111
|
# via agent-cli
|
|
152
112
|
pydantic==2.12.5
|
|
153
113
|
# via
|
|
114
|
+
# agent-cli
|
|
154
115
|
# fastapi
|
|
155
116
|
# fastapi-cloud-cli
|
|
156
117
|
# pydantic-extra-types
|
|
157
118
|
# pydantic-settings
|
|
158
119
|
pydantic-core==2.41.5
|
|
159
120
|
# via pydantic
|
|
160
|
-
pydantic-extra-types==2.11.0
|
|
121
|
+
pydantic-extra-types==2.11.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
161
122
|
# via fastapi
|
|
162
|
-
pydantic-settings==2.12.0
|
|
123
|
+
pydantic-settings==2.12.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
163
124
|
# via fastapi
|
|
164
125
|
pygments==2.19.2
|
|
165
126
|
# via rich
|
|
@@ -170,15 +131,15 @@ python-dotenv==1.2.1
|
|
|
170
131
|
# dotenv
|
|
171
132
|
# pydantic-settings
|
|
172
133
|
# uvicorn
|
|
173
|
-
python-multipart==0.0.21
|
|
134
|
+
python-multipart==0.0.21 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
174
135
|
# via fastapi
|
|
175
|
-
pyyaml==6.0.3
|
|
136
|
+
pyyaml==6.0.3 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
176
137
|
# via
|
|
177
138
|
# huggingface-hub
|
|
178
139
|
# uvicorn
|
|
179
|
-
regex==2026.1.15
|
|
140
|
+
regex==2026.1.15 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
180
141
|
# via tiktoken
|
|
181
|
-
requests==2.32.5
|
|
142
|
+
requests==2.32.5 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
182
143
|
# via
|
|
183
144
|
# huggingface-hub
|
|
184
145
|
# tiktoken
|
|
@@ -187,36 +148,34 @@ rich==14.2.0
|
|
|
187
148
|
# agent-cli
|
|
188
149
|
# rich-toolkit
|
|
189
150
|
# typer
|
|
190
|
-
rich-toolkit==0.17.1
|
|
151
|
+
rich-toolkit==0.17.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
191
152
|
# via
|
|
192
153
|
# fastapi-cli
|
|
193
154
|
# fastapi-cloud-cli
|
|
194
|
-
rignore==0.7.6
|
|
155
|
+
rignore==0.7.6 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
195
156
|
# via fastapi-cloud-cli
|
|
196
|
-
scipy==1.17.0
|
|
157
|
+
scipy==1.17.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
197
158
|
# via mlx-whisper
|
|
198
|
-
sentry-sdk==2.49.0
|
|
159
|
+
sentry-sdk==2.49.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
199
160
|
# via fastapi-cloud-cli
|
|
200
161
|
setproctitle==1.3.7
|
|
201
162
|
# via agent-cli
|
|
202
|
-
setuptools==80.9.0 ; python_full_version >= '3.12'
|
|
163
|
+
setuptools==80.9.0 ; python_full_version >= '3.12' and platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
203
164
|
# via torch
|
|
204
165
|
shellingham==1.5.4
|
|
205
166
|
# via typer
|
|
206
|
-
starlette==0.50.0
|
|
167
|
+
starlette==0.50.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
207
168
|
# via fastapi
|
|
208
|
-
sympy==1.14.0
|
|
169
|
+
sympy==1.14.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
209
170
|
# via torch
|
|
210
|
-
tiktoken==0.12.0
|
|
171
|
+
tiktoken==0.12.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
211
172
|
# via mlx-whisper
|
|
212
|
-
torch==2.9.1
|
|
173
|
+
torch==2.9.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
213
174
|
# via mlx-whisper
|
|
214
|
-
tqdm==4.67.1
|
|
175
|
+
tqdm==4.67.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
215
176
|
# via
|
|
216
177
|
# huggingface-hub
|
|
217
178
|
# mlx-whisper
|
|
218
|
-
triton==3.5.1 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
219
|
-
# via torch
|
|
220
179
|
typer==0.21.1
|
|
221
180
|
# via
|
|
222
181
|
# agent-cli
|
|
@@ -239,18 +198,18 @@ typing-inspection==0.4.2
|
|
|
239
198
|
# via
|
|
240
199
|
# pydantic
|
|
241
200
|
# pydantic-settings
|
|
242
|
-
urllib3==2.3.0
|
|
201
|
+
urllib3==2.3.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
243
202
|
# via
|
|
244
203
|
# requests
|
|
245
204
|
# sentry-sdk
|
|
246
|
-
uvicorn==0.40.0
|
|
205
|
+
uvicorn==0.40.0 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
247
206
|
# via
|
|
248
207
|
# fastapi
|
|
249
208
|
# fastapi-cli
|
|
250
209
|
# fastapi-cloud-cli
|
|
251
|
-
uvloop==0.22.1 ;
|
|
210
|
+
uvloop==0.22.1 ; platform_machine == 'arm64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin'
|
|
252
211
|
# via uvicorn
|
|
253
|
-
watchfiles==1.1.1
|
|
212
|
+
watchfiles==1.1.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
254
213
|
# via uvicorn
|
|
255
|
-
websockets==15.0.1
|
|
214
|
+
websockets==15.0.1 ; platform_machine == 'arm64' and sys_platform == 'darwin'
|
|
256
215
|
# via uvicorn
|
|
@@ -74,9 +74,7 @@ mdurl==0.1.2
|
|
|
74
74
|
mpmath==1.3.0
|
|
75
75
|
# via sympy
|
|
76
76
|
numpy==2.3.5
|
|
77
|
-
# via
|
|
78
|
-
# agent-cli
|
|
79
|
-
# onnxruntime
|
|
77
|
+
# via onnxruntime
|
|
80
78
|
onnxruntime==1.20.1
|
|
81
79
|
# via piper-tts
|
|
82
80
|
packaging==25.0
|
|
@@ -89,6 +87,7 @@ psutil==7.2.1 ; sys_platform == 'win32'
|
|
|
89
87
|
# via agent-cli
|
|
90
88
|
pydantic==2.12.5
|
|
91
89
|
# via
|
|
90
|
+
# agent-cli
|
|
92
91
|
# fastapi
|
|
93
92
|
# fastapi-cloud-cli
|
|
94
93
|
# pydantic-extra-types
|
agent_cli/_requirements/rag.txt
CHANGED
|
@@ -160,7 +160,6 @@ mpmath==1.3.0
|
|
|
160
160
|
# via sympy
|
|
161
161
|
numpy==2.3.5
|
|
162
162
|
# via
|
|
163
|
-
# agent-cli
|
|
164
163
|
# chromadb
|
|
165
164
|
# magika
|
|
166
165
|
# onnxruntime
|
|
@@ -228,6 +227,7 @@ pycparser==2.23 ; implementation_name != 'PyPy' and platform_python_implementati
|
|
|
228
227
|
# via cffi
|
|
229
228
|
pydantic==2.12.5
|
|
230
229
|
# via
|
|
230
|
+
# agent-cli
|
|
231
231
|
# chromadb
|
|
232
232
|
# fastapi
|
|
233
233
|
# fastapi-cloud-cli
|
|
@@ -65,12 +65,11 @@ markupsafe==3.0.3
|
|
|
65
65
|
# via jinja2
|
|
66
66
|
mdurl==0.1.2
|
|
67
67
|
# via markdown-it-py
|
|
68
|
-
numpy==2.3.5
|
|
69
|
-
# via agent-cli
|
|
70
68
|
psutil==7.2.1 ; sys_platform == 'win32'
|
|
71
69
|
# via agent-cli
|
|
72
70
|
pydantic==2.12.5
|
|
73
71
|
# via
|
|
72
|
+
# agent-cli
|
|
74
73
|
# fastapi
|
|
75
74
|
# fastapi-cloud-cli
|
|
76
75
|
# pydantic-extra-types
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# This file was autogenerated by uv via the following command:
|
|
2
2
|
# uv export --extra speed --no-dev --no-emit-project --no-hashes
|
|
3
|
+
annotated-types==0.7.0
|
|
4
|
+
# via pydantic
|
|
3
5
|
anyio==4.12.1
|
|
4
6
|
# via httpx
|
|
5
7
|
audiostretchy==1.3.5
|
|
@@ -31,11 +33,13 @@ markdown-it-py==4.0.0
|
|
|
31
33
|
mdurl==0.1.2
|
|
32
34
|
# via markdown-it-py
|
|
33
35
|
numpy==2.3.5
|
|
34
|
-
# via
|
|
35
|
-
# agent-cli
|
|
36
|
-
# audiostretchy
|
|
36
|
+
# via audiostretchy
|
|
37
37
|
psutil==7.2.1 ; sys_platform == 'win32'
|
|
38
38
|
# via agent-cli
|
|
39
|
+
pydantic==2.12.5
|
|
40
|
+
# via agent-cli
|
|
41
|
+
pydantic-core==2.41.5
|
|
42
|
+
# via pydantic
|
|
39
43
|
pygments==2.19.2
|
|
40
44
|
# via rich
|
|
41
45
|
pyperclip==1.11.0
|
|
@@ -57,4 +61,9 @@ typer==0.21.1
|
|
|
57
61
|
typing-extensions==4.15.0
|
|
58
62
|
# via
|
|
59
63
|
# anyio
|
|
64
|
+
# pydantic
|
|
65
|
+
# pydantic-core
|
|
60
66
|
# typer
|
|
67
|
+
# typing-inspection
|
|
68
|
+
typing-inspection==0.4.2
|
|
69
|
+
# via pydantic
|
agent_cli/_requirements/vad.txt
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# This file was autogenerated by uv via the following command:
|
|
2
2
|
# uv export --extra vad --no-dev --no-emit-project --no-hashes
|
|
3
|
+
annotated-types==0.7.0
|
|
4
|
+
# via pydantic
|
|
3
5
|
anyio==4.12.1
|
|
4
6
|
# via httpx
|
|
5
7
|
certifi==2026.1.4
|
|
@@ -45,9 +47,7 @@ mpmath==1.3.0
|
|
|
45
47
|
networkx==3.6.1
|
|
46
48
|
# via torch
|
|
47
49
|
numpy==2.3.5
|
|
48
|
-
# via
|
|
49
|
-
# agent-cli
|
|
50
|
-
# onnxruntime
|
|
50
|
+
# via onnxruntime
|
|
51
51
|
nvidia-cublas-cu12==12.8.4.1 ; platform_machine == 'x86_64' and sys_platform == 'linux'
|
|
52
52
|
# via
|
|
53
53
|
# nvidia-cudnn-cu12
|
|
@@ -97,6 +97,10 @@ protobuf==6.33.4
|
|
|
97
97
|
# via onnxruntime
|
|
98
98
|
psutil==7.2.1 ; sys_platform == 'win32'
|
|
99
99
|
# via agent-cli
|
|
100
|
+
pydantic==2.12.5
|
|
101
|
+
# via agent-cli
|
|
102
|
+
pydantic-core==2.41.5
|
|
103
|
+
# via pydantic
|
|
100
104
|
pygments==2.19.2
|
|
101
105
|
# via rich
|
|
102
106
|
pyperclip==1.11.0
|
|
@@ -134,5 +138,10 @@ typer==0.21.1
|
|
|
134
138
|
typing-extensions==4.15.0
|
|
135
139
|
# via
|
|
136
140
|
# anyio
|
|
141
|
+
# pydantic
|
|
142
|
+
# pydantic-core
|
|
137
143
|
# torch
|
|
138
144
|
# typer
|
|
145
|
+
# typing-inspection
|
|
146
|
+
typing-inspection==0.4.2
|
|
147
|
+
# via pydantic
|
agent_cli/core/deps.py
CHANGED
|
@@ -51,46 +51,68 @@ def check_extra_installed(extra: str) -> bool:
|
|
|
51
51
|
return all(_check_package_installed(pkg) for pkg in packages)
|
|
52
52
|
|
|
53
53
|
|
|
54
|
+
def _format_extra_item(extra: str) -> str:
|
|
55
|
+
"""Format a single extra as a list item with description."""
|
|
56
|
+
desc, _ = EXTRAS.get(extra, ("", []))
|
|
57
|
+
if desc:
|
|
58
|
+
return f" - '{extra}' ({desc})"
|
|
59
|
+
return f" - '{extra}'"
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
def _format_install_commands(extras: list[str]) -> list[str]:
|
|
63
|
+
"""Format install commands for one or more extras."""
|
|
64
|
+
combined = ",".join(extras)
|
|
65
|
+
extras_args = " ".join(extras)
|
|
66
|
+
return [
|
|
67
|
+
"Install with:",
|
|
68
|
+
f' [bold cyan]uv tool install -p 3.13 "agent-cli\\[{combined}]"[/bold cyan]',
|
|
69
|
+
" # or",
|
|
70
|
+
f" [bold cyan]agent-cli install-extras {extras_args}[/bold cyan]",
|
|
71
|
+
]
|
|
72
|
+
|
|
73
|
+
|
|
54
74
|
def get_install_hint(extra: str) -> str:
|
|
55
|
-
"""Get install command hint for
|
|
75
|
+
"""Get install command hint for a single extra.
|
|
56
76
|
|
|
57
77
|
Supports `|` syntax for alternatives: "piper|kokoro" shows both options.
|
|
58
78
|
"""
|
|
59
79
|
# Handle "extra1|extra2" syntax - show all options
|
|
60
80
|
if "|" in extra:
|
|
61
81
|
alternatives = extra.split("|")
|
|
62
|
-
options = []
|
|
63
|
-
for alt in alternatives:
|
|
64
|
-
desc, _ = EXTRAS.get(alt, ("", []))
|
|
65
|
-
options.append((alt, desc))
|
|
66
|
-
|
|
67
82
|
lines = ["This command requires one of:"]
|
|
68
|
-
for alt
|
|
69
|
-
if desc:
|
|
70
|
-
lines.append(f" - '{alt}' ({desc})")
|
|
71
|
-
else:
|
|
72
|
-
lines.append(f" - '{alt}'")
|
|
83
|
+
lines.extend(_format_extra_item(alt) for alt in alternatives)
|
|
73
84
|
lines.append("")
|
|
74
85
|
lines.append("Install one with:")
|
|
75
|
-
|
|
76
|
-
|
|
86
|
+
lines.extend(
|
|
87
|
+
f' [bold cyan]uv tool install -p 3.13 "agent-cli\\[{alt}]"[/bold cyan]'
|
|
88
|
+
for alt in alternatives
|
|
89
|
+
)
|
|
77
90
|
lines.append(" # or")
|
|
78
|
-
|
|
79
|
-
|
|
91
|
+
lines.extend(
|
|
92
|
+
f" [bold cyan]agent-cli install-extras {alt}[/bold cyan]" for alt in alternatives
|
|
93
|
+
)
|
|
80
94
|
return "\n".join(lines)
|
|
81
95
|
|
|
82
96
|
desc, _ = EXTRAS.get(extra, ("", []))
|
|
83
|
-
|
|
84
|
-
f"This command requires the '{extra}' extra",
|
|
85
|
-
]
|
|
97
|
+
header = f"This command requires the '{extra}' extra"
|
|
86
98
|
if desc:
|
|
87
|
-
|
|
88
|
-
|
|
99
|
+
header += f" ({desc})"
|
|
100
|
+
header += "."
|
|
101
|
+
|
|
102
|
+
lines = [header, ""]
|
|
103
|
+
lines.extend(_format_install_commands([extra]))
|
|
104
|
+
return "\n".join(lines)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def get_combined_install_hint(extras: list[str]) -> str:
|
|
108
|
+
"""Get a combined install hint for multiple missing extras."""
|
|
109
|
+
if len(extras) == 1:
|
|
110
|
+
return get_install_hint(extras[0])
|
|
111
|
+
|
|
112
|
+
lines = ["This command requires the following extras:"]
|
|
113
|
+
lines.extend(_format_extra_item(extra) for extra in extras)
|
|
89
114
|
lines.append("")
|
|
90
|
-
lines.
|
|
91
|
-
lines.append(f' uv tool install "agent-cli[{extra}]" -p 3.13')
|
|
92
|
-
lines.append(" # or")
|
|
93
|
-
lines.append(f" agent-cli install-extras {extra}")
|
|
115
|
+
lines.extend(_format_install_commands(extras))
|
|
94
116
|
return "\n".join(lines)
|
|
95
117
|
|
|
96
118
|
|
|
@@ -127,8 +149,7 @@ def requires_extras(*extras: str) -> Callable[[F], F]:
|
|
|
127
149
|
|
|
128
150
|
missing = [e for e in extras if not check_extra_installed(e)]
|
|
129
151
|
if missing:
|
|
130
|
-
|
|
131
|
-
print_error_message(get_install_hint(extra))
|
|
152
|
+
print_error_message(get_combined_install_hint(missing))
|
|
132
153
|
raise typer.Exit(1)
|
|
133
154
|
return func(*args, **kwargs)
|
|
134
155
|
|
agent_cli/core/utils.py
CHANGED
|
@@ -211,8 +211,8 @@ def print_output_panel(
|
|
|
211
211
|
|
|
212
212
|
|
|
213
213
|
def print_error_message(message: str, suggestion: str | None = None) -> None:
|
|
214
|
-
"""Prints an error message in a panel."""
|
|
215
|
-
error_text = Text(message)
|
|
214
|
+
"""Prints an error message in a panel with rich markup support."""
|
|
215
|
+
error_text = Text.from_markup(message)
|
|
216
216
|
if suggestion:
|
|
217
217
|
error_text.append("\n\n")
|
|
218
218
|
error_text.append(suggestion)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.67.
|
|
3
|
+
Version: 0.67.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>
|
|
@@ -8,13 +8,14 @@ License-File: LICENSE
|
|
|
8
8
|
Requires-Python: <3.14,>=3.11
|
|
9
9
|
Requires-Dist: dotenv
|
|
10
10
|
Requires-Dist: httpx
|
|
11
|
-
Requires-Dist: numpy
|
|
12
11
|
Requires-Dist: psutil; sys_platform == 'win32'
|
|
12
|
+
Requires-Dist: pydantic
|
|
13
13
|
Requires-Dist: pyperclip
|
|
14
14
|
Requires-Dist: rich
|
|
15
15
|
Requires-Dist: setproctitle
|
|
16
16
|
Requires-Dist: typer
|
|
17
17
|
Provides-Extra: audio
|
|
18
|
+
Requires-Dist: numpy; extra == 'audio'
|
|
18
19
|
Requires-Dist: sounddevice>=0.4.6; extra == 'audio'
|
|
19
20
|
Requires-Dist: wyoming>=1.5.2; extra == 'audio'
|
|
20
21
|
Provides-Extra: dev
|
|
@@ -51,8 +52,8 @@ Requires-Dist: pyyaml>=6.0.0; extra == 'memory'
|
|
|
51
52
|
Requires-Dist: transformers>=4.30.0; extra == 'memory'
|
|
52
53
|
Requires-Dist: watchfiles>=0.21.0; extra == 'memory'
|
|
53
54
|
Provides-Extra: mlx-whisper
|
|
54
|
-
Requires-Dist: fastapi[standard]; extra == 'mlx-whisper'
|
|
55
|
-
Requires-Dist: mlx-whisper>=0.4.0; extra == 'mlx-whisper'
|
|
55
|
+
Requires-Dist: fastapi[standard]; (sys_platform == 'darwin' and platform_machine == 'arm64') and extra == 'mlx-whisper'
|
|
56
|
+
Requires-Dist: mlx-whisper>=0.4.0; (sys_platform == 'darwin' and platform_machine == 'arm64') and extra == 'mlx-whisper'
|
|
56
57
|
Provides-Extra: piper
|
|
57
58
|
Requires-Dist: fastapi[standard]; extra == 'piper'
|
|
58
59
|
Requires-Dist: piper-tts>=1.2.0; extra == 'piper'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
agent_cli/__init__.py,sha256=-bo57j_5TsCug2tGHh7wClAGDhzN239639K40pgVh4g,187
|
|
2
2
|
agent_cli/__main__.py,sha256=2wx_SxA8KRdejM-hBFLN8JTR2rIgtwnDH03MPAbJH5U,106
|
|
3
|
-
agent_cli/_extras.json,sha256=
|
|
3
|
+
agent_cli/_extras.json,sha256=PCeXMr8zX04n_fcLrticn4lRpisZTfBkT2oqdImVzEY,708
|
|
4
4
|
agent_cli/_tools.py,sha256=u9Ww-k-sbwFnMTW8sreFGd71nJP6o5hKcM0Zd_D9GZk,12136
|
|
5
5
|
agent_cli/api.py,sha256=FQ_HATc7DaedbEFQ275Z18wV90tkDByD_9x_K0wdSLQ,456
|
|
6
6
|
agent_cli/cli.py,sha256=zCk7sVVZstTU3GHFXAavcXd8Kactav4x0PyVY_rX4SI,2739
|
|
@@ -12,17 +12,17 @@ agent_cli/example-config.toml,sha256=xd9BXeOqdYx4xFJt58VBs2I49ESy6dF4-mWF_g8sM9o
|
|
|
12
12
|
agent_cli/opts.py,sha256=qMK_mLxzGAbX7C2IYuCFvOkLgaxCCMO66I9ps8AdrYo,12114
|
|
13
13
|
agent_cli/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
agent_cli/_requirements/.gitkeep,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
agent_cli/_requirements/audio.txt,sha256=
|
|
16
|
-
agent_cli/_requirements/faster-whisper.txt,sha256=
|
|
17
|
-
agent_cli/_requirements/kokoro.txt,sha256=
|
|
18
|
-
agent_cli/_requirements/llm.txt,sha256=
|
|
19
|
-
agent_cli/_requirements/memory.txt,sha256=
|
|
20
|
-
agent_cli/_requirements/mlx-whisper.txt,sha256=
|
|
21
|
-
agent_cli/_requirements/piper.txt,sha256=
|
|
22
|
-
agent_cli/_requirements/rag.txt,sha256=
|
|
23
|
-
agent_cli/_requirements/server.txt,sha256=
|
|
24
|
-
agent_cli/_requirements/speed.txt,sha256=
|
|
25
|
-
agent_cli/_requirements/vad.txt,sha256=
|
|
15
|
+
agent_cli/_requirements/audio.txt,sha256=VymefAqXKNQDg_hlNiO3-Pz8zApp1IqbtWjUv07fSL0,1391
|
|
16
|
+
agent_cli/_requirements/faster-whisper.txt,sha256=QP8akE33gcjpHmim1zcbuPOvcOAxBGh-tiOpRXfX3KI,4210
|
|
17
|
+
agent_cli/_requirements/kokoro.txt,sha256=XzvT9FvzWvMQK_ClanO0DJoyo7kqcfoCeenTT_KA3R0,8868
|
|
18
|
+
agent_cli/_requirements/llm.txt,sha256=06gG3fOiye0R7bDNj2h4YmAt6WuOi1HUtuW_BBjcKMY,3459
|
|
19
|
+
agent_cli/_requirements/memory.txt,sha256=RmUGuRKJvXXL1nVCZCGOKy6zvbqyzUikx5zHymk1fok,7152
|
|
20
|
+
agent_cli/_requirements/mlx-whisper.txt,sha256=EsCSvS0ydvCJO6FzffROhjkieNNqaGHDI2iUSCTSN_o,6626
|
|
21
|
+
agent_cli/_requirements/piper.txt,sha256=LGm1gQopXgpDbgjTyWJpWYwEjjHSb86DDn48qoHnZgU,3332
|
|
22
|
+
agent_cli/_requirements/rag.txt,sha256=5zDS0BtxcB0Ig8zw8IXWTMzgTmSTNj0MMzR9G9olrIc,8127
|
|
23
|
+
agent_cli/_requirements/server.txt,sha256=k4ALhN4oR2e4amz4_1lQ2_hxB6MXg5LaGtlfn5EOc-s,2881
|
|
24
|
+
agent_cli/_requirements/speed.txt,sha256=0jxqHWKJBsUGOmr5J1hc_BHE7I4kyBpmB3dhk7O6btU,1333
|
|
25
|
+
agent_cli/_requirements/vad.txt,sha256=shMttjopUeOhpYrb3dqu9XoWbeaqkqNBw9cjEoAfRIc,3886
|
|
26
26
|
agent_cli/agents/__init__.py,sha256=c1rnncDW5pBvP6BiLzFVpLWDNZzFRaUA7-a97avFVAs,321
|
|
27
27
|
agent_cli/agents/_voice_agent_common.py,sha256=PUAztW84Xf9U7d0C_K5cL7I8OANIE1H6M8dFD_cRqps,4360
|
|
28
28
|
agent_cli/agents/assistant.py,sha256=dXExb-UrWdMiEcI1c6bXvMhii1iGg49Zw4On6-inQUE,14046
|
|
@@ -40,13 +40,13 @@ agent_cli/core/__init__.py,sha256=c_knH7u9QgjsfMIil9NP4bVizHawLUMYoQWU4H9vMlQ,46
|
|
|
40
40
|
agent_cli/core/audio.py,sha256=43FpYe2Wu_BYK9xJ_55V4xHjHJeFwQ5aM-CQzlTryt8,15168
|
|
41
41
|
agent_cli/core/audio_format.py,sha256=zk3qlYMAlKYPz1enrjihQQspl_C218v1Rbcm7Uktlew,8773
|
|
42
42
|
agent_cli/core/chroma.py,sha256=Vb_ny7SzAIL9SCEGlYgYOqsdG9BgusFGMj0RUzb6W90,2728
|
|
43
|
-
agent_cli/core/deps.py,sha256=
|
|
43
|
+
agent_cli/core/deps.py,sha256=roYg8KHqFAxuyRqVauKssr6gHNqSZ2_kJYD50O95bnM,5318
|
|
44
44
|
agent_cli/core/openai_proxy.py,sha256=f2kqxk6bAOeN7gOzU0JnyS-RYtXUcK5Gbsa_pBmlCv0,4470
|
|
45
45
|
agent_cli/core/process.py,sha256=Zay6beX4JUbkBHr6xbJxwVBjVFDABmRHQCXVPQH93r8,5916
|
|
46
46
|
agent_cli/core/reranker.py,sha256=Qv5ASGUdseLzI6eQRfNeQY-Lvv4SOgLOu56CpwmszDM,3779
|
|
47
47
|
agent_cli/core/sse.py,sha256=SddiWjHh7DENb1wmvf3wDvX-OhbaC61EceFwQxmDUEo,2232
|
|
48
48
|
agent_cli/core/transcription_logger.py,sha256=PVVfQK0leoB9JwUu5jYAhyRDBVq9exiPC0_KNXV8ggY,2057
|
|
49
|
-
agent_cli/core/utils.py,sha256=
|
|
49
|
+
agent_cli/core/utils.py,sha256=CrydXrpnD3nRX8zfN5i_17Qu2OhZxfor33mtptfRwho,16839
|
|
50
50
|
agent_cli/core/vad.py,sha256=67-EBjY-pTOf61VhrjVdDXgaNIBwWFFFccYth_1rQmg,6569
|
|
51
51
|
agent_cli/core/watch.py,sha256=MKgGxxMe0yLlu78-XXqO4ferCpu_ljNr4MAzOMDsuuo,1951
|
|
52
52
|
agent_cli/dev/__init__.py,sha256=doTYiUFEBpnOxsQA69HQP9AA4QHBN0DjuHSTGRq5Xbg,551
|
|
@@ -188,8 +188,8 @@ agent_cli/services/asr.py,sha256=aRaCLVCygsJ15qyQEPECOZsdSrnlLPbyY4RwAqY0qIw,172
|
|
|
188
188
|
agent_cli/services/llm.py,sha256=Kwdo6pbMYI9oykF-RBe1iaL3KsYrNWTLdRSioewmsGQ,7199
|
|
189
189
|
agent_cli/services/tts.py,sha256=NX5Qnq7ddLI3mwm3nzhbR3zB1Os4Ip4sSVSjDZDTBcI,14855
|
|
190
190
|
agent_cli/services/wake_word.py,sha256=JFJ1SA22H4yko9DXiQ1t7fcoxeALLAe3iBrLs0z8rX4,4664
|
|
191
|
-
agent_cli-0.67.
|
|
192
|
-
agent_cli-0.67.
|
|
193
|
-
agent_cli-0.67.
|
|
194
|
-
agent_cli-0.67.
|
|
195
|
-
agent_cli-0.67.
|
|
191
|
+
agent_cli-0.67.2.dist-info/METADATA,sha256=z4zcDhqiGt7d92suAsXn_-vLpzmYJEInek6WC5t0ar4,155800
|
|
192
|
+
agent_cli-0.67.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
193
|
+
agent_cli-0.67.2.dist-info/entry_points.txt,sha256=FUv-fB2atLsPUk_RT4zqnZl1coz4_XHFwRALOKOF38s,97
|
|
194
|
+
agent_cli-0.67.2.dist-info/licenses/LICENSE,sha256=majJU6S9kC8R8bW39NVBHyv32Dq50FL6TDxECG2WVts,1068
|
|
195
|
+
agent_cli-0.67.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|