agent-cli 0.70.1__tar.gz → 0.70.3__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 (360) hide show
  1. {agent_cli-0.70.1 → agent_cli-0.70.3}/PKG-INFO +16 -1
  2. {agent_cli-0.70.1 → agent_cli-0.70.3}/README.md +15 -0
  3. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/opts.py +3 -0
  4. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/cli.py +1 -1
  5. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/proxy/api.py +29 -18
  6. {agent_cli-0.70.1 → agent_cli-0.70.3}/docker/transcribe-proxy.Dockerfile +16 -2
  7. {agent_cli-0.70.1 → agent_cli-0.70.3}/docker/tts.Dockerfile +2 -2
  8. {agent_cli-0.70.1 → agent_cli-0.70.3}/docker/whisper.Dockerfile +1 -1
  9. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
  10. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude/skills/agent-cli-dev/examples.md +0 -0
  11. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude-plugin/README.md +0 -0
  12. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude-plugin/marketplace.json +0 -0
  13. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude-plugin/plugin.json +0 -0
  14. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
  15. {agent_cli-0.70.1 → agent_cli-0.70.3}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  16. {agent_cli-0.70.1 → agent_cli-0.70.3}/.cursorrules +0 -0
  17. {agent_cli-0.70.1 → agent_cli-0.70.3}/.env.example +0 -0
  18. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/logo.svg +0 -0
  19. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/release-drafter.yml +0 -0
  20. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/renovate.json +0 -0
  21. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/scripts/check_extras_sync.py +0 -0
  22. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/scripts/sync_requirements.py +0 -0
  23. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/automerge.yml +0 -0
  24. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/docker.yml +0 -0
  25. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/docs.yml +0 -0
  26. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/markdown-code-runner.yml +0 -0
  27. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/pytest.yml +0 -0
  28. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/release-drafter.yml +0 -0
  29. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/release.yml +0 -0
  30. {agent_cli-0.70.1 → agent_cli-0.70.3}/.github/workflows/toc.yaml +0 -0
  31. {agent_cli-0.70.1 → agent_cli-0.70.3}/.gitignore +0 -0
  32. {agent_cli-0.70.1 → agent_cli-0.70.3}/.jscpd.json +0 -0
  33. {agent_cli-0.70.1 → agent_cli-0.70.3}/.pre-commit-config.yaml +0 -0
  34. {agent_cli-0.70.1 → agent_cli-0.70.3}/.prompts/docs-review.md +0 -0
  35. {agent_cli-0.70.1 → agent_cli-0.70.3}/.prompts/pr-review.md +0 -0
  36. {agent_cli-0.70.1 → agent_cli-0.70.3}/CLAUDE.md +0 -0
  37. {agent_cli-0.70.1 → agent_cli-0.70.3}/LICENSE +0 -0
  38. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/__init__.py +0 -0
  39. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/__main__.py +0 -0
  40. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_extras.json +0 -0
  41. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/.gitkeep +0 -0
  42. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/audio.txt +0 -0
  43. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/faster-whisper.txt +0 -0
  44. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/kokoro.txt +0 -0
  45. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/llm.txt +0 -0
  46. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/memory.txt +0 -0
  47. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/mlx-whisper.txt +0 -0
  48. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/piper.txt +0 -0
  49. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/rag.txt +0 -0
  50. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/server.txt +0 -0
  51. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/speed.txt +0 -0
  52. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_requirements/vad.txt +0 -0
  53. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/_tools.py +0 -0
  54. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/__init__.py +0 -0
  55. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/_voice_agent_common.py +0 -0
  56. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/assistant.py +0 -0
  57. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/autocorrect.py +0 -0
  58. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/chat.py +0 -0
  59. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/memory/__init__.py +0 -0
  60. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/memory/add.py +0 -0
  61. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/memory/proxy.py +0 -0
  62. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/rag_proxy.py +0 -0
  63. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/speak.py +0 -0
  64. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/transcribe.py +0 -0
  65. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/transcribe_daemon.py +0 -0
  66. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/agents/voice_edit.py +0 -0
  67. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/api.py +0 -0
  68. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/cli.py +0 -0
  69. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/config.py +0 -0
  70. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/config_cmd.py +0 -0
  71. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/constants.py +0 -0
  72. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/__init__.py +0 -0
  73. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/audio.py +0 -0
  74. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/audio_format.py +0 -0
  75. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/chroma.py +0 -0
  76. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/deps.py +0 -0
  77. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/openai_proxy.py +0 -0
  78. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/process.py +0 -0
  79. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/reranker.py +0 -0
  80. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/sse.py +0 -0
  81. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/transcription_logger.py +0 -0
  82. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/utils.py +0 -0
  83. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/vad.py +0 -0
  84. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/core/watch.py +0 -0
  85. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/__init__.py +0 -0
  86. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/cli.py +0 -0
  87. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/__init__.py +0 -0
  88. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/aider.py +0 -0
  89. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/base.py +0 -0
  90. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/claude.py +0 -0
  91. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/codex.py +0 -0
  92. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  93. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/copilot.py +0 -0
  94. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  95. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/gemini.py +0 -0
  96. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/opencode.py +0 -0
  97. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/coding_agents/registry.py +0 -0
  98. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/__init__.py +0 -0
  99. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/base.py +0 -0
  100. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/cursor.py +0 -0
  101. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/emacs.py +0 -0
  102. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/jetbrains.py +0 -0
  103. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/nano.py +0 -0
  104. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/neovim.py +0 -0
  105. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/registry.py +0 -0
  106. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/sublime.py +0 -0
  107. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/vim.py +0 -0
  108. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/vscode.py +0 -0
  109. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/editors/zed.py +0 -0
  110. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/project.py +0 -0
  111. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/registry.py +0 -0
  112. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/skill/SKILL.md +0 -0
  113. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/skill/examples.md +0 -0
  114. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/__init__.py +0 -0
  115. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  116. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/base.py +0 -0
  117. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/gnome.py +0 -0
  118. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/iterm2.py +0 -0
  119. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/kitty.py +0 -0
  120. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/registry.py +0 -0
  121. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/tmux.py +0 -0
  122. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/warp.py +0 -0
  123. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/terminals/zellij.py +0 -0
  124. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/dev/worktree.py +0 -0
  125. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/docs_gen.py +0 -0
  126. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/example-config.toml +0 -0
  127. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/install/__init__.py +0 -0
  128. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/install/common.py +0 -0
  129. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/install/extras.py +0 -0
  130. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/install/hotkeys.py +0 -0
  131. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/install/services.py +0 -0
  132. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/__init__.py +0 -0
  133. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_files.py +0 -0
  134. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_filters.py +0 -0
  135. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_git.py +0 -0
  136. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_indexer.py +0 -0
  137. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_ingest.py +0 -0
  138. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_persistence.py +0 -0
  139. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_prompt.py +0 -0
  140. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_retrieval.py +0 -0
  141. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_store.py +0 -0
  142. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_streaming.py +0 -0
  143. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/_tasks.py +0 -0
  144. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/api.py +0 -0
  145. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/client.py +0 -0
  146. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/engine.py +0 -0
  147. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/entities.py +0 -0
  148. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/memory/models.py +0 -0
  149. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/py.typed +0 -0
  150. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/__init__.py +0 -0
  151. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_indexer.py +0 -0
  152. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_indexing.py +0 -0
  153. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_prompt.py +0 -0
  154. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_retriever.py +0 -0
  155. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_store.py +0 -0
  156. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/_utils.py +0 -0
  157. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/api.py +0 -0
  158. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/client.py +0 -0
  159. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/engine.py +0 -0
  160. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/rag/models.py +0 -0
  161. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  162. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/__init__.py +0 -0
  163. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
  164. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  165. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  166. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  167. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  168. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  169. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  170. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  171. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  172. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  173. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  174. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  175. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  176. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  177. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  178. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-openwakeword.sh +0 -0
  179. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
  180. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-piper.sh +0 -0
  181. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-whisper-linux.sh +0 -0
  182. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-whisper-macos.sh +0 -0
  183. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
  184. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run-whisper.sh +0 -0
  185. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
  186. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  187. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/setup-linux.sh +0 -0
  188. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  189. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/setup-macos.sh +0 -0
  190. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/setup-windows.ps1 +0 -0
  191. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  192. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/start-all-services.sh +0 -0
  193. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/scripts/sync_extras.py +0 -0
  194. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/__init__.py +0 -0
  195. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/common.py +0 -0
  196. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/model_manager.py +0 -0
  197. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/model_registry.py +0 -0
  198. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/proxy/__init__.py +0 -0
  199. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/streaming.py +0 -0
  200. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/__init__.py +0 -0
  201. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/api.py +0 -0
  202. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/backends/__init__.py +0 -0
  203. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/backends/base.py +0 -0
  204. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/backends/kokoro.py +0 -0
  205. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/backends/piper.py +0 -0
  206. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/model_manager.py +0 -0
  207. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/model_registry.py +0 -0
  208. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/tts/wyoming_handler.py +0 -0
  209. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/__init__.py +0 -0
  210. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/api.py +0 -0
  211. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/backends/__init__.py +0 -0
  212. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/backends/base.py +0 -0
  213. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  214. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/backends/mlx.py +0 -0
  215. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/languages.py +0 -0
  216. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/model_manager.py +0 -0
  217. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/model_registry.py +0 -0
  218. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  219. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/__init__.py +0 -0
  220. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/_wyoming_utils.py +0 -0
  221. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/asr.py +0 -0
  222. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/llm.py +0 -0
  223. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/tts.py +0 -0
  224. {agent_cli-0.70.1 → agent_cli-0.70.3}/agent_cli/services/wake_word.py +0 -0
  225. {agent_cli-0.70.1 → agent_cli-0.70.3}/docker/docker-compose.yml +0 -0
  226. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/CNAME +0 -0
  227. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/architecture/index.md +0 -0
  228. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/architecture/memory.md +0 -0
  229. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/architecture/rag.md +0 -0
  230. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/assistant.md +0 -0
  231. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/autocorrect.md +0 -0
  232. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/chat.md +0 -0
  233. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/config.md +0 -0
  234. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/dev.md +0 -0
  235. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/index.md +0 -0
  236. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/install-extras.md +0 -0
  237. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/install-hotkeys.md +0 -0
  238. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/install-services.md +0 -0
  239. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/memory.md +0 -0
  240. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/rag-proxy.md +0 -0
  241. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/server/index.md +0 -0
  242. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/server/transcribe-proxy.md +0 -0
  243. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/server/tts.md +0 -0
  244. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/server/whisper.md +0 -0
  245. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/speak.md +0 -0
  246. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/start-services.md +0 -0
  247. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/transcribe-daemon.md +0 -0
  248. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/transcribe.md +0 -0
  249. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/commands/voice-edit.md +0 -0
  250. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/configuration.md +0 -0
  251. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/getting-started.md +0 -0
  252. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/iOS_Shortcut_Guide.md +0 -0
  253. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/index.md +0 -0
  254. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/docker.md +0 -0
  255. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/index.md +0 -0
  256. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/linux.md +0 -0
  257. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/macos.md +0 -0
  258. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/nixos.md +0 -0
  259. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/installation/windows.md +0 -0
  260. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/logo-clean.svg +0 -0
  261. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  262. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/run_markdown_code_runner.py +0 -0
  263. {agent_cli-0.70.1 → agent_cli-0.70.3}/docs/system-integration.md +0 -0
  264. {agent_cli-0.70.1 → agent_cli-0.70.3}/example.agent-cli-config.toml +0 -0
  265. {agent_cli-0.70.1 → agent_cli-0.70.3}/justfile +0 -0
  266. {agent_cli-0.70.1 → agent_cli-0.70.3}/pyproject.toml +0 -0
  267. {agent_cli-0.70.1 → agent_cli-0.70.3}/shell.nix +0 -0
  268. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/__init__.py +0 -0
  269. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/__init__.py +0 -0
  270. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_fix_my_text.py +0 -0
  271. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_interactive.py +0 -0
  272. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_interactive_extra.py +0 -0
  273. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_memory_add.py +0 -0
  274. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_speak.py +0 -0
  275. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_speak_e2e.py +0 -0
  276. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_transcribe.py +0 -0
  277. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_transcribe_agent.py +0 -0
  278. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_transcribe_daemon.py +0 -0
  279. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_transcribe_e2e.py +0 -0
  280. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_transcribe_recovery.py +0 -0
  281. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_tts_common.py +0 -0
  282. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_tts_common_extra.py +0 -0
  283. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_voice_agent_common.py +0 -0
  284. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_voice_edit.py +0 -0
  285. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_voice_edit_e2e.py +0 -0
  286. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/agents/test_wake_word_assistant.py +0 -0
  287. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/conftest.py +0 -0
  288. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/__init__.py +0 -0
  289. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/test_audio_format.py +0 -0
  290. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/test_chroma.py +0 -0
  291. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/test_sse.py +0 -0
  292. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/test_vad.py +0 -0
  293. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/core/test_watch.py +0 -0
  294. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/__init__.py +0 -0
  295. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_cli.py +0 -0
  296. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_coding_agents.py +0 -0
  297. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_editors.py +0 -0
  298. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_project.py +0 -0
  299. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_terminals.py +0 -0
  300. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_verification.py +0 -0
  301. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/dev/test_worktree.py +0 -0
  302. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/install/__init__.py +0 -0
  303. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/install/test_extras.py +0 -0
  304. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/__init__.py +0 -0
  305. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_api_health.py +0 -0
  306. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_api_integration_liveish.py +0 -0
  307. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_client.py +0 -0
  308. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_engine.py +0 -0
  309. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_files.py +0 -0
  310. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_filters.py +0 -0
  311. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_git_integration.py +0 -0
  312. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_indexer.py +0 -0
  313. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_memory_integration.py +0 -0
  314. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_proxy_passthrough.py +0 -0
  315. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_store.py +0 -0
  316. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/memory/test_utils.py +0 -0
  317. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/mocks/__init__.py +0 -0
  318. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/mocks/audio.py +0 -0
  319. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/mocks/llm.py +0 -0
  320. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/mocks/wyoming.py +0 -0
  321. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/__init__.py +0 -0
  322. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_api.py +0 -0
  323. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_engine.py +0 -0
  324. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_history.py +0 -0
  325. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_indexer.py +0 -0
  326. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_indexing.py +0 -0
  327. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_rag_client.py +0 -0
  328. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_rag_integration_liveish.py +0 -0
  329. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  330. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_retriever.py +0 -0
  331. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_store.py +0 -0
  332. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/rag/test_utils.py +0 -0
  333. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_api.py +0 -0
  334. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_api_integration.py +0 -0
  335. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_asr.py +0 -0
  336. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_asr_recovery.py +0 -0
  337. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_audio_e2e.py +0 -0
  338. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_cli.py +0 -0
  339. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_config.py +0 -0
  340. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_config_cmd.py +0 -0
  341. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_docs_gen.py +0 -0
  342. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_env_vars.py +0 -0
  343. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_json_output.py +0 -0
  344. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_llm.py +0 -0
  345. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_llm_gemini.py +0 -0
  346. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_memory_tools.py +0 -0
  347. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_mlx_backend.py +0 -0
  348. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_process_manager.py +0 -0
  349. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_requires_extras.py +0 -0
  350. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_server_streaming.py +0 -0
  351. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_server_tts.py +0 -0
  352. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_server_whisper.py +0 -0
  353. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_services.py +0 -0
  354. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_tools.py +0 -0
  355. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_tts.py +0 -0
  356. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_utils.py +0 -0
  357. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_wake_word.py +0 -0
  358. {agent_cli-0.70.1 → agent_cli-0.70.3}/tests/test_wyoming_utils.py +0 -0
  359. {agent_cli-0.70.1 → agent_cli-0.70.3}/uv.lock +0 -0
  360. {agent_cli-0.70.1 → agent_cli-0.70.3}/zensical.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.70.1
3
+ Version: 0.70.3
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>
@@ -750,6 +750,7 @@ the `[defaults]` section of your configuration file.
750
750
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
751
751
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
752
752
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
753
+ │ [env var: ASR_PROVIDER] │
753
754
  │ [default: wyoming] │
754
755
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
755
756
  │ [default: ollama] │
@@ -762,8 +763,10 @@ the `[defaults]` section of your configuration file.
762
763
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
763
764
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
764
765
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
766
+ │ [env var: ASR_WYOMING_IP] │
765
767
  │ [default: localhost] │
766
768
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
769
+ │ [env var: ASR_WYOMING_PORT] │
767
770
  │ [default: 10300] │
768
771
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
769
772
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -924,6 +927,7 @@ uv tool install "agent-cli[vad]" -p 3.13
924
927
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
925
928
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
926
929
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
930
+ │ [env var: ASR_PROVIDER] │
927
931
  │ [default: wyoming] │
928
932
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
929
933
  │ [default: ollama] │
@@ -936,8 +940,10 @@ uv tool install "agent-cli[vad]" -p 3.13
936
940
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
937
941
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
938
942
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
943
+ │ [env var: ASR_WYOMING_IP] │
939
944
  │ [default: localhost] │
940
945
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
946
+ │ [env var: ASR_WYOMING_PORT] │
941
947
  │ [default: 10300] │
942
948
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
943
949
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1170,6 +1176,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1170
1176
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1171
1177
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1172
1178
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1179
+ │ [env var: ASR_PROVIDER] │
1173
1180
  │ [default: wyoming] │
1174
1181
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1175
1182
  │ [default: ollama] │
@@ -1185,8 +1192,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1185
1192
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1186
1193
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1187
1194
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1195
+ │ [env var: ASR_WYOMING_IP] │
1188
1196
  │ [default: localhost] │
1189
1197
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1198
+ │ [env var: ASR_WYOMING_PORT] │
1190
1199
  │ [default: 10300] │
1191
1200
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1192
1201
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1335,6 +1344,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1335
1344
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1336
1345
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1337
1346
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1347
+ │ [env var: ASR_PROVIDER] │
1338
1348
  │ [default: wyoming] │
1339
1349
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1340
1350
  │ [default: ollama] │
@@ -1359,8 +1369,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1359
1369
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1360
1370
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1361
1371
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1372
+ │ [env var: ASR_WYOMING_IP] │
1362
1373
  │ [default: localhost] │
1363
1374
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1375
+ │ [env var: ASR_WYOMING_PORT] │
1364
1376
  │ [default: 10300] │
1365
1377
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1366
1378
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1514,6 +1526,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1514
1526
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1515
1527
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1516
1528
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1529
+ │ [env var: ASR_PROVIDER] │
1517
1530
  │ [default: wyoming] │
1518
1531
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1519
1532
  │ [default: ollama] │
@@ -1529,8 +1542,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1529
1542
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1530
1543
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1531
1544
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1545
+ │ [env var: ASR_WYOMING_IP] │
1532
1546
  │ [default: localhost] │
1533
1547
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1548
+ │ [env var: ASR_WYOMING_PORT] │
1534
1549
  │ [default: 10300] │
1535
1550
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1536
1551
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -666,6 +666,7 @@ the `[defaults]` section of your configuration file.
666
666
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
667
667
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
668
668
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
669
+ │ [env var: ASR_PROVIDER] │
669
670
  │ [default: wyoming] │
670
671
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
671
672
  │ [default: ollama] │
@@ -678,8 +679,10 @@ the `[defaults]` section of your configuration file.
678
679
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
679
680
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
680
681
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
682
+ │ [env var: ASR_WYOMING_IP] │
681
683
  │ [default: localhost] │
682
684
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
685
+ │ [env var: ASR_WYOMING_PORT] │
683
686
  │ [default: 10300] │
684
687
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
685
688
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -840,6 +843,7 @@ uv tool install "agent-cli[vad]" -p 3.13
840
843
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
841
844
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
842
845
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
846
+ │ [env var: ASR_PROVIDER] │
843
847
  │ [default: wyoming] │
844
848
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
845
849
  │ [default: ollama] │
@@ -852,8 +856,10 @@ uv tool install "agent-cli[vad]" -p 3.13
852
856
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
853
857
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
854
858
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
859
+ │ [env var: ASR_WYOMING_IP] │
855
860
  │ [default: localhost] │
856
861
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
862
+ │ [env var: ASR_WYOMING_PORT] │
857
863
  │ [default: 10300] │
858
864
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
859
865
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1086,6 +1092,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1086
1092
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1087
1093
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1088
1094
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1095
+ │ [env var: ASR_PROVIDER] │
1089
1096
  │ [default: wyoming] │
1090
1097
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1091
1098
  │ [default: ollama] │
@@ -1101,8 +1108,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1101
1108
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1102
1109
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1103
1110
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1111
+ │ [env var: ASR_WYOMING_IP] │
1104
1112
  │ [default: localhost] │
1105
1113
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1114
+ │ [env var: ASR_WYOMING_PORT] │
1106
1115
  │ [default: 10300] │
1107
1116
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1108
1117
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1251,6 +1260,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1251
1260
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1252
1261
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1253
1262
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1263
+ │ [env var: ASR_PROVIDER] │
1254
1264
  │ [default: wyoming] │
1255
1265
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1256
1266
  │ [default: ollama] │
@@ -1275,8 +1285,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1275
1285
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1276
1286
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1277
1287
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1288
+ │ [env var: ASR_WYOMING_IP] │
1278
1289
  │ [default: localhost] │
1279
1290
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1291
+ │ [env var: ASR_WYOMING_PORT] │
1280
1292
  │ [default: 10300] │
1281
1293
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1282
1294
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -1430,6 +1442,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1430
1442
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1431
1443
  ╭─ Provider Selection ───────────────────────────────────────────────────────────────────╮
1432
1444
  │ --asr-provider TEXT The ASR provider to use ('wyoming', 'openai', 'gemini'). │
1445
+ │ [env var: ASR_PROVIDER] │
1433
1446
  │ [default: wyoming] │
1434
1447
  │ --llm-provider TEXT The LLM provider to use ('ollama', 'openai', 'gemini'). │
1435
1448
  │ [default: ollama] │
@@ -1445,8 +1458,10 @@ uv tool install "agent-cli[vad]" -p 3.13
1445
1458
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1446
1459
  ╭─ Audio Input: Wyoming ─────────────────────────────────────────────────────────────────╮
1447
1460
  │ --asr-wyoming-ip TEXT Wyoming ASR server IP address. │
1461
+ │ [env var: ASR_WYOMING_IP] │
1448
1462
  │ [default: localhost] │
1449
1463
  │ --asr-wyoming-port INTEGER Wyoming ASR server port. │
1464
+ │ [env var: ASR_WYOMING_PORT] │
1450
1465
  │ [default: 10300] │
1451
1466
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1452
1467
  ╭─ Audio Input: OpenAI-compatible ───────────────────────────────────────────────────────╮
@@ -26,6 +26,7 @@ LLM_PROVIDER: str = typer.Option(
26
26
  ASR_PROVIDER: str = typer.Option(
27
27
  "wyoming",
28
28
  "--asr-provider",
29
+ envvar="ASR_PROVIDER",
29
30
  help="The ASR provider to use ('wyoming', 'openai', 'gemini').",
30
31
  rich_help_panel="Provider Selection",
31
32
  )
@@ -124,12 +125,14 @@ LIST_DEVICES: bool = typer.Option(
124
125
  ASR_WYOMING_IP: str = typer.Option(
125
126
  "localhost",
126
127
  "--asr-wyoming-ip",
128
+ envvar="ASR_WYOMING_IP",
127
129
  help="Wyoming ASR server IP address.",
128
130
  rich_help_panel="Audio Input: Wyoming",
129
131
  )
130
132
  ASR_WYOMING_PORT: int = typer.Option(
131
133
  10300,
132
134
  "--asr-wyoming-port",
135
+ envvar="ASR_WYOMING_PORT",
133
136
  help="Wyoming ASR server port.",
134
137
  rich_help_panel="Audio Input: Wyoming",
135
138
  )
@@ -422,7 +422,7 @@ def whisper_cmd( # noqa: PLR0912, PLR0915
422
422
 
423
423
 
424
424
  @app.command("transcribe-proxy")
425
- @requires_extras("server")
425
+ @requires_extras("server", "audio", "llm")
426
426
  def transcribe_proxy_cmd(
427
427
  host: Annotated[
428
428
  str,
@@ -3,8 +3,9 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import logging
6
+ import os
6
7
  from pathlib import Path
7
- from typing import Annotated, Any
8
+ from typing import TYPE_CHECKING, Annotated, Any
8
9
 
9
10
  from fastapi import Depends, FastAPI, File, Form, HTTPException, Request, UploadFile
10
11
  from pydantic import BaseModel
@@ -26,6 +27,9 @@ from agent_cli.server.common import log_requests_middleware
26
27
  from agent_cli.services import asr
27
28
  from agent_cli.services.llm import process_and_update_clipboard
28
29
 
30
+ if TYPE_CHECKING:
31
+ from typer.models import OptionInfo
32
+
29
33
  # Configure logging
30
34
  logging.basicConfig(level=logging.INFO)
31
35
  LOGGER = logging.getLogger(__name__)
@@ -153,6 +157,13 @@ def _validate_audio_file(audio: UploadFile) -> None:
153
157
  )
154
158
 
155
159
 
160
+ def _cfg(key: str, defaults: dict[str, Any], opt: OptionInfo) -> Any:
161
+ """Get config with priority: env var > config file > option default."""
162
+ if opt.envvar and (env_val := os.environ.get(opt.envvar)):
163
+ return int(env_val) if isinstance(opt.default, int) else env_val
164
+ return defaults.get(key, opt.default)
165
+
166
+
156
167
  def _load_transcription_configs() -> tuple[
157
168
  config.ProviderSelection,
158
169
  config.WyomingASR,
@@ -163,41 +174,41 @@ def _load_transcription_configs() -> tuple[
163
174
  config.GeminiLLM,
164
175
  dict[str, Any],
165
176
  ]:
166
- """Load and create all required configuration objects."""
177
+ """Load config objects. Priority: env var > config file > default."""
167
178
  loaded_config = config.load_config()
168
179
  wildcard_config = loaded_config.get("defaults", {})
169
180
  command_config = loaded_config.get("transcribe", {})
170
181
  defaults = {**wildcard_config, **command_config}
171
182
 
172
183
  provider_cfg = config.ProviderSelection(
173
- asr_provider=defaults.get("asr_provider", opts.ASR_PROVIDER.default), # type: ignore[attr-defined]
174
- llm_provider=defaults.get("llm_provider", opts.LLM_PROVIDER.default), # type: ignore[attr-defined]
175
- tts_provider=opts.TTS_PROVIDER.default, # type: ignore[attr-defined]
184
+ asr_provider=_cfg("asr_provider", defaults, opts.ASR_PROVIDER),
185
+ llm_provider=_cfg("llm_provider", defaults, opts.LLM_PROVIDER),
186
+ tts_provider=_cfg("tts_provider", defaults, opts.TTS_PROVIDER),
176
187
  )
177
188
  wyoming_asr_cfg = config.WyomingASR(
178
- asr_wyoming_ip=defaults.get("asr_wyoming_ip", opts.ASR_WYOMING_IP.default), # type: ignore[attr-defined]
179
- asr_wyoming_port=defaults.get("asr_wyoming_port", opts.ASR_WYOMING_PORT.default), # type: ignore[attr-defined]
189
+ asr_wyoming_ip=_cfg("asr_wyoming_ip", defaults, opts.ASR_WYOMING_IP),
190
+ asr_wyoming_port=_cfg("asr_wyoming_port", defaults, opts.ASR_WYOMING_PORT),
180
191
  )
181
192
  openai_asr_cfg = config.OpenAIASR(
182
- asr_openai_model=defaults.get("asr_openai_model", opts.ASR_OPENAI_MODEL.default), # type: ignore[attr-defined]
183
- openai_api_key=defaults.get("openai_api_key", opts.OPENAI_API_KEY.default), # type: ignore[attr-defined,union-attr]
193
+ asr_openai_model=_cfg("asr_openai_model", defaults, opts.ASR_OPENAI_MODEL),
194
+ openai_api_key=_cfg("openai_api_key", defaults, opts.OPENAI_API_KEY),
184
195
  )
185
196
  gemini_asr_cfg = config.GeminiASR(
186
- asr_gemini_model=defaults.get("asr_gemini_model", opts.ASR_GEMINI_MODEL.default), # type: ignore[attr-defined]
187
- gemini_api_key=defaults.get("gemini_api_key", opts.GEMINI_API_KEY.default), # type: ignore[attr-defined,union-attr]
197
+ asr_gemini_model=_cfg("asr_gemini_model", defaults, opts.ASR_GEMINI_MODEL),
198
+ gemini_api_key=_cfg("gemini_api_key", defaults, opts.GEMINI_API_KEY),
188
199
  )
189
200
  ollama_cfg = config.Ollama(
190
- llm_ollama_model=defaults.get("llm_ollama_model", opts.LLM_OLLAMA_MODEL.default), # type: ignore[attr-defined]
191
- llm_ollama_host=defaults.get("llm_ollama_host", opts.LLM_OLLAMA_HOST.default), # type: ignore[attr-defined]
201
+ llm_ollama_model=_cfg("llm_ollama_model", defaults, opts.LLM_OLLAMA_MODEL),
202
+ llm_ollama_host=_cfg("llm_ollama_host", defaults, opts.LLM_OLLAMA_HOST),
192
203
  )
193
204
  openai_llm_cfg = config.OpenAILLM(
194
- llm_openai_model=defaults.get("llm_openai_model", opts.LLM_OPENAI_MODEL.default), # type: ignore[attr-defined]
195
- openai_api_key=defaults.get("openai_api_key", opts.OPENAI_API_KEY.default), # type: ignore[attr-defined,union-attr]
196
- openai_base_url=defaults.get("openai_base_url", opts.OPENAI_BASE_URL.default), # type: ignore[attr-defined,union-attr]
205
+ llm_openai_model=_cfg("llm_openai_model", defaults, opts.LLM_OPENAI_MODEL),
206
+ openai_api_key=_cfg("openai_api_key", defaults, opts.OPENAI_API_KEY),
207
+ openai_base_url=_cfg("openai_base_url", defaults, opts.OPENAI_BASE_URL),
197
208
  )
198
209
  gemini_llm_cfg = config.GeminiLLM(
199
- llm_gemini_model=defaults.get("llm_gemini_model", opts.LLM_GEMINI_MODEL.default), # type: ignore[attr-defined]
200
- gemini_api_key=defaults.get("gemini_api_key", opts.GEMINI_API_KEY.default), # type: ignore[attr-defined,union-attr]
210
+ llm_gemini_model=_cfg("llm_gemini_model", defaults, opts.LLM_GEMINI_MODEL),
211
+ gemini_api_key=_cfg("gemini_api_key", defaults, opts.GEMINI_API_KEY),
201
212
  )
202
213
 
203
214
  return (
@@ -4,8 +4,22 @@
4
4
  # Build example:
5
5
  # docker build -f docker/transcribe-proxy.Dockerfile -t agent-cli-transcribe-proxy .
6
6
  #
7
- # Run example:
7
+ # Run examples:
8
8
  # docker run -p 61337:61337 agent-cli-transcribe-proxy
9
+ #
10
+ # # With Wyoming ASR pointing to another container:
11
+ # docker run -p 61337:61337 \
12
+ # -e ASR_WYOMING_IP=whisper-server \
13
+ # -e ASR_WYOMING_PORT=10300 \
14
+ # agent-cli-transcribe-proxy
15
+ #
16
+ # Environment variables (priority: env var > config file > default):
17
+ # ASR_PROVIDER - ASR provider: wyoming, openai, gemini (default: wyoming)
18
+ # ASR_WYOMING_IP - Wyoming server IP (default: localhost)
19
+ # ASR_WYOMING_PORT - Wyoming server port (default: 10300)
20
+ # LLM_PROVIDER - LLM provider: ollama, openai, gemini (default: openai)
21
+ # OPENAI_API_KEY - OpenAI API key
22
+ # GEMINI_API_KEY - Gemini API key
9
23
 
10
24
  # =============================================================================
11
25
  # Builder stage - install dependencies and project
@@ -24,7 +38,7 @@ COPY pyproject.toml uv.lock README.md ./
24
38
  COPY .git ./.git
25
39
  COPY agent_cli ./agent_cli
26
40
  COPY scripts ./scripts
27
- RUN uv sync --frozen --no-dev --no-editable --extra server
41
+ RUN uv sync --frozen --no-dev --no-editable --extra server --extra audio --extra llm
28
42
 
29
43
  # =============================================================================
30
44
  # Runtime stage - minimal image
@@ -26,7 +26,7 @@ COPY pyproject.toml uv.lock README.md ./
26
26
  COPY .git ./.git
27
27
  COPY agent_cli ./agent_cli
28
28
  COPY scripts ./scripts
29
- RUN uv sync --frozen --no-dev --no-editable --extra server --extra kokoro && \
29
+ RUN uv sync --frozen --no-dev --no-editable --extra server --extra kokoro --extra audio && \
30
30
  /app/.venv/bin/python -m spacy download en_core_web_sm
31
31
 
32
32
  # =============================================================================
@@ -46,7 +46,7 @@ COPY pyproject.toml uv.lock README.md ./
46
46
  COPY .git ./.git
47
47
  COPY agent_cli ./agent_cli
48
48
  COPY scripts ./scripts
49
- RUN uv sync --frozen --no-dev --no-editable --extra server --extra piper
49
+ RUN uv sync --frozen --no-dev --no-editable --extra server --extra piper --extra audio
50
50
 
51
51
  # =============================================================================
52
52
  # CUDA target: GPU-accelerated with Kokoro TTS
@@ -26,7 +26,7 @@ COPY pyproject.toml uv.lock README.md ./
26
26
  COPY .git ./.git
27
27
  COPY agent_cli ./agent_cli
28
28
  COPY scripts ./scripts
29
- RUN uv sync --frozen --no-dev --no-editable --extra server --extra faster-whisper
29
+ RUN uv sync --frozen --no-dev --no-editable --extra server --extra faster-whisper --extra audio
30
30
 
31
31
  # =============================================================================
32
32
  # CUDA target: GPU-accelerated with faster-whisper
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