agent-cli 0.66.2__tar.gz → 0.67.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. {agent_cli-0.66.2/agent_cli/dev/skill → agent_cli-0.67.1/.claude/skills/agent-cli-dev}/SKILL.md +2 -2
  2. {agent_cli-0.66.2 → agent_cli-0.67.1}/.claude-plugin/README.md +2 -2
  3. {agent_cli-0.66.2/.claude → agent_cli-0.67.1/.claude-plugin}/skills/agent-cli-dev/SKILL.md +2 -2
  4. agent_cli-0.67.1/.github/scripts/check_extras_sync.py +75 -0
  5. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/pytest.yml +5 -1
  6. {agent_cli-0.66.2 → agent_cli-0.67.1}/.pre-commit-config.yaml +6 -0
  7. {agent_cli-0.66.2 → agent_cli-0.67.1}/PKG-INFO +35 -30
  8. {agent_cli-0.66.2 → agent_cli-0.67.1}/README.md +10 -6
  9. agent_cli-0.67.1/agent_cli/_extras.json +13 -0
  10. agent_cli-0.67.1/agent_cli/_requirements/audio.txt +71 -0
  11. agent_cli-0.66.2/agent_cli/_requirements/whisper.txt → agent_cli-0.67.1/agent_cli/_requirements/faster-whisper.txt +5 -113
  12. agent_cli-0.66.2/agent_cli/_requirements/tts-kokoro.txt → agent_cli-0.67.1/agent_cli/_requirements/kokoro.txt +5 -108
  13. agent_cli-0.66.2/agent_cli/_requirements/speed.txt → agent_cli-0.67.1/agent_cli/_requirements/llm.txt +7 -24
  14. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_requirements/memory.txt +7 -98
  15. agent_cli-0.66.2/agent_cli/_requirements/whisper-mlx.txt → agent_cli-0.67.1/agent_cli/_requirements/mlx-whisper.txt +62 -125
  16. agent_cli-0.66.2/agent_cli/_requirements/tts.txt → agent_cli-0.67.1/agent_cli/_requirements/piper.txt +6 -124
  17. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_requirements/rag.txt +10 -97
  18. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_requirements/server.txt +4 -122
  19. agent_cli-0.67.1/agent_cli/_requirements/speed.txt +69 -0
  20. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_requirements/vad.txt +6 -130
  21. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/assistant.py +2 -0
  22. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/autocorrect.py +2 -0
  23. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/chat.py +2 -0
  24. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/memory/add.py +2 -0
  25. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/memory/proxy.py +2 -0
  26. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/rag_proxy.py +2 -0
  27. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/speak.py +2 -0
  28. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/transcribe.py +2 -0
  29. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/transcribe_daemon.py +2 -0
  30. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/voice_edit.py +2 -0
  31. agent_cli-0.67.1/agent_cli/core/deps.py +139 -0
  32. {agent_cli-0.66.2/.claude-plugin/skills/agent-cli-dev → agent_cli-0.67.1/agent_cli/dev/skill}/SKILL.md +2 -2
  33. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/docs_gen.py +0 -42
  34. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/install/extras.py +6 -14
  35. agent_cli-0.67.1/agent_cli/memory/__init__.py +7 -0
  36. agent_cli-0.67.1/agent_cli/rag/__init__.py +3 -0
  37. agent_cli-0.67.1/agent_cli/scripts/sync_extras.py +138 -0
  38. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/cli.py +4 -0
  39. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/_wyoming_utils.py +4 -2
  40. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/asr.py +13 -3
  41. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/tts.py +5 -2
  42. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/wake_word.py +6 -3
  43. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/install-extras.md +8 -6
  44. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/server/tts.md +6 -6
  45. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/server/whisper.md +2 -2
  46. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/transcribe-daemon.md +1 -1
  47. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/getting-started.md +6 -2
  48. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/index.md +7 -4
  49. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/docker.md +1 -1
  50. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/index.md +5 -1
  51. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/linux.md +1 -1
  52. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/macos.md +1 -1
  53. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/nixos.md +1 -1
  54. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/installation/windows.md +2 -2
  55. {agent_cli-0.66.2 → agent_cli-0.67.1}/pyproject.toml +17 -14
  56. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/conftest.py +14 -0
  57. agent_cli-0.67.1/tests/install/test_extras.py +42 -0
  58. agent_cli-0.67.1/tests/test_requires_extras.py +62 -0
  59. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_wake_word.py +6 -6
  60. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_wyoming_utils.py +3 -3
  61. {agent_cli-0.66.2 → agent_cli-0.67.1}/uv.lock +123 -62
  62. agent_cli-0.66.2/agent_cli/core/deps.py +0 -23
  63. agent_cli-0.66.2/agent_cli/memory/__init__.py +0 -24
  64. agent_cli-0.66.2/agent_cli/rag/__init__.py +0 -22
  65. agent_cli-0.66.2/tests/install/test_extras.py +0 -26
  66. {agent_cli-0.66.2 → agent_cli-0.67.1}/.claude/skills/agent-cli-dev/examples.md +0 -0
  67. {agent_cli-0.66.2 → agent_cli-0.67.1}/.claude-plugin/marketplace.json +0 -0
  68. {agent_cli-0.66.2 → agent_cli-0.67.1}/.claude-plugin/plugin.json +0 -0
  69. {agent_cli-0.66.2 → agent_cli-0.67.1}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  70. {agent_cli-0.66.2 → agent_cli-0.67.1}/.cursorrules +0 -0
  71. {agent_cli-0.66.2 → agent_cli-0.67.1}/.env.example +0 -0
  72. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/logo.svg +0 -0
  73. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/release-drafter.yml +0 -0
  74. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/renovate.json +0 -0
  75. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/scripts/sync_requirements.py +0 -0
  76. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/automerge.yml +0 -0
  77. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/docker.yml +0 -0
  78. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/docs.yml +0 -0
  79. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/markdown-code-runner.yml +0 -0
  80. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/release-drafter.yml +0 -0
  81. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/release.yml +0 -0
  82. {agent_cli-0.66.2 → agent_cli-0.67.1}/.github/workflows/toc.yaml +0 -0
  83. {agent_cli-0.66.2 → agent_cli-0.67.1}/.gitignore +0 -0
  84. {agent_cli-0.66.2 → agent_cli-0.67.1}/.jscpd.json +0 -0
  85. {agent_cli-0.66.2 → agent_cli-0.67.1}/.prompts/docs-review.md +0 -0
  86. {agent_cli-0.66.2 → agent_cli-0.67.1}/.prompts/pr-review.md +0 -0
  87. {agent_cli-0.66.2 → agent_cli-0.67.1}/CLAUDE.md +0 -0
  88. {agent_cli-0.66.2 → agent_cli-0.67.1}/LICENSE +0 -0
  89. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/__init__.py +0 -0
  90. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/__main__.py +0 -0
  91. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_requirements/.gitkeep +0 -0
  92. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/_tools.py +0 -0
  93. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/__init__.py +0 -0
  94. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/_voice_agent_common.py +0 -0
  95. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/agents/memory/__init__.py +0 -0
  96. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/api.py +0 -0
  97. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/cli.py +0 -0
  98. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/config.py +0 -0
  99. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/config_cmd.py +0 -0
  100. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/constants.py +0 -0
  101. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/__init__.py +0 -0
  102. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/audio.py +0 -0
  103. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/audio_format.py +0 -0
  104. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/chroma.py +0 -0
  105. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/openai_proxy.py +0 -0
  106. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/process.py +0 -0
  107. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/reranker.py +0 -0
  108. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/sse.py +0 -0
  109. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/transcription_logger.py +0 -0
  110. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/utils.py +0 -0
  111. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/vad.py +0 -0
  112. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/core/watch.py +0 -0
  113. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/__init__.py +0 -0
  114. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/cli.py +0 -0
  115. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/__init__.py +0 -0
  116. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/aider.py +0 -0
  117. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/base.py +0 -0
  118. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/claude.py +0 -0
  119. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/codex.py +0 -0
  120. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  121. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/copilot.py +0 -0
  122. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  123. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/gemini.py +0 -0
  124. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/opencode.py +0 -0
  125. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/coding_agents/registry.py +0 -0
  126. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/__init__.py +0 -0
  127. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/base.py +0 -0
  128. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/cursor.py +0 -0
  129. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/emacs.py +0 -0
  130. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/jetbrains.py +0 -0
  131. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/nano.py +0 -0
  132. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/neovim.py +0 -0
  133. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/registry.py +0 -0
  134. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/sublime.py +0 -0
  135. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/vim.py +0 -0
  136. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/vscode.py +0 -0
  137. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/editors/zed.py +0 -0
  138. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/project.py +0 -0
  139. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/registry.py +0 -0
  140. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/skill/examples.md +0 -0
  141. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/__init__.py +0 -0
  142. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  143. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/base.py +0 -0
  144. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/gnome.py +0 -0
  145. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/iterm2.py +0 -0
  146. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/kitty.py +0 -0
  147. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/registry.py +0 -0
  148. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/tmux.py +0 -0
  149. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/warp.py +0 -0
  150. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/terminals/zellij.py +0 -0
  151. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/dev/worktree.py +0 -0
  152. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/example-config.toml +0 -0
  153. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/install/__init__.py +0 -0
  154. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/install/common.py +0 -0
  155. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/install/hotkeys.py +0 -0
  156. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/install/services.py +0 -0
  157. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_files.py +0 -0
  158. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_filters.py +0 -0
  159. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_git.py +0 -0
  160. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_indexer.py +0 -0
  161. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_ingest.py +0 -0
  162. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_persistence.py +0 -0
  163. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_prompt.py +0 -0
  164. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_retrieval.py +0 -0
  165. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_store.py +0 -0
  166. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_streaming.py +0 -0
  167. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/_tasks.py +0 -0
  168. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/api.py +0 -0
  169. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/client.py +0 -0
  170. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/engine.py +0 -0
  171. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/entities.py +0 -0
  172. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/memory/models.py +0 -0
  173. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/opts.py +0 -0
  174. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/py.typed +0 -0
  175. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_indexer.py +0 -0
  176. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_indexing.py +0 -0
  177. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_prompt.py +0 -0
  178. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_retriever.py +0 -0
  179. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_store.py +0 -0
  180. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/_utils.py +0 -0
  181. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/api.py +0 -0
  182. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/client.py +0 -0
  183. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/engine.py +0 -0
  184. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/rag/models.py +0 -0
  185. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  186. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/__init__.py +0 -0
  187. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/check_plugin_skill_sync.py +0 -0
  188. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  189. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  190. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  191. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  192. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  193. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  194. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  195. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  196. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  197. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  198. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  199. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  200. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  201. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  202. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-openwakeword.sh +0 -0
  203. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-piper-windows.ps1 +0 -0
  204. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-piper.sh +0 -0
  205. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-whisper-linux.sh +0 -0
  206. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-whisper-macos.sh +0 -0
  207. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-whisper-windows.ps1 +0 -0
  208. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run-whisper.sh +0 -0
  209. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/run_faster_whisper_server.py +0 -0
  210. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  211. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/setup-linux.sh +0 -0
  212. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  213. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/setup-macos.sh +0 -0
  214. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/setup-windows.ps1 +0 -0
  215. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  216. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/scripts/start-all-services.sh +0 -0
  217. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/__init__.py +0 -0
  218. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/common.py +0 -0
  219. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/model_manager.py +0 -0
  220. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/model_registry.py +0 -0
  221. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/proxy/__init__.py +0 -0
  222. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/proxy/api.py +0 -0
  223. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/streaming.py +0 -0
  224. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/__init__.py +0 -0
  225. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/api.py +0 -0
  226. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/backends/__init__.py +0 -0
  227. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/backends/base.py +0 -0
  228. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/backends/kokoro.py +0 -0
  229. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/backends/piper.py +0 -0
  230. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/model_manager.py +0 -0
  231. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/model_registry.py +0 -0
  232. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/tts/wyoming_handler.py +0 -0
  233. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/__init__.py +0 -0
  234. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/api.py +0 -0
  235. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/backends/__init__.py +0 -0
  236. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/backends/base.py +0 -0
  237. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  238. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/backends/mlx.py +0 -0
  239. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/languages.py +0 -0
  240. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/model_manager.py +0 -0
  241. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/model_registry.py +0 -0
  242. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  243. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/__init__.py +0 -0
  244. {agent_cli-0.66.2 → agent_cli-0.67.1}/agent_cli/services/llm.py +0 -0
  245. {agent_cli-0.66.2 → agent_cli-0.67.1}/docker/docker-compose.yml +0 -0
  246. {agent_cli-0.66.2 → agent_cli-0.67.1}/docker/transcription-proxy.Dockerfile +0 -0
  247. {agent_cli-0.66.2 → agent_cli-0.67.1}/docker/tts.Dockerfile +0 -0
  248. {agent_cli-0.66.2 → agent_cli-0.67.1}/docker/whisper.Dockerfile +0 -0
  249. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/CNAME +0 -0
  250. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/architecture/index.md +0 -0
  251. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/architecture/memory.md +0 -0
  252. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/architecture/rag.md +0 -0
  253. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/assistant.md +0 -0
  254. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/autocorrect.md +0 -0
  255. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/chat.md +0 -0
  256. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/config.md +0 -0
  257. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/dev.md +0 -0
  258. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/index.md +0 -0
  259. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/install-hotkeys.md +0 -0
  260. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/install-services.md +0 -0
  261. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/memory.md +0 -0
  262. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/rag-proxy.md +0 -0
  263. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/server/index.md +0 -0
  264. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/server/transcription-proxy.md +0 -0
  265. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/speak.md +0 -0
  266. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/start-services.md +0 -0
  267. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/transcribe.md +0 -0
  268. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/commands/voice-edit.md +0 -0
  269. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/configuration.md +0 -0
  270. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/iOS_Shortcut_Guide.md +0 -0
  271. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/logo-clean.svg +0 -0
  272. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  273. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/run_markdown_code_runner.py +0 -0
  274. {agent_cli-0.66.2 → agent_cli-0.67.1}/docs/system-integration.md +0 -0
  275. {agent_cli-0.66.2 → agent_cli-0.67.1}/example.agent-cli-config.toml +0 -0
  276. {agent_cli-0.66.2 → agent_cli-0.67.1}/justfile +0 -0
  277. {agent_cli-0.66.2 → agent_cli-0.67.1}/shell.nix +0 -0
  278. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/__init__.py +0 -0
  279. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/__init__.py +0 -0
  280. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_fix_my_text.py +0 -0
  281. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_interactive.py +0 -0
  282. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_interactive_extra.py +0 -0
  283. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_memory_add.py +0 -0
  284. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_speak.py +0 -0
  285. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_speak_e2e.py +0 -0
  286. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_transcribe.py +0 -0
  287. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_transcribe_agent.py +0 -0
  288. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_transcribe_daemon.py +0 -0
  289. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_transcribe_e2e.py +0 -0
  290. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_transcribe_recovery.py +0 -0
  291. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_tts_common.py +0 -0
  292. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_tts_common_extra.py +0 -0
  293. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_voice_agent_common.py +0 -0
  294. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_voice_edit.py +0 -0
  295. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_voice_edit_e2e.py +0 -0
  296. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/agents/test_wake_word_assistant.py +0 -0
  297. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/__init__.py +0 -0
  298. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/test_audio_format.py +0 -0
  299. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/test_chroma.py +0 -0
  300. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/test_sse.py +0 -0
  301. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/test_vad.py +0 -0
  302. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/core/test_watch.py +0 -0
  303. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/__init__.py +0 -0
  304. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_cli.py +0 -0
  305. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_coding_agents.py +0 -0
  306. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_editors.py +0 -0
  307. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_project.py +0 -0
  308. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_terminals.py +0 -0
  309. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_verification.py +0 -0
  310. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/dev/test_worktree.py +0 -0
  311. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/install/__init__.py +0 -0
  312. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/__init__.py +0 -0
  313. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_api_health.py +0 -0
  314. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_api_integration_liveish.py +0 -0
  315. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_client.py +0 -0
  316. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_engine.py +0 -0
  317. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_files.py +0 -0
  318. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_filters.py +0 -0
  319. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_git_integration.py +0 -0
  320. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_indexer.py +0 -0
  321. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_memory_integration.py +0 -0
  322. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_proxy_passthrough.py +0 -0
  323. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_store.py +0 -0
  324. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/memory/test_utils.py +0 -0
  325. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/mocks/__init__.py +0 -0
  326. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/mocks/audio.py +0 -0
  327. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/mocks/llm.py +0 -0
  328. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/mocks/wyoming.py +0 -0
  329. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/__init__.py +0 -0
  330. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_api.py +0 -0
  331. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_engine.py +0 -0
  332. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_history.py +0 -0
  333. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_indexer.py +0 -0
  334. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_indexing.py +0 -0
  335. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_rag_client.py +0 -0
  336. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_rag_integration_liveish.py +0 -0
  337. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  338. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_retriever.py +0 -0
  339. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_store.py +0 -0
  340. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/rag/test_utils.py +0 -0
  341. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_api.py +0 -0
  342. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_api_integration.py +0 -0
  343. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_asr.py +0 -0
  344. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_asr_recovery.py +0 -0
  345. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_audio_e2e.py +0 -0
  346. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_cli.py +0 -0
  347. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_config.py +0 -0
  348. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_config_cmd.py +0 -0
  349. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_docs_gen.py +0 -0
  350. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_env_vars.py +0 -0
  351. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_json_output.py +0 -0
  352. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_llm.py +0 -0
  353. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_llm_gemini.py +0 -0
  354. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_memory_tools.py +0 -0
  355. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_mlx_backend.py +0 -0
  356. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_process_manager.py +0 -0
  357. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_server_streaming.py +0 -0
  358. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_server_tts.py +0 -0
  359. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_server_whisper.py +0 -0
  360. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_services.py +0 -0
  361. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_tools.py +0 -0
  362. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_tts.py +0 -0
  363. {agent_cli-0.66.2 → agent_cli-0.67.1}/tests/test_utils.py +0 -0
  364. {agent_cli-0.66.2 → agent_cli-0.67.1}/zensical.toml +0 -0
@@ -13,10 +13,10 @@ If `agent-cli` is not available, install it first:
13
13
 
14
14
  ```bash
15
15
  # Install globally
16
- uv tool install agent-cli
16
+ uv tool install agent-cli -p 3.13
17
17
 
18
18
  # Or run directly without installing
19
- uvx agent-cli dev new <branch-name> --agent --prompt "..."
19
+ uvx --python 3.13 agent-cli dev new <branch-name> --agent --prompt "..."
20
20
  ```
21
21
 
22
22
  ## When to spawn parallel agents
@@ -17,10 +17,10 @@ The plugin provides a skill that enables Claude Code to:
17
17
 
18
18
  ```bash
19
19
  # Using uv (recommended)
20
- uv tool install agent-cli
20
+ uv tool install agent-cli -p 3.13
21
21
 
22
22
  # Or run directly without installing
23
- uvx agent-cli dev new my-feature --agent --prompt "..."
23
+ uvx --python 3.13 agent-cli dev new my-feature --agent --prompt "..."
24
24
  ```
25
25
 
26
26
  ### Install the Claude Code plugin
@@ -13,10 +13,10 @@ If `agent-cli` is not available, install it first:
13
13
 
14
14
  ```bash
15
15
  # Install globally
16
- uv tool install agent-cli
16
+ uv tool install agent-cli -p 3.13
17
17
 
18
18
  # Or run directly without installing
19
- uvx agent-cli dev new <branch-name> --agent --prompt "..."
19
+ uvx --python 3.13 agent-cli dev new <branch-name> --agent --prompt "..."
20
20
  ```
21
21
 
22
22
  ## When to spawn parallel agents
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env python3
2
+ """Check that _extras.json is in sync with pyproject.toml.
3
+
4
+ This pre-commit hook verifies that:
5
+ 1. All extras in pyproject.toml (except dev/test) are in _extras.json
6
+ 2. All extras in _extras.json exist in pyproject.toml
7
+
8
+ Usage:
9
+ python .github/scripts/check_extras_sync.py
10
+ """
11
+
12
+ from __future__ import annotations
13
+
14
+ import json
15
+ import sys
16
+ import tomllib
17
+ from pathlib import Path
18
+
19
+ REPO_ROOT = Path(__file__).parent.parent.parent
20
+ PYPROJECT = REPO_ROOT / "pyproject.toml"
21
+ EXTRAS_FILE = REPO_ROOT / "agent_cli" / "_extras.json"
22
+
23
+ # Extras to skip (dev/test dependencies, not runtime installable)
24
+ SKIP_EXTRAS = {"dev", "test"}
25
+
26
+
27
+ def get_extras_from_pyproject() -> set[str]:
28
+ """Parse optional-dependencies from pyproject.toml."""
29
+ with PYPROJECT.open("rb") as f:
30
+ data = tomllib.load(f)
31
+ all_extras = set(data.get("project", {}).get("optional-dependencies", {}).keys())
32
+ return all_extras - SKIP_EXTRAS
33
+
34
+
35
+ def get_extras_from_source() -> set[str]:
36
+ """Get extras from agent_cli/_extras.json."""
37
+ if not EXTRAS_FILE.exists():
38
+ return set()
39
+ return set(json.loads(EXTRAS_FILE.read_text()).keys())
40
+
41
+
42
+ def main() -> int:
43
+ """Check that extras are in sync."""
44
+ pyproject_extras = get_extras_from_pyproject()
45
+ source_extras = get_extras_from_source()
46
+
47
+ errors = []
48
+
49
+ # Check for extras in pyproject.toml but not in _extras.json
50
+ missing_in_source = pyproject_extras - source_extras
51
+ if missing_in_source:
52
+ errors.append(
53
+ f"Extras in pyproject.toml but not in _extras.json: {sorted(missing_in_source)}",
54
+ )
55
+
56
+ # Check for extras in _extras.json but not in pyproject.toml
57
+ extra_in_source = source_extras - pyproject_extras
58
+ if extra_in_source:
59
+ errors.append(
60
+ f"Extras in _extras.json but not in pyproject.toml: {sorted(extra_in_source)}",
61
+ )
62
+
63
+ if errors:
64
+ print("ERROR: _extras.json is out of sync with pyproject.toml")
65
+ for error in errors:
66
+ print(f" - {error}")
67
+ print("\nRun 'python scripts/sync_extras.py' to regenerate _extras.json")
68
+ return 1
69
+
70
+ print("OK: _extras.json is in sync with pyproject.toml")
71
+ return 0
72
+
73
+
74
+ if __name__ == "__main__":
75
+ sys.exit(main())
@@ -28,8 +28,12 @@ jobs:
28
28
  run: sudo apt-get update && sudo apt-get install -y portaudio19-dev
29
29
  - name: Install uv
30
30
  uses: astral-sh/setup-uv@v7
31
- - name: Run pytest
31
+ - name: Run pytest (macOS - all extras)
32
+ if: matrix.os == 'macos-latest'
32
33
  run: uv run --all-extras pytest -vvv
34
+ - name: Run pytest (non-macOS - exclude mlx-whisper)
35
+ if: matrix.os != 'macos-latest'
36
+ run: uv run --extra audio --extra llm --extra rag --extra memory --extra vad --extra faster-whisper --extra piper --extra kokoro --extra server --extra speed --extra test pytest -vvv
33
37
  - name: Upload coverage reports to Codecov
34
38
  if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
35
39
  uses: codecov/codecov-action@v5
@@ -55,3 +55,9 @@ repos:
55
55
  additional_dependencies: ["uv"]
56
56
  pass_filenames: false
57
57
  files: (pyproject\.toml|uv\.lock)
58
+ - id: check-extras-sync
59
+ name: check extras in sync with pyproject.toml
60
+ entry: python .github/scripts/check_extras_sync.py
61
+ language: python
62
+ pass_filenames: false
63
+ files: ^(pyproject\.toml|agent_cli/_extras\.json)$
@@ -1,26 +1,25 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.66.2
3
+ Version: 0.67.1
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>
7
7
  License-File: LICENSE
8
8
  Requires-Python: <3.14,>=3.11
9
9
  Requires-Dist: dotenv
10
- Requires-Dist: google-genai>=1.25.0
11
10
  Requires-Dist: httpx
12
- Requires-Dist: numpy
13
- Requires-Dist: openai
14
11
  Requires-Dist: psutil; sys_platform == 'win32'
15
- Requires-Dist: pydantic-ai-slim[duckduckgo,openai,vertexai]
12
+ Requires-Dist: pydantic
16
13
  Requires-Dist: pyperclip
17
14
  Requires-Dist: rich
18
15
  Requires-Dist: setproctitle
19
- Requires-Dist: sounddevice
20
16
  Requires-Dist: typer
21
- Requires-Dist: wyoming
17
+ Provides-Extra: audio
18
+ Requires-Dist: numpy; extra == 'audio'
19
+ Requires-Dist: sounddevice>=0.4.6; extra == 'audio'
20
+ Requires-Dist: wyoming>=1.5.2; extra == 'audio'
22
21
  Provides-Extra: dev
23
- Requires-Dist: markdown-code-runner; extra == 'dev'
22
+ Requires-Dist: markdown-code-runner>=2.7.0; extra == 'dev'
24
23
  Requires-Dist: notebook; extra == 'dev'
25
24
  Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
26
25
  Requires-Dist: pydantic-ai-slim[openai]; extra == 'dev'
@@ -32,6 +31,18 @@ Requires-Dist: pytest-timeout; extra == 'dev'
32
31
  Requires-Dist: pytest>=7.0.0; extra == 'dev'
33
32
  Requires-Dist: ruff; extra == 'dev'
34
33
  Requires-Dist: versioningit; extra == 'dev'
34
+ Provides-Extra: faster-whisper
35
+ Requires-Dist: fastapi[standard]; extra == 'faster-whisper'
36
+ Requires-Dist: faster-whisper>=1.0.0; extra == 'faster-whisper'
37
+ Provides-Extra: kokoro
38
+ Requires-Dist: fastapi[standard]; extra == 'kokoro'
39
+ Requires-Dist: huggingface-hub>=0.20.0; extra == 'kokoro'
40
+ Requires-Dist: kokoro>=0.9.0; extra == 'kokoro'
41
+ Requires-Dist: pip; extra == 'kokoro'
42
+ Requires-Dist: soundfile>=0.12.0; extra == 'kokoro'
43
+ Requires-Dist: transformers>=4.40.0; extra == 'kokoro'
44
+ Provides-Extra: llm
45
+ Requires-Dist: pydantic-ai-slim[duckduckgo,google,openai,vertexai]>=0.1.1; extra == 'llm'
35
46
  Provides-Extra: memory
36
47
  Requires-Dist: chromadb>=0.4.22; extra == 'memory'
37
48
  Requires-Dist: fastapi[standard]; extra == 'memory'
@@ -40,6 +51,12 @@ Requires-Dist: onnxruntime>=1.17.0; extra == 'memory'
40
51
  Requires-Dist: pyyaml>=6.0.0; extra == 'memory'
41
52
  Requires-Dist: transformers>=4.30.0; extra == 'memory'
42
53
  Requires-Dist: watchfiles>=0.21.0; extra == 'memory'
54
+ Provides-Extra: mlx-whisper
55
+ Requires-Dist: fastapi[standard]; extra == 'mlx-whisper'
56
+ Requires-Dist: mlx-whisper>=0.4.0; extra == 'mlx-whisper'
57
+ Provides-Extra: piper
58
+ Requires-Dist: fastapi[standard]; extra == 'piper'
59
+ Requires-Dist: piper-tts>=1.2.0; extra == 'piper'
43
60
  Provides-Extra: rag
44
61
  Requires-Dist: chromadb>=0.4.22; extra == 'rag'
45
62
  Requires-Dist: fastapi[standard]; extra == 'rag'
@@ -59,24 +76,8 @@ Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
59
76
  Requires-Dist: pytest-mock; extra == 'test'
60
77
  Requires-Dist: pytest-timeout; extra == 'test'
61
78
  Requires-Dist: pytest>=7.0.0; extra == 'test'
62
- Provides-Extra: tts
63
- Requires-Dist: fastapi[standard]; extra == 'tts'
64
- Requires-Dist: piper-tts>=1.2.0; extra == 'tts'
65
- Provides-Extra: tts-kokoro
66
- Requires-Dist: fastapi[standard]; extra == 'tts-kokoro'
67
- Requires-Dist: huggingface-hub>=0.20.0; extra == 'tts-kokoro'
68
- Requires-Dist: kokoro>=0.9.0; extra == 'tts-kokoro'
69
- Requires-Dist: pip; extra == 'tts-kokoro'
70
- Requires-Dist: soundfile>=0.12.0; extra == 'tts-kokoro'
71
- Requires-Dist: transformers>=4.40.0; extra == 'tts-kokoro'
72
79
  Provides-Extra: vad
73
80
  Requires-Dist: silero-vad>=5.1; extra == 'vad'
74
- Provides-Extra: whisper
75
- Requires-Dist: fastapi[standard]; extra == 'whisper'
76
- Requires-Dist: faster-whisper>=1.0.0; extra == 'whisper'
77
- Provides-Extra: whisper-mlx
78
- Requires-Dist: fastapi[standard]; extra == 'whisper-mlx'
79
- Requires-Dist: mlx-whisper>=0.4.0; (sys_platform == 'darwin' and platform_machine == 'arm64') and extra == 'whisper-mlx'
80
81
  Description-Content-Type: text/markdown
81
82
 
82
83
  # Agent CLI
@@ -130,7 +131,7 @@ Since then I have expanded the tool with many more features, all focused on loca
130
131
  - **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
131
132
  - **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
132
133
  - **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
133
- - **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
134
+ - **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]" -p 3.13`.
134
135
 
135
136
  ## Quick Start
136
137
 
@@ -140,12 +141,16 @@ If you already have AI services running (or plan to use OpenAI), simply install:
140
141
 
141
142
  ```bash
142
143
  # Using uv (recommended)
143
- uv tool install agent-cli
144
+ uv tool install agent-cli -p 3.13
144
145
 
145
146
  # Using pip
146
147
  pip install agent-cli
147
148
  ```
148
149
 
150
+ > [!NOTE]
151
+ > The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
152
+ > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
153
+
149
154
  Then use it:
150
155
  ```bash
151
156
  agent-cli autocorrect "this has an eror"
@@ -179,12 +184,12 @@ agent-cli autocorrect "this has an eror"
179
184
 
180
185
  > [!NOTE]
181
186
  > `agent-cli` uses `sounddevice` for real-time microphone/voice features.
182
- > On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli`.
187
+ > On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli -p 3.13`.
183
188
  > On Windows and macOS, this is handled automatically.
184
189
 
185
190
  ```bash
186
191
  # 1. Install agent-cli
187
- uv tool install agent-cli
192
+ uv tool install agent-cli -p 3.13
188
193
 
189
194
  # 2. Install all required services
190
195
  agent-cli install-services
@@ -265,7 +270,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
265
270
 
266
271
  ```bash
267
272
  # Using uv (recommended)
268
- uv tool install agent-cli
273
+ uv tool install agent-cli -p 3.13
269
274
 
270
275
  # Using pip
271
276
  pip install agent-cli
@@ -829,7 +834,7 @@ the `[defaults]` section of your configuration file.
829
834
 
830
835
  **Installation:** Requires the `vad` extra:
831
836
  ```bash
832
- uv tool install "agent-cli[vad]"
837
+ uv tool install "agent-cli[vad]" -p 3.13
833
838
  ```
834
839
 
835
840
  **How to Use It:**
@@ -49,7 +49,7 @@ Since then I have expanded the tool with many more features, all focused on loca
49
49
  - **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
50
50
  - **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
51
51
  - **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
52
- - **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
52
+ - **[`transcribe-daemon`](docs/commands/transcribe-daemon.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]" -p 3.13`.
53
53
 
54
54
  ## Quick Start
55
55
 
@@ -59,12 +59,16 @@ If you already have AI services running (or plan to use OpenAI), simply install:
59
59
 
60
60
  ```bash
61
61
  # Using uv (recommended)
62
- uv tool install agent-cli
62
+ uv tool install agent-cli -p 3.13
63
63
 
64
64
  # Using pip
65
65
  pip install agent-cli
66
66
  ```
67
67
 
68
+ > [!NOTE]
69
+ > The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
70
+ > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
71
+
68
72
  Then use it:
69
73
  ```bash
70
74
  agent-cli autocorrect "this has an eror"
@@ -98,12 +102,12 @@ agent-cli autocorrect "this has an eror"
98
102
 
99
103
  > [!NOTE]
100
104
  > `agent-cli` uses `sounddevice` for real-time microphone/voice features.
101
- > On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli`.
105
+ > On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli -p 3.13`.
102
106
  > On Windows and macOS, this is handled automatically.
103
107
 
104
108
  ```bash
105
109
  # 1. Install agent-cli
106
- uv tool install agent-cli
110
+ uv tool install agent-cli -p 3.13
107
111
 
108
112
  # 2. Install all required services
109
113
  agent-cli install-services
@@ -184,7 +188,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
184
188
 
185
189
  ```bash
186
190
  # Using uv (recommended)
187
- uv tool install agent-cli
191
+ uv tool install agent-cli -p 3.13
188
192
 
189
193
  # Using pip
190
194
  pip install agent-cli
@@ -748,7 +752,7 @@ the `[defaults]` section of your configuration file.
748
752
 
749
753
  **Installation:** Requires the `vad` extra:
750
754
  ```bash
751
- uv tool install "agent-cli[vad]"
755
+ uv tool install "agent-cli[vad]" -p 3.13
752
756
  ```
753
757
 
754
758
  **How to Use It:**
@@ -0,0 +1,13 @@
1
+ {
2
+ "audio": ["Audio recording/playback with Wyoming protocol", ["numpy", "sounddevice", "wyoming"]],
3
+ "llm": ["LLM framework (pydantic-ai)", ["pydantic_ai"]],
4
+ "memory": ["Long-term memory proxy", ["chromadb", "yaml"]],
5
+ "rag": ["RAG proxy (ChromaDB, embeddings)", ["chromadb"]],
6
+ "server": ["FastAPI server components", ["fastapi"]],
7
+ "speed": ["Audio speed adjustment (audiostretchy)", ["audiostretchy"]],
8
+ "piper": ["Local Piper TTS", ["piper"]],
9
+ "kokoro": ["Kokoro neural TTS", ["kokoro"]],
10
+ "vad": ["Voice Activity Detection (silero-vad)", ["silero_vad"]],
11
+ "faster-whisper": ["Whisper ASR (CUDA/CPU)", ["faster_whisper"]],
12
+ "mlx-whisper": ["Whisper ASR (Apple Silicon)", ["mlx_whisper"]]
13
+ }
@@ -0,0 +1,71 @@
1
+ # This file was autogenerated by uv via the following command:
2
+ # uv export --extra audio --no-dev --no-emit-project --no-hashes
3
+ annotated-types==0.7.0
4
+ # via pydantic
5
+ anyio==4.12.1
6
+ # via httpx
7
+ certifi==2026.1.4
8
+ # via
9
+ # httpcore
10
+ # httpx
11
+ cffi==2.0.0
12
+ # via sounddevice
13
+ click==8.3.1
14
+ # via typer
15
+ colorama==0.4.6 ; sys_platform == 'win32'
16
+ # via click
17
+ dotenv==0.9.9
18
+ # via agent-cli
19
+ h11==0.16.0
20
+ # via httpcore
21
+ httpcore==1.0.9
22
+ # via httpx
23
+ httpx==0.28.1
24
+ # via agent-cli
25
+ idna==3.11
26
+ # via
27
+ # anyio
28
+ # httpx
29
+ markdown-it-py==4.0.0
30
+ # via rich
31
+ mdurl==0.1.2
32
+ # via markdown-it-py
33
+ numpy==2.3.5
34
+ # via agent-cli
35
+ psutil==7.2.1 ; sys_platform == 'win32'
36
+ # via agent-cli
37
+ pycparser==2.23 ; implementation_name != 'PyPy'
38
+ # via cffi
39
+ pydantic==2.12.5
40
+ # via agent-cli
41
+ pydantic-core==2.41.5
42
+ # via pydantic
43
+ pygments==2.19.2
44
+ # via rich
45
+ pyperclip==1.11.0
46
+ # via agent-cli
47
+ python-dotenv==1.2.1
48
+ # via dotenv
49
+ rich==14.2.0
50
+ # via
51
+ # agent-cli
52
+ # typer
53
+ setproctitle==1.3.7
54
+ # via agent-cli
55
+ shellingham==1.5.4
56
+ # via typer
57
+ sounddevice==0.5.3
58
+ # via agent-cli
59
+ typer==0.21.1
60
+ # via agent-cli
61
+ typing-extensions==4.15.0
62
+ # via
63
+ # anyio
64
+ # pydantic
65
+ # pydantic-core
66
+ # typer
67
+ # typing-inspection
68
+ typing-inspection==0.4.2
69
+ # via pydantic
70
+ wyoming==1.8.0
71
+ # via agent-cli