agent-cli 0.95.11__tar.gz → 0.95.13__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 (439) hide show
  1. {agent_cli-0.95.11 → agent_cli-0.95.13}/Casks/agent-cli.rb +2 -2
  2. {agent_cli-0.95.11 → agent_cli-0.95.13}/PKG-INFO +36 -1
  3. {agent_cli-0.95.11 → agent_cli-0.95.13}/README.md +34 -0
  4. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/faster-whisper.txt +3 -1
  5. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/getting-started.md +14 -2
  6. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/index.md +12 -0
  7. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/index.md +14 -2
  8. agent_cli-0.95.13/docs/installation/macos-app.md +94 -0
  9. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/macos.md +3 -0
  10. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/system-integration.md +11 -0
  11. agent_cli-0.95.13/macos/AgentCLI/Sources/AgentCLI/VoiceStatusMenuItem.swift +10 -0
  12. agent_cli-0.95.13/macos/appcast.xml +57 -0
  13. {agent_cli-0.95.11 → agent_cli-0.95.13}/pyproject.toml +1 -1
  14. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_cli.py +7 -0
  15. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_macos_app.py +15 -17
  16. {agent_cli-0.95.11 → agent_cli-0.95.13}/uv.lock +2 -0
  17. {agent_cli-0.95.11 → agent_cli-0.95.13}/zensical.toml +1 -0
  18. agent_cli-0.95.11/macos/AgentCLI/Sources/AgentCLI/VoiceStatusMenuItem.swift +0 -60
  19. agent_cli-0.95.11/macos/appcast.xml +0 -26
  20. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
  21. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude/skills/agent-cli-dev/examples.md +0 -0
  22. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude-plugin/README.md +0 -0
  23. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude-plugin/marketplace.json +0 -0
  24. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude-plugin/plugin.json +0 -0
  25. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
  26. {agent_cli-0.95.11 → agent_cli-0.95.13}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  27. {agent_cli-0.95.11 → agent_cli-0.95.13}/.cursorrules +0 -0
  28. {agent_cli-0.95.11 → agent_cli-0.95.13}/.dockerignore +0 -0
  29. {agent_cli-0.95.11 → agent_cli-0.95.13}/.env.example +0 -0
  30. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/logo.svg +0 -0
  31. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/release-drafter.yml +0 -0
  32. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/renovate.json +0 -0
  33. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/scripts/check_extras_sync.py +0 -0
  34. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/scripts/check_plugin_skill_sync.py +0 -0
  35. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/scripts/sync_extras.py +0 -0
  36. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/scripts/sync_requirements.py +0 -0
  37. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/scripts/update_cask.py +0 -0
  38. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/automerge.yml +0 -0
  39. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/docker.yml +0 -0
  40. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/docs.yml +0 -0
  41. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/markdown-code-runner.yml +0 -0
  42. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/pytest.yml +0 -0
  43. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/release-drafter.yml +0 -0
  44. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/release.yml +0 -0
  45. {agent_cli-0.95.11 → agent_cli-0.95.13}/.github/workflows/toc.yaml +0 -0
  46. {agent_cli-0.95.11 → agent_cli-0.95.13}/.gitignore +0 -0
  47. {agent_cli-0.95.11 → agent_cli-0.95.13}/.jscpd.json +0 -0
  48. {agent_cli-0.95.11 → agent_cli-0.95.13}/.pre-commit-config.yaml +0 -0
  49. {agent_cli-0.95.11 → agent_cli-0.95.13}/.prompts/docs-review.md +0 -0
  50. {agent_cli-0.95.11 → agent_cli-0.95.13}/.prompts/pr-review.md +0 -0
  51. {agent_cli-0.95.11 → agent_cli-0.95.13}/CLAUDE.md +0 -0
  52. {agent_cli-0.95.11 → agent_cli-0.95.13}/LICENSE +0 -0
  53. {agent_cli-0.95.11 → agent_cli-0.95.13}/LLAMA_SERVER_USAGE.md +0 -0
  54. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/__init__.py +0 -0
  55. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/__main__.py +0 -0
  56. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_extras.json +0 -0
  57. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/.gitkeep +0 -0
  58. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/audio.txt +0 -0
  59. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/diarization.txt +0 -0
  60. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/kokoro.txt +0 -0
  61. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/llm.txt +0 -0
  62. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/memory.txt +0 -0
  63. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/mlx-whisper.txt +0 -0
  64. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/piper.txt +0 -0
  65. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/rag.txt +0 -0
  66. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/server.txt +0 -0
  67. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/speed.txt +0 -0
  68. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/vad.txt +0 -0
  69. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/vectordb.txt +0 -0
  70. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/whisper-transformers.txt +0 -0
  71. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_requirements/wyoming.txt +0 -0
  72. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/_tools.py +0 -0
  73. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/__init__.py +0 -0
  74. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/_voice_agent_common.py +0 -0
  75. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/assistant.py +0 -0
  76. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/autocorrect.py +0 -0
  77. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/chat.py +0 -0
  78. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/diarize_live_session.py +0 -0
  79. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/memory/__init__.py +0 -0
  80. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/memory/add.py +0 -0
  81. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/memory/proxy.py +0 -0
  82. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/rag_proxy.py +0 -0
  83. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/speak.py +0 -0
  84. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/speakers.py +0 -0
  85. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/transcribe.py +0 -0
  86. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/transcribe_live.py +0 -0
  87. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/agents/voice_edit.py +0 -0
  88. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/api.py +0 -0
  89. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/cli.py +0 -0
  90. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/config.py +0 -0
  91. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/config_cmd.py +0 -0
  92. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/constants.py +0 -0
  93. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/__init__.py +0 -0
  94. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/alignment.py +0 -0
  95. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/audio.py +0 -0
  96. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/audio_format.py +0 -0
  97. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/chroma.py +0 -0
  98. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/deps.py +0 -0
  99. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/diarization.py +0 -0
  100. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/openai_proxy.py +0 -0
  101. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/process.py +0 -0
  102. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/reranker.py +0 -0
  103. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/speaker_identity.py +0 -0
  104. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/sse.py +0 -0
  105. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/transcription_logger.py +0 -0
  106. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/utils.py +0 -0
  107. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/vad.py +0 -0
  108. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/core/watch.py +0 -0
  109. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/daemon/__init__.py +0 -0
  110. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/daemon/cli.py +0 -0
  111. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/__init__.py +0 -0
  112. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/_branch_name.py +0 -0
  113. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/_config.py +0 -0
  114. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/_output.py +0 -0
  115. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/cleanup.py +0 -0
  116. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/cli.py +0 -0
  117. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/__init__.py +0 -0
  118. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/aider.py +0 -0
  119. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/base.py +0 -0
  120. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/claude.py +0 -0
  121. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/codex.py +0 -0
  122. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  123. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/copilot.py +0 -0
  124. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  125. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/gemini.py +0 -0
  126. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/opencode.py +0 -0
  127. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/coding_agents/registry.py +0 -0
  128. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/__init__.py +0 -0
  129. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/base.py +0 -0
  130. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/cursor.py +0 -0
  131. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/emacs.py +0 -0
  132. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/jetbrains.py +0 -0
  133. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/nano.py +0 -0
  134. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/neovim.py +0 -0
  135. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/registry.py +0 -0
  136. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/sublime.py +0 -0
  137. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/vim.py +0 -0
  138. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/vscode.py +0 -0
  139. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/editors/zed.py +0 -0
  140. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/hooks.py +0 -0
  141. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/launch.py +0 -0
  142. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/project.py +0 -0
  143. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/registry.py +0 -0
  144. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/skill/SKILL.md +0 -0
  145. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/skill/examples.md +0 -0
  146. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/__init__.py +0 -0
  147. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  148. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/base.py +0 -0
  149. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/gnome.py +0 -0
  150. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/iterm2.py +0 -0
  151. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/kitty.py +0 -0
  152. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/registry.py +0 -0
  153. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/tmux.py +0 -0
  154. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/warp.py +0 -0
  155. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/terminals/zellij.py +0 -0
  156. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/dev/worktree.py +0 -0
  157. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/docs_gen.py +0 -0
  158. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/example-config.toml +0 -0
  159. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/__init__.py +0 -0
  160. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/common.py +0 -0
  161. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/extras.py +0 -0
  162. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/hotkeys.py +0 -0
  163. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/launchd.py +0 -0
  164. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/service_config.py +0 -0
  165. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/services.py +0 -0
  166. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/install/systemd.py +0 -0
  167. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/__init__.py +0 -0
  168. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_files.py +0 -0
  169. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_filters.py +0 -0
  170. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_git.py +0 -0
  171. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_indexer.py +0 -0
  172. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_ingest.py +0 -0
  173. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_persistence.py +0 -0
  174. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_prompt.py +0 -0
  175. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_retrieval.py +0 -0
  176. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_store.py +0 -0
  177. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_streaming.py +0 -0
  178. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/_tasks.py +0 -0
  179. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/api.py +0 -0
  180. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/client.py +0 -0
  181. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/engine.py +0 -0
  182. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/entities.py +0 -0
  183. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/memory/models.py +0 -0
  184. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/opts.py +0 -0
  185. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/py.typed +0 -0
  186. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/__init__.py +0 -0
  187. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_indexer.py +0 -0
  188. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_indexing.py +0 -0
  189. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_prompt.py +0 -0
  190. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_retriever.py +0 -0
  191. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_store.py +0 -0
  192. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/_utils.py +0 -0
  193. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/api.py +0 -0
  194. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/client.py +0 -0
  195. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/engine.py +0 -0
  196. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/rag/models.py +0 -0
  197. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  198. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/__init__.py +0 -0
  199. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  200. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  201. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  202. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  203. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  204. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  205. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  206. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  207. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  208. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  209. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  210. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  211. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  212. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  213. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/run-openwakeword.sh +0 -0
  214. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  215. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/setup-linux.sh +0 -0
  216. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  217. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/setup-macos.sh +0 -0
  218. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/setup-windows.ps1 +0 -0
  219. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  220. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/scripts/start-all-services.sh +0 -0
  221. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/__init__.py +0 -0
  222. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/cli.py +0 -0
  223. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/common.py +0 -0
  224. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/model_manager.py +0 -0
  225. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/model_registry.py +0 -0
  226. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/proxy/__init__.py +0 -0
  227. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/proxy/api.py +0 -0
  228. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/streaming.py +0 -0
  229. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/__init__.py +0 -0
  230. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/api.py +0 -0
  231. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/backends/__init__.py +0 -0
  232. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/backends/base.py +0 -0
  233. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/backends/kokoro.py +0 -0
  234. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/backends/piper.py +0 -0
  235. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/model_manager.py +0 -0
  236. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/model_registry.py +0 -0
  237. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/tts/wyoming_handler.py +0 -0
  238. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/__init__.py +0 -0
  239. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/api.py +0 -0
  240. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/backends/__init__.py +0 -0
  241. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/backends/base.py +0 -0
  242. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  243. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/backends/mlx.py +0 -0
  244. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/backends/transformers.py +0 -0
  245. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/languages.py +0 -0
  246. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/model_manager.py +0 -0
  247. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/model_registry.py +0 -0
  248. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  249. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/__init__.py +0 -0
  250. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/_wyoming_utils.py +0 -0
  251. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/asr.py +0 -0
  252. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/llm.py +0 -0
  253. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/tts.py +0 -0
  254. {agent_cli-0.95.11 → agent_cli-0.95.13}/agent_cli/services/wake_word.py +0 -0
  255. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/docker-compose.yml +0 -0
  256. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/memory-proxy.Dockerfile +0 -0
  257. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/rag-proxy.Dockerfile +0 -0
  258. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/transcribe-proxy.Dockerfile +0 -0
  259. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/tts.Dockerfile +0 -0
  260. {agent_cli-0.95.11 → agent_cli-0.95.13}/docker/whisper.Dockerfile +0 -0
  261. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/CNAME +0 -0
  262. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/architecture/index.md +0 -0
  263. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/architecture/memory.md +0 -0
  264. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/architecture/rag.md +0 -0
  265. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/assistant.md +0 -0
  266. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/autocorrect.md +0 -0
  267. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/chat.md +0 -0
  268. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/config.md +0 -0
  269. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/daemon.md +0 -0
  270. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/dev.md +0 -0
  271. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/diarize-live-session.md +0 -0
  272. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/index.md +0 -0
  273. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/install-extras.md +0 -0
  274. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/install-hotkeys.md +0 -0
  275. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/install-services.md +0 -0
  276. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/memory.md +0 -0
  277. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/rag-proxy.md +0 -0
  278. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/server/index.md +0 -0
  279. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/server/transcribe-proxy.md +0 -0
  280. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/server/tts.md +0 -0
  281. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/server/whisper.md +0 -0
  282. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/speak.md +0 -0
  283. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/speakers.md +0 -0
  284. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/start-services.md +0 -0
  285. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/transcribe-live.md +0 -0
  286. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/transcribe.md +0 -0
  287. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/commands/voice-edit.md +0 -0
  288. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/configuration.md +0 -0
  289. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/iOS_Shortcut_Guide.md +0 -0
  290. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/docker.md +0 -0
  291. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/linux.md +0 -0
  292. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/nixos.md +0 -0
  293. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/installation/windows.md +0 -0
  294. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/logo-avatar.svg +0 -0
  295. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/logo-clean.svg +0 -0
  296. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  297. {agent_cli-0.95.11 → agent_cli-0.95.13}/docs/run_markdown_code_runner.py +0 -0
  298. {agent_cli-0.95.11 → agent_cli-0.95.13}/example.agent-cli-config.toml +0 -0
  299. {agent_cli-0.95.11 → agent_cli-0.95.13}/justfile +0 -0
  300. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Package.resolved +0 -0
  301. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Package.swift +0 -0
  302. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/README.md +0 -0
  303. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Resources/AgentCLI.entitlements +0 -0
  304. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Resources/Info.plist +0 -0
  305. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Resources/dmg-background.svg +0 -0
  306. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AgentCLIApp.swift +0 -0
  307. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AgentCommand.swift +0 -0
  308. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AgentCommandRunner.swift +0 -0
  309. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AgentRuntime.swift +0 -0
  310. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AppDelegate.swift +0 -0
  311. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AppMetadata.swift +0 -0
  312. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/AppUpdater.swift +0 -0
  313. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/BootstrapState.swift +0 -0
  314. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/CommandResult.swift +0 -0
  315. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/ConfigurableHotkeyController.swift +0 -0
  316. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/FocusedTextTarget.swift +0 -0
  317. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/LoginItemController.swift +0 -0
  318. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/MenuBarIcon.swift +0 -0
  319. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/RecentTranscriptionReader.swift +0 -0
  320. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/RecordingIndicatorController.swift +0 -0
  321. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/RecordingSoundSettings.swift +0 -0
  322. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/RuntimeSettings.swift +0 -0
  323. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/Shortcuts.swift +0 -0
  324. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/TranscriptPasteController.swift +0 -0
  325. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/TranscriptionSettings.swift +0 -0
  326. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Sources/AgentCLI/VoiceLevelOverlay.swift +0 -0
  327. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Tests/AgentCLITests/AgentCommandTests.swift +0 -0
  328. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Tests/AgentCLITests/LoginItemControllerTests.swift +0 -0
  329. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Tests/AgentCLITests/RecentTranscriptionReaderTests.swift +0 -0
  330. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Tests/AgentCLITests/RecordingIndicatorControllerTests.swift +0 -0
  331. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/AgentCLI/Tests/AgentCLITests/ShortcutDefaultsTests.swift +0 -0
  332. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/build-macos-app.sh +0 -0
  333. {agent_cli-0.95.11 → agent_cli-0.95.13}/macos/test-macos-app-e2e.sh +0 -0
  334. {agent_cli-0.95.11 → agent_cli-0.95.13}/reddit.md +0 -0
  335. {agent_cli-0.95.11 → agent_cli-0.95.13}/shell.nix +0 -0
  336. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/__init__.py +0 -0
  337. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/__init__.py +0 -0
  338. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_fix_my_text.py +0 -0
  339. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_interactive.py +0 -0
  340. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_interactive_extra.py +0 -0
  341. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_memory_add.py +0 -0
  342. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_speak.py +0 -0
  343. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_speak_e2e.py +0 -0
  344. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_speakers.py +0 -0
  345. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_transcribe.py +0 -0
  346. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_transcribe_agent.py +0 -0
  347. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_transcribe_e2e.py +0 -0
  348. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_transcribe_live.py +0 -0
  349. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_transcribe_recovery.py +0 -0
  350. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_tts_common.py +0 -0
  351. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_tts_common_extra.py +0 -0
  352. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_voice_agent_common.py +0 -0
  353. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_voice_edit.py +0 -0
  354. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_voice_edit_e2e.py +0 -0
  355. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/agents/test_wake_word_assistant.py +0 -0
  356. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/conftest.py +0 -0
  357. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/__init__.py +0 -0
  358. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_audio.py +0 -0
  359. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_audio_format.py +0 -0
  360. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_chroma.py +0 -0
  361. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_sse.py +0 -0
  362. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_vad.py +0 -0
  363. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/core/test_watch.py +0 -0
  364. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/__init__.py +0 -0
  365. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_cleanup.py +0 -0
  366. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_cli.py +0 -0
  367. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_coding_agents.py +0 -0
  368. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_editors.py +0 -0
  369. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_hooks.py +0 -0
  370. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_launch.py +0 -0
  371. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_project.py +0 -0
  372. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_terminals.py +0 -0
  373. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_verification.py +0 -0
  374. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/dev/test_worktree.py +0 -0
  375. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/install/__init__.py +0 -0
  376. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/install/test_extras.py +0 -0
  377. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/install/test_launchd.py +0 -0
  378. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/__init__.py +0 -0
  379. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_api_health.py +0 -0
  380. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_api_integration_liveish.py +0 -0
  381. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_client.py +0 -0
  382. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_engine.py +0 -0
  383. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_files.py +0 -0
  384. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_filters.py +0 -0
  385. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_git_integration.py +0 -0
  386. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_indexer.py +0 -0
  387. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_memory_integration.py +0 -0
  388. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_proxy_passthrough.py +0 -0
  389. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_store.py +0 -0
  390. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/memory/test_utils.py +0 -0
  391. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/mocks/__init__.py +0 -0
  392. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/mocks/audio.py +0 -0
  393. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/mocks/llm.py +0 -0
  394. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/mocks/wyoming.py +0 -0
  395. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/__init__.py +0 -0
  396. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_api.py +0 -0
  397. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_engine.py +0 -0
  398. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_history.py +0 -0
  399. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_indexer.py +0 -0
  400. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_indexing.py +0 -0
  401. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_rag_client.py +0 -0
  402. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_rag_integration_liveish.py +0 -0
  403. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  404. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_retriever.py +0 -0
  405. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_store.py +0 -0
  406. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/rag/test_utils.py +0 -0
  407. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_alignment.py +0 -0
  408. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_api.py +0 -0
  409. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_api_integration.py +0 -0
  410. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_asr.py +0 -0
  411. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_asr_recovery.py +0 -0
  412. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_audio_e2e.py +0 -0
  413. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_config.py +0 -0
  414. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_config_cmd.py +0 -0
  415. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_daemon.py +0 -0
  416. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_diarization.py +0 -0
  417. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_diarize_live_session.py +0 -0
  418. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_docs_gen.py +0 -0
  419. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_env_vars.py +0 -0
  420. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_faster_whisper_backend.py +0 -0
  421. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_json_output.py +0 -0
  422. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_llm.py +0 -0
  423. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_llm_gemini.py +0 -0
  424. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_memory_tools.py +0 -0
  425. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_mlx_backend.py +0 -0
  426. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_process_manager.py +0 -0
  427. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_requires_extras.py +0 -0
  428. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_server_streaming.py +0 -0
  429. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_server_tts.py +0 -0
  430. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_server_whisper.py +0 -0
  431. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_services.py +0 -0
  432. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_speaker_identity.py +0 -0
  433. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_tools.py +0 -0
  434. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_transformers_backend.py +0 -0
  435. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_tts.py +0 -0
  436. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_update_cask.py +0 -0
  437. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_utils.py +0 -0
  438. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_wake_word.py +0 -0
  439. {agent_cli-0.95.11 → agent_cli-0.95.13}/tests/test_wyoming_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  cask "agent-cli" do
2
- version "0.95.10"
3
- sha256 "ac6924d40452ded9757ed30c4fb6a066dbb2969a99998f4b3e63ceb301173e1e"
2
+ version "0.95.12"
3
+ sha256 "8f6957ae7f0ed68e2938b68dfc8ed207e2a62d2470d0cb975b947a02e9e98697"
4
4
 
5
5
  url "https://github.com/basnijholt/agent-cli/releases/download/v#{version}/AgentCLI.dmg"
6
6
  name "Agent CLI"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.95.11
3
+ Version: 0.95.13
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>
@@ -36,6 +36,7 @@ Requires-Dist: zensical; extra == 'dev'
36
36
  Provides-Extra: diarization
37
37
  Requires-Dist: pyannote-audio>=3.3; extra == 'diarization'
38
38
  Provides-Extra: faster-whisper
39
+ Requires-Dist: ctranslate2>=4.6.2; extra == 'faster-whisper'
39
40
  Requires-Dist: fastapi[standard]; extra == 'faster-whisper'
40
41
  Requires-Dist: faster-whisper>=1.0.0; extra == 'faster-whisper'
41
42
  Provides-Extra: kokoro
@@ -157,6 +158,17 @@ Since then I have expanded the tool with many more features, all focused on loca
157
158
 
158
159
  ## Quick Start
159
160
 
161
+ ### Prefer the macOS menu bar app?
162
+
163
+ Install the native AgentCLI app with Homebrew:
164
+
165
+ ```bash
166
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
167
+ brew install --cask agent-cli
168
+ ```
169
+
170
+ The app provides global shortcuts, a menu bar UI, automatic local Whisper setup on first transcription, and a private bundled `agent-cli` runtime. See the [macOS app guide](docs/installation/macos-app.md) for setup, updates, and uninstall instructions.
171
+
160
172
  ### Just want the CLI tool?
161
173
 
162
174
  If you already have AI services running (or plan to use OpenAI), simply install:
@@ -247,6 +259,7 @@ The setup scripts automatically install:
247
259
  - [Step 2: Run the Setup Script](#step-2-run-the-setup-script)
248
260
  - [Step 3: Start All Services](#step-3-start-all-services)
249
261
  - [Step 4: Test Your Installation](#step-4-test-your-installation)
262
+ - [macOS Menu Bar App](#macos-menu-bar-app)
250
263
  - [System Integration](#system-integration)
251
264
  - [macOS Hotkeys](#macos-hotkeys)
252
265
  - [Linux Hotkeys](#linux-hotkeys)
@@ -352,6 +365,28 @@ source .venv/bin/activate # On Windows: .venv\Scripts\activate
352
365
 
353
366
  </details>
354
367
 
368
+ ## macOS Menu Bar App
369
+
370
+ AgentCLI is also available as a native macOS menu bar app for voice workflows that should work from any app without keeping a terminal open.
371
+
372
+ Install it with Homebrew:
373
+
374
+ ```bash
375
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
376
+ brew install --cask agent-cli
377
+ ```
378
+
379
+ The app is a SwiftUI wrapper around the same `agent-cli` commands. It bundles `uv`, installs a private `agent-cli[audio,llm]` runtime in your Application Support folder on first use, and starts the local Whisper daemon automatically the first time you transcribe.
380
+
381
+ Default shortcuts:
382
+
383
+ - **`Fn+Space`** - Toggle transcription
384
+ - **`Fn`** - Record while held and insert the transcript
385
+ - **`Cmd+Shift+A`** - Autocorrect clipboard text
386
+ - **`Cmd+Shift+V`** - Start voice edit
387
+
388
+ You can change shortcuts, enable **Start at Login**, or switch to a user-installed `agent-cli` runtime from the app's **Settings...** screen. See the [macOS app guide](docs/installation/macos-app.md) for details.
389
+
355
390
  ## System Integration
356
391
 
357
392
  Want system-wide hotkeys? You'll need the repository for the setup scripts:
@@ -53,6 +53,17 @@ Since then I have expanded the tool with many more features, all focused on loca
53
53
 
54
54
  ## Quick Start
55
55
 
56
+ ### Prefer the macOS menu bar app?
57
+
58
+ Install the native AgentCLI app with Homebrew:
59
+
60
+ ```bash
61
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
62
+ brew install --cask agent-cli
63
+ ```
64
+
65
+ The app provides global shortcuts, a menu bar UI, automatic local Whisper setup on first transcription, and a private bundled `agent-cli` runtime. See the [macOS app guide](docs/installation/macos-app.md) for setup, updates, and uninstall instructions.
66
+
56
67
  ### Just want the CLI tool?
57
68
 
58
69
  If you already have AI services running (or plan to use OpenAI), simply install:
@@ -143,6 +154,7 @@ The setup scripts automatically install:
143
154
  - [Step 2: Run the Setup Script](#step-2-run-the-setup-script)
144
155
  - [Step 3: Start All Services](#step-3-start-all-services)
145
156
  - [Step 4: Test Your Installation](#step-4-test-your-installation)
157
+ - [macOS Menu Bar App](#macos-menu-bar-app)
146
158
  - [System Integration](#system-integration)
147
159
  - [macOS Hotkeys](#macos-hotkeys)
148
160
  - [Linux Hotkeys](#linux-hotkeys)
@@ -248,6 +260,28 @@ source .venv/bin/activate # On Windows: .venv\Scripts\activate
248
260
 
249
261
  </details>
250
262
 
263
+ ## macOS Menu Bar App
264
+
265
+ AgentCLI is also available as a native macOS menu bar app for voice workflows that should work from any app without keeping a terminal open.
266
+
267
+ Install it with Homebrew:
268
+
269
+ ```bash
270
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
271
+ brew install --cask agent-cli
272
+ ```
273
+
274
+ The app is a SwiftUI wrapper around the same `agent-cli` commands. It bundles `uv`, installs a private `agent-cli[audio,llm]` runtime in your Application Support folder on first use, and starts the local Whisper daemon automatically the first time you transcribe.
275
+
276
+ Default shortcuts:
277
+
278
+ - **`Fn+Space`** - Toggle transcription
279
+ - **`Fn`** - Record while held and insert the transcript
280
+ - **`Cmd+Shift+A`** - Autocorrect clipboard text
281
+ - **`Cmd+Shift+V`** - Start voice edit
282
+
283
+ You can change shortcuts, enable **Start at Login**, or switch to a user-installed `agent-cli` runtime from the app's **Settings...** screen. See the [macOS app guide](docs/installation/macos-app.md) for details.
284
+
251
285
  ## System Integration
252
286
 
253
287
  Want system-wide hotkeys? You'll need the repository for the setup scripts:
@@ -34,7 +34,9 @@ colorama==0.4.6 ; sys_platform == 'win32'
34
34
  coloredlogs==15.0.1
35
35
  # via onnxruntime
36
36
  ctranslate2==4.6.3
37
- # via faster-whisper
37
+ # via
38
+ # agent-cli
39
+ # faster-whisper
38
40
  dnspython==2.8.0
39
41
  # via email-validator
40
42
  dotenv==0.9.9
@@ -17,7 +17,18 @@ Before you begin, ensure you have:
17
17
 
18
18
  ## Installation
19
19
 
20
- ### Option 1: CLI Tool Only
20
+ ### Option 1: macOS Menu Bar App
21
+
22
+ For the native Mac app with global shortcuts and automatic local Whisper setup:
23
+
24
+ ```bash
25
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
26
+ brew install --cask agent-cli
27
+ ```
28
+
29
+ See: [macOS Menu Bar App](installation/macos-app.md)
30
+
31
+ ### Option 2: CLI Tool Only
21
32
 
22
33
  If you already have AI services set up or plan to use cloud services (OpenAI/Gemini):
23
34
 
@@ -33,7 +44,7 @@ pip install agent-cli
33
44
  > The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
34
45
  > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
35
46
 
36
- ### Option 2: Full Local Setup
47
+ ### Option 3: Full Local Setup
37
48
 
38
49
  For a complete local setup with all AI services:
39
50
 
@@ -138,6 +149,7 @@ For detailed installation instructions, see the platform-specific guides:
138
149
 
139
150
  | Platform | Guide | Notes |
140
151
  |----------|-------|-------|
152
+ | :fontawesome-brands-apple: **macOS app** | [macOS App](installation/macos-app.md) | Native menu bar app |
141
153
  | :fontawesome-brands-apple: **macOS** | [macOS Setup](installation/macos.md) | Full Metal GPU acceleration |
142
154
  | :fontawesome-brands-linux: **Linux** | [Linux Setup](installation/linux.md) | NVIDIA GPU support |
143
155
  | :simple-nixos: **NixOS** | [NixOS Setup](installation/nixos.md) | Declarative configuration |
@@ -69,6 +69,17 @@ Since then I have expanded the tool with many more features, all focused on loca
69
69
 
70
70
  ## Quick Start
71
71
 
72
+ ### Prefer the macOS app?
73
+
74
+ Install the native menu bar app with Homebrew:
75
+
76
+ ```bash
77
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
78
+ brew install --cask agent-cli
79
+ ```
80
+
81
+ The app provides global shortcuts, a menu bar UI, automatic local Whisper setup, and a private bundled `agent-cli` runtime. See the [macOS app guide](installation/macos-app.md).
82
+
72
83
  ### Just want the CLI tool?
73
84
 
74
85
  If you already have AI services running (or plan to use OpenAI):
@@ -129,6 +140,7 @@ The setup automatically installs:
129
140
  ## Documentation
130
141
 
131
142
  - [Getting Started](getting-started.md) - Installation and first steps
143
+ - [macOS App](installation/macos-app.md) - Native menu bar app and Homebrew cask
132
144
  - [Configuration](configuration.md) - All configuration options
133
145
  - [Commands](commands/index.md) - CLI reference
134
146
  - [System Integration](system-integration.md) - Hotkeys and system setup
@@ -10,7 +10,8 @@ Choose the best installation method for your platform and performance needs.
10
10
 
11
11
  | Platform | Recommended Method | GPU Support | Performance |
12
12
  | ---------------- | ------------------------------ | ------------- | ----------- |
13
- | **macOS** | [Native Setup](macos.md) | ✅ Metal GPU | Best |
13
+ | **macOS app** | [Menu Bar App](macos-app.md) | ✅ Metal GPU | Best |
14
+ | **macOS CLI** | [Native Setup](macos.md) | ✅ Metal GPU | Best |
14
15
  | **Linux** | [Native Setup](linux.md) | ✅ NVIDIA GPU | Best |
15
16
  | **NixOS** | [System Integration](nixos.md) | ✅ NVIDIA GPU | Best |
16
17
  | **Any Platform** | [Docker Setup](docker.md) | ⚠️ Limited\* | Good |
@@ -20,7 +21,18 @@ Choose the best installation method for your platform and performance needs.
20
21
 
21
22
  ## Installation Methods
22
23
 
23
- ### 🍎 macOS Native (Recommended)
24
+ ### 🍎 macOS Menu Bar App
25
+
26
+ **Best desktop workflow for voice transcription and clipboard actions**
27
+
28
+ - Native menu bar app with global shortcuts
29
+ - Private bundled `agent-cli` runtime
30
+ - Automatic local Whisper setup on first transcription
31
+ - Installable with Homebrew Cask
32
+
33
+ 👉 [Follow macOS App Guide](macos-app.md)
34
+
35
+ ### 🍎 macOS Native CLI
24
36
 
25
37
  **Best performance with Metal GPU acceleration**
26
38
 
@@ -0,0 +1,94 @@
1
+ ---
2
+ icon: lucide/panel-top
3
+ ---
4
+
5
+ # macOS Menu Bar App
6
+
7
+ Agent CLI also ships as a native macOS menu bar app for voice workflows that should be available from any app without keeping a terminal open.
8
+
9
+ The app is a SwiftUI wrapper around the same `agent-cli` commands. It bundles `uv`, installs a private `agent-cli[audio,llm]` runtime in your Application Support folder on first use, and starts the local Whisper daemon automatically the first time you transcribe.
10
+
11
+ ## Requirements
12
+
13
+ - Apple Silicon Mac
14
+ - macOS 13 Ventura or later
15
+ - Microphone permission for transcription
16
+ - Accessibility permission if you want AgentCLI to insert text into other apps
17
+
18
+ ## Install with Homebrew
19
+
20
+ Install the signed app release with the Homebrew cask:
21
+
22
+ ```bash
23
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
24
+ brew install --cask agent-cli
25
+ ```
26
+
27
+ Then open **AgentCLI** from `/Applications` or Spotlight.
28
+
29
+ If you already cloned the repository and want to install the cask from the local checkout:
30
+
31
+ ```bash
32
+ brew install --cask ./Casks/agent-cli.rb
33
+ ```
34
+
35
+ ## First Launch
36
+
37
+ 1. Open **AgentCLI**.
38
+ 2. Approve macOS microphone permission when prompted.
39
+ 3. Use the menu bar icon to start transcription, autocorrect clipboard text, or open Settings.
40
+ 4. Grant Accessibility permission in System Settings if auto-insert or clipboard automation is blocked.
41
+
42
+ The first transcription can take longer because AgentCLI installs the private CLI runtime, ensures the Whisper launchd daemon is available, and downloads the speech model lazily.
43
+
44
+ ## Default Shortcuts
45
+
46
+ | Shortcut | Action |
47
+ |----------|--------|
48
+ | `Fn+Space` | Toggle transcription |
49
+ | `Fn` | Record while held and insert the transcript |
50
+ | `Cmd+Shift+A` | Autocorrect clipboard text |
51
+ | `Cmd+Shift+V` | Start voice edit |
52
+
53
+ Open **Settings...** from the menu bar app to change shortcuts, enable **Start at Login**, or switch runtime modes.
54
+
55
+ ## Runtime Modes
56
+
57
+ By default, the app manages its own private `agent-cli` install so the menu bar workflow is zero-config and does not depend on your shell PATH.
58
+
59
+ If you already manage `agent-cli` yourself, enable **Use User-Installed agent-cli** in Settings. AgentCLI will then run the `agent-cli` executable found on PATH and use your normal configuration.
60
+
61
+ ## Updates
62
+
63
+ The app uses Sparkle for direct updates. Choose **Check for Updates...** from the menu bar app or Settings to check for a newer signed release.
64
+
65
+ If you installed with Homebrew, you can also update through Homebrew:
66
+
67
+ ```bash
68
+ brew update
69
+ brew upgrade --cask agent-cli
70
+ ```
71
+
72
+ ## Uninstall
73
+
74
+ ```bash
75
+ brew uninstall --cask agent-cli
76
+ ```
77
+
78
+ To remove app data, launch agents, logs, and preferences as well:
79
+
80
+ ```bash
81
+ brew uninstall --zap --cask agent-cli
82
+ ```
83
+
84
+ ## Build from Source
85
+
86
+ From the repository root:
87
+
88
+ ```bash
89
+ ./macos/build-macos-app.sh --install
90
+ ```
91
+
92
+ This builds the app, copies it to `/Applications/AgentCLI.app`, and opens it.
93
+
94
+ For packaging and release details, see the [macOS app README](https://github.com/basnijholt/agent-cli/blob/main/macos/AgentCLI/README.md).
@@ -9,6 +9,9 @@ Native macOS setup with full Metal GPU acceleration for optimal performance.
9
9
  > [!TIP]
10
10
  > **🍎 Recommended for macOS** — ~10x better performance than Docker via Metal GPU acceleration.
11
11
 
12
+ > [!NOTE]
13
+ > Prefer a menu bar app with global shortcuts and no terminal session? See the [macOS Menu Bar App](macos-app.md), which can be installed with Homebrew.
14
+
12
15
  ## Prerequisites
13
16
 
14
17
  - macOS 12 Monterey or later
@@ -12,6 +12,17 @@ Agent CLI is designed to work with system-wide hotkeys, allowing you to trigger
12
12
 
13
13
  ## macOS Setup
14
14
 
15
+ ### Native Menu Bar App
16
+
17
+ For the easiest macOS hotkey workflow, install the native AgentCLI menu bar app:
18
+
19
+ ```bash
20
+ brew tap basnijholt/agent-cli https://github.com/basnijholt/agent-cli
21
+ brew install --cask agent-cli
22
+ ```
23
+
24
+ The app registers global shortcuts itself and can manage a private `agent-cli` runtime. See the [macOS app guide](installation/macos-app.md).
25
+
15
26
  ### Automated Setup (Recommended)
16
27
 
17
28
  ```bash
@@ -0,0 +1,10 @@
1
+ import SwiftUI
2
+
3
+ struct VoiceStatusMenuItem: View {
4
+ let runner: AgentCommandRunner
5
+
6
+ var body: some View {
7
+ Text("Voice: \(runner.menuStatusMessage)")
8
+ .lineLimit(1)
9
+ }
10
+ }
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="yes"?>
2
+ <rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
3
+ <channel>
4
+ <title>Agent CLI Updates</title>
5
+ <link>https://github.com/basnijholt/agent-cli</link>
6
+ <description>Signed Agent CLI macOS app updates.</description>
7
+ <item>
8
+ <title>0.95.12</title>
9
+ <pubDate>Fri, 29 May 2026 03:55:23 +0000</pubDate>
10
+ <link>https://github.com/basnijholt/agent-cli</link>
11
+ <sparkle:version>170</sparkle:version>
12
+ <sparkle:shortVersionString>0.95.12</sparkle:shortVersionString>
13
+ <sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
14
+ <sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
15
+ <description sparkle:format="markdown"><![CDATA[## What’s Changed
16
+
17
+ * Restore macOS voice status menu row (#536) @basnijholt
18
+ * Document macOS app Homebrew install (#537) @basnijholt
19
+
20
+ ]]></description>
21
+ <enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.12/AgentCLI.zip" length="22740085" type="application/octet-stream" sparkle:edSignature="xEGGr5pe1Szdx6xzcX1GiA6eUkCGOStwODelm0y4zcDyy7d/Lq+9QHV4NAA7QzexIVvup3jwGPJy8Sn/ROnvAA=="/>
22
+ </item>
23
+ <item>
24
+ <title>0.95.11</title>
25
+ <pubDate>Fri, 29 May 2026 03:31:10 +0000</pubDate>
26
+ <link>https://github.com/basnijholt/agent-cli</link>
27
+ <sparkle:version>169</sparkle:version>
28
+ <sparkle:shortVersionString>0.95.11</sparkle:shortVersionString>
29
+ <sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
30
+ <sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
31
+ <description sparkle:format="markdown"><![CDATA[## What’s Changed
32
+
33
+ * Fix macOS bootstrap menu refresh (#535) @basnijholt
34
+
35
+ ]]></description>
36
+ <enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.11/AgentCLI.zip" length="22741421" type="application/octet-stream" sparkle:edSignature="fiMYQqjgxOE/xrXIaa47hP4YHwVvGrq1dy81hMmRCaFGWoU4T6ECg1pmLIt4JY1+JzmCJMC0enXkVTAipBVaCw=="/>
37
+ </item>
38
+ <item>
39
+ <title>0.95.10</title>
40
+ <pubDate>Fri, 29 May 2026 03:03:43 +0000</pubDate>
41
+ <link>https://github.com/basnijholt/agent-cli</link>
42
+ <sparkle:version>168</sparkle:version>
43
+ <sparkle:shortVersionString>0.95.10</sparkle:shortVersionString>
44
+ <sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
45
+ <sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
46
+ <description sparkle:format="markdown"><![CDATA[## What’s Changed
47
+
48
+ * Add Sparkle updater to macOS app (#534) @basnijholt
49
+ * Repair stale Whisper daemon bootstrap (#533) @basnijholt
50
+ * Fix macOS menu refresh during voice warmup (#532) @basnijholt
51
+ * Fix Windows Swift source decoding (#531) @basnijholt
52
+
53
+ ]]></description>
54
+ <enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.10/AgentCLI.zip" length="22741696" type="application/octet-stream" sparkle:edSignature="ojRVLbvdApEG2RyQMg9KDcZrYvraLyhso3tA4hJ4fldrPYmDPiX927Tevv18s50S2aCvdtjZ3+jdbiXMk+WBCw=="/>
55
+ </item>
56
+ </channel>
57
+ </rss>
@@ -57,7 +57,7 @@ speed = ["audiostretchy>=1.3.0"]
57
57
  diarization = ["pyannote-audio>=3.3"]
58
58
 
59
59
  # ASR backends
60
- faster-whisper = ["agent-cli[server]", "faster-whisper>=1.0.0"]
60
+ faster-whisper = ["agent-cli[server]", "faster-whisper>=1.0.0", "ctranslate2>=4.6.2"]
61
61
  mlx-whisper = [
62
62
  "agent-cli[server]; sys_platform == 'darwin' and platform_machine == 'arm64'",
63
63
  "mlx-whisper>=0.4.0; sys_platform == 'darwin' and platform_machine == 'arm64'",
@@ -26,6 +26,13 @@ def test_project_uses_recent_typer_without_click_dependency() -> None:
26
26
  assert "typer>=0.26" in dependencies
27
27
 
28
28
 
29
+ def test_faster_whisper_extra_requires_blackwell_safe_ctranslate2() -> None:
30
+ """RTX 50xx GPUs need CTranslate2 with the sm120 INT8 workaround."""
31
+ pyproject = tomllib.loads(Path("pyproject.toml").read_text())
32
+ dependencies = pyproject["project"]["optional-dependencies"]["faster-whisper"]
33
+ assert "ctranslate2>=4.6.2" in dependencies
34
+
35
+
29
36
  def test_main_no_args() -> None:
30
37
  """Test the main function with no arguments shows help (no_args_is_help=True)."""
31
38
  result = runner.invoke(app)
@@ -570,35 +570,33 @@ def test_macos_app_animates_all_preparing_statuses_with_fixed_width_timer() -> N
570
570
  assert "elapsedSeconds: bootstrapElapsedSeconds" in source
571
571
 
572
572
 
573
- def test_macos_app_updates_bootstrap_status_without_rebuilding_menu_tree() -> None:
574
- """Bootstrap animation should keep updating without refreshing the whole menu."""
573
+ def test_macos_app_shows_voice_status_as_supported_menu_text() -> None:
574
+ """The status row should be visible in MenuBarExtra's SwiftUI menu content."""
575
575
  source = swift_source()
576
576
  voice_status = read_swift_source_file(SWIFT_SOURCE_DIR / "VoiceStatusMenuItem.swift")
577
577
 
578
578
  assert "VoiceStatusMenuItem(runner: runner)" in source
579
- assert 'Text("Voice: \\(runner.menuStatusMessage)")' not in source
580
- assert "struct VoiceStatusMenuItem: NSViewRepresentable" in voice_status
581
- assert "@State" not in voice_status
582
- assert ".onReceive" not in voice_status
583
- assert "@Published private var bootstrapAnimationTick" not in source
584
- assert "@Published private var bootstrapElapsedSeconds" not in source
585
- assert "private var bootstrapAnimationTick = 0" in source
586
- assert "private var bootstrapElapsedSeconds = 0" in source
579
+ assert "struct VoiceStatusMenuItem: View" in voice_status
580
+ assert 'Text("Voice: \\(runner.menuStatusMessage)")' in voice_status
581
+ assert "NSViewRepresentable" not in voice_status
582
+ assert "NSTextField" not in voice_status
587
583
 
588
584
 
589
- def test_macos_app_bootstrap_status_timer_bypasses_swiftui_menu_state() -> None:
590
- """The open menu should not be invalidated for each bootstrap status tick."""
585
+ def test_macos_app_updates_bootstrap_status_without_rebuilding_menu_tree() -> None:
586
+ """Bootstrap animation should not refresh the whole menu every second."""
591
587
  source = swift_source()
592
588
  voice_status = read_swift_source_file(SWIFT_SOURCE_DIR / "VoiceStatusMenuItem.swift")
593
589
 
594
- assert "struct VoiceStatusMenuItem: NSViewRepresentable" in voice_status
595
- assert "final class Coordinator" in voice_status
596
- assert "Timer(timeInterval:" in voice_status
597
- assert "stringValue = " in voice_status
598
590
  assert "VoiceStatusMenuItem(runner: runner)" in source
591
+ assert 'Text("Voice: \\(runner.menuStatusMessage)")' in voice_status
592
+ assert "Timer.publish" not in voice_status
593
+ assert "Timer(timeInterval:" not in voice_status
599
594
  assert "@State" not in voice_status
600
595
  assert ".onReceive" not in voice_status
601
- assert "Timer.publish" not in voice_status
596
+ assert "@Published private var bootstrapAnimationTick" not in source
597
+ assert "@Published private var bootstrapElapsedSeconds" not in source
598
+ assert "private var bootstrapAnimationTick = 0" in source
599
+ assert "private var bootstrapElapsedSeconds = 0" in source
602
600
 
603
601
 
604
602
  def test_macos_app_shows_preparing_menu_bar_icon_state() -> None:
@@ -59,6 +59,7 @@ diarization = [
59
59
  { name = "pyannote-audio" },
60
60
  ]
61
61
  faster-whisper = [
62
+ { name = "ctranslate2" },
62
63
  { name = "fastapi", extra = ["standard"] },
63
64
  { name = "faster-whisper" },
64
65
  ]
@@ -162,6 +163,7 @@ requires-dist = [
162
163
  { name = "chromadb", marker = "extra == 'memory'", specifier = ">=0.4.22" },
163
164
  { name = "chromadb", marker = "extra == 'rag'", specifier = ">=0.4.22" },
164
165
  { name = "chromadb", marker = "extra == 'vectordb'", specifier = ">=0.4.22" },
166
+ { name = "ctranslate2", marker = "extra == 'faster-whisper'", specifier = ">=4.6.2" },
165
167
  { name = "dotenv" },
166
168
  { name = "fastapi", extras = ["standard"], marker = "extra == 'faster-whisper'" },
167
169
  { name = "fastapi", extras = ["standard"], marker = "extra == 'kokoro'" },
@@ -18,6 +18,7 @@ nav = [
18
18
  { "Installation" = [
19
19
  { "Overview" = "installation/index.md" },
20
20
  { "macOS" = "installation/macos.md" },
21
+ { "macOS App" = "installation/macos-app.md" },
21
22
  { "Linux" = "installation/linux.md" },
22
23
  { "NixOS" = "installation/nixos.md" },
23
24
  { "Windows" = "installation/windows.md" },
@@ -1,60 +0,0 @@
1
- import AppKit
2
- import SwiftUI
3
-
4
- @MainActor
5
- struct VoiceStatusMenuItem: NSViewRepresentable {
6
- let runner: AgentCommandRunner
7
-
8
- func makeCoordinator() -> Coordinator {
9
- Coordinator(runner: runner)
10
- }
11
-
12
- func makeNSView(context: Context) -> NSTextField {
13
- let textField = NSTextField(labelWithString: "")
14
- textField.lineBreakMode = .byTruncatingTail
15
- textField.maximumNumberOfLines = 1
16
- textField.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
17
- context.coordinator.attach(textField)
18
- return textField
19
- }
20
-
21
- func updateNSView(_ textField: NSTextField, context: Context) {
22
- context.coordinator.attach(textField)
23
- }
24
-
25
- @MainActor
26
- final class Coordinator {
27
- private let runner: AgentCommandRunner
28
- private weak var textField: NSTextField?
29
- private var timer: Timer?
30
-
31
- init(runner: AgentCommandRunner) {
32
- self.runner = runner
33
- }
34
-
35
- deinit {
36
- timer?.invalidate()
37
- }
38
-
39
- func attach(_ textField: NSTextField) {
40
- self.textField = textField
41
- refreshStatus()
42
- startTimer()
43
- }
44
-
45
- private func startTimer() {
46
- guard timer == nil else { return }
47
- let timer = Timer(timeInterval: 0.8, repeats: true) { [weak self] _ in
48
- Task { @MainActor in
49
- self?.refreshStatus()
50
- }
51
- }
52
- RunLoop.main.add(timer, forMode: .common)
53
- self.timer = timer
54
- }
55
-
56
- private func refreshStatus() {
57
- textField?.stringValue = "Voice: \(runner.menuStatusMessage)"
58
- }
59
- }
60
- }
@@ -1,26 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8" standalone="yes"?>
2
- <rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
3
- <channel>
4
- <title>Agent CLI Updates</title>
5
- <link>https://github.com/basnijholt/agent-cli</link>
6
- <description>Signed Agent CLI macOS app updates.</description>
7
- <item>
8
- <title>0.95.10</title>
9
- <pubDate>Fri, 29 May 2026 03:03:43 +0000</pubDate>
10
- <link>https://github.com/basnijholt/agent-cli</link>
11
- <sparkle:version>168</sparkle:version>
12
- <sparkle:shortVersionString>0.95.10</sparkle:shortVersionString>
13
- <sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
14
- <sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
15
- <description sparkle:format="markdown"><![CDATA[## What’s Changed
16
-
17
- * Add Sparkle updater to macOS app (#534) @basnijholt
18
- * Repair stale Whisper daemon bootstrap (#533) @basnijholt
19
- * Fix macOS menu refresh during voice warmup (#532) @basnijholt
20
- * Fix Windows Swift source decoding (#531) @basnijholt
21
-
22
- ]]></description>
23
- <enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.10/AgentCLI.zip" length="22741696" type="application/octet-stream" sparkle:edSignature="ojRVLbvdApEG2RyQMg9KDcZrYvraLyhso3tA4hJ4fldrPYmDPiX927Tevv18s50S2aCvdtjZ3+jdbiXMk+WBCw=="/>
24
- </item>
25
- </channel>
26
- </rss>
File without changes
File without changes
File without changes