agent-cli 0.96.0__tar.gz → 0.96.2__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 (444) hide show
  1. {agent_cli-0.96.0/agent_cli/dev/skill → agent_cli-0.96.2/.claude/skills/agent-cli-dev}/SKILL.md +2 -2
  2. {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/README.md +2 -2
  3. {agent_cli-0.96.0/.claude → agent_cli-0.96.2/.claude-plugin}/skills/agent-cli-dev/SKILL.md +2 -2
  4. {agent_cli-0.96.0 → agent_cli-0.96.2}/Casks/agent-cli.rb +2 -2
  5. {agent_cli-0.96.0 → agent_cli-0.96.2}/PKG-INFO +7 -11
  6. {agent_cli-0.96.0 → agent_cli-0.96.2}/README.md +6 -10
  7. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/deps.py +2 -3
  8. {agent_cli-0.96.0/.claude-plugin/skills/agent-cli-dev → agent_cli-0.96.2/agent_cli/dev/skill}/SKILL.md +2 -2
  9. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/memory.md +2 -2
  10. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/rag.md +2 -2
  11. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/diarize-live-session.md +1 -1
  12. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/transcribe-live.md +1 -1
  13. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/getting-started.md +2 -6
  14. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/index.md +2 -6
  15. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/docker.md +1 -1
  16. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/index.md +1 -5
  17. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/linux.md +1 -1
  18. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/macos.md +1 -1
  19. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/nixos.md +1 -1
  20. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/windows.md +2 -2
  21. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCLIApp.swift +1 -0
  22. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/SettingsWindowController.swift +4 -3
  23. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/StatusMenuController.swift +35 -20
  24. agent_cli-0.96.2/macos/AgentCLI/Sources/AgentCLI/VoiceSpectrumAnalyzer.swift +144 -0
  25. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/VoiceSpectrumAnalyzerTests.swift +14 -2
  26. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/appcast.xml +35 -0
  27. agent_cli-0.96.2/tests/test_macos_app.py +298 -0
  28. {agent_cli-0.96.0 → agent_cli-0.96.2}/zensical.toml +1 -1
  29. agent_cli-0.96.0/macos/AgentCLI/Sources/AgentCLI/VoiceSpectrumAnalyzer.swift +0 -71
  30. agent_cli-0.96.0/tests/test_macos_app.py +0 -1318
  31. {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude/skills/agent-cli-dev/examples.md +0 -0
  32. {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/marketplace.json +0 -0
  33. {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/plugin.json +0 -0
  34. {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  35. {agent_cli-0.96.0 → agent_cli-0.96.2}/.cursorrules +0 -0
  36. {agent_cli-0.96.0 → agent_cli-0.96.2}/.dockerignore +0 -0
  37. {agent_cli-0.96.0 → agent_cli-0.96.2}/.env.example +0 -0
  38. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/logo.svg +0 -0
  39. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/release-drafter.yml +0 -0
  40. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/renovate.json +0 -0
  41. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/check_extras_sync.py +0 -0
  42. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/check_plugin_skill_sync.py +0 -0
  43. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/normalize_appcast.py +0 -0
  44. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/sync_extras.py +0 -0
  45. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/sync_requirements.py +0 -0
  46. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/update_cask.py +0 -0
  47. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/automerge.yml +0 -0
  48. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/docker.yml +0 -0
  49. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/docs.yml +0 -0
  50. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/markdown-code-runner.yml +0 -0
  51. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/pytest.yml +0 -0
  52. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/release-drafter.yml +0 -0
  53. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/release.yml +0 -0
  54. {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/toc.yaml +0 -0
  55. {agent_cli-0.96.0 → agent_cli-0.96.2}/.gitignore +0 -0
  56. {agent_cli-0.96.0 → agent_cli-0.96.2}/.jscpd.json +0 -0
  57. {agent_cli-0.96.0 → agent_cli-0.96.2}/.pre-commit-config.yaml +0 -0
  58. {agent_cli-0.96.0 → agent_cli-0.96.2}/.prompts/docs-review.md +0 -0
  59. {agent_cli-0.96.0 → agent_cli-0.96.2}/.prompts/pr-review.md +0 -0
  60. {agent_cli-0.96.0 → agent_cli-0.96.2}/CLAUDE.md +0 -0
  61. {agent_cli-0.96.0 → agent_cli-0.96.2}/LICENSE +0 -0
  62. {agent_cli-0.96.0 → agent_cli-0.96.2}/LLAMA_SERVER_USAGE.md +0 -0
  63. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/__init__.py +0 -0
  64. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/__main__.py +0 -0
  65. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_extras.json +0 -0
  66. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/.gitkeep +0 -0
  67. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/audio.txt +0 -0
  68. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/diarization.txt +0 -0
  69. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/faster-whisper.txt +0 -0
  70. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/kokoro.txt +0 -0
  71. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/llm.txt +0 -0
  72. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/memory.txt +0 -0
  73. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/mlx-whisper.txt +0 -0
  74. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/piper.txt +0 -0
  75. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/rag.txt +0 -0
  76. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/server.txt +0 -0
  77. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/speed.txt +0 -0
  78. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/vad.txt +0 -0
  79. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/vectordb.txt +0 -0
  80. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/whisper-transformers.txt +0 -0
  81. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/wyoming.txt +0 -0
  82. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_tools.py +0 -0
  83. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/__init__.py +0 -0
  84. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/_voice_agent_common.py +0 -0
  85. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/assistant.py +0 -0
  86. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/autocorrect.py +0 -0
  87. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/chat.py +0 -0
  88. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/diarize_live_session.py +0 -0
  89. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/__init__.py +0 -0
  90. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/add.py +0 -0
  91. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/proxy.py +0 -0
  92. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/rag_proxy.py +0 -0
  93. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/speak.py +0 -0
  94. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/speakers.py +0 -0
  95. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/transcribe.py +0 -0
  96. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/transcribe_live.py +0 -0
  97. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/voice_edit.py +0 -0
  98. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/api.py +0 -0
  99. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/cli.py +0 -0
  100. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/config.py +0 -0
  101. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/config_cmd.py +0 -0
  102. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/constants.py +0 -0
  103. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/__init__.py +0 -0
  104. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/alignment.py +0 -0
  105. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/audio.py +0 -0
  106. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/audio_format.py +0 -0
  107. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/chroma.py +0 -0
  108. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/diarization.py +0 -0
  109. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/openai_proxy.py +0 -0
  110. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/process.py +0 -0
  111. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/reranker.py +0 -0
  112. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/speaker_identity.py +0 -0
  113. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/sse.py +0 -0
  114. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/transcription_logger.py +0 -0
  115. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/utils.py +0 -0
  116. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/vad.py +0 -0
  117. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/watch.py +0 -0
  118. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/daemon/__init__.py +0 -0
  119. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/daemon/cli.py +0 -0
  120. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/__init__.py +0 -0
  121. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_branch_name.py +0 -0
  122. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_config.py +0 -0
  123. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_output.py +0 -0
  124. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/cleanup.py +0 -0
  125. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/cli.py +0 -0
  126. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/__init__.py +0 -0
  127. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/aider.py +0 -0
  128. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/base.py +0 -0
  129. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/claude.py +0 -0
  130. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/codex.py +0 -0
  131. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  132. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/copilot.py +0 -0
  133. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  134. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/gemini.py +0 -0
  135. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/opencode.py +0 -0
  136. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/registry.py +0 -0
  137. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/__init__.py +0 -0
  138. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/base.py +0 -0
  139. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/cursor.py +0 -0
  140. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/emacs.py +0 -0
  141. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/jetbrains.py +0 -0
  142. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/nano.py +0 -0
  143. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/neovim.py +0 -0
  144. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/registry.py +0 -0
  145. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/sublime.py +0 -0
  146. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/vim.py +0 -0
  147. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/vscode.py +0 -0
  148. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/zed.py +0 -0
  149. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/hooks.py +0 -0
  150. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/launch.py +0 -0
  151. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/project.py +0 -0
  152. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/registry.py +0 -0
  153. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/skill/examples.md +0 -0
  154. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/__init__.py +0 -0
  155. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  156. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/base.py +0 -0
  157. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/gnome.py +0 -0
  158. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/iterm2.py +0 -0
  159. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/kitty.py +0 -0
  160. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/registry.py +0 -0
  161. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/tmux.py +0 -0
  162. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/warp.py +0 -0
  163. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/zellij.py +0 -0
  164. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/worktree.py +0 -0
  165. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/docs_gen.py +0 -0
  166. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/example-config.toml +0 -0
  167. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/__init__.py +0 -0
  168. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/common.py +0 -0
  169. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/extras.py +0 -0
  170. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/hotkeys.py +0 -0
  171. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/launchd.py +0 -0
  172. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/service_config.py +0 -0
  173. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/services.py +0 -0
  174. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/systemd.py +0 -0
  175. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/__init__.py +0 -0
  176. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_files.py +0 -0
  177. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_filters.py +0 -0
  178. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_git.py +0 -0
  179. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_indexer.py +0 -0
  180. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_ingest.py +0 -0
  181. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_persistence.py +0 -0
  182. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_prompt.py +0 -0
  183. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_retrieval.py +0 -0
  184. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_store.py +0 -0
  185. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_streaming.py +0 -0
  186. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_tasks.py +0 -0
  187. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/api.py +0 -0
  188. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/client.py +0 -0
  189. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/engine.py +0 -0
  190. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/entities.py +0 -0
  191. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/models.py +0 -0
  192. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/opts.py +0 -0
  193. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/py.typed +0 -0
  194. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/__init__.py +0 -0
  195. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_indexer.py +0 -0
  196. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_indexing.py +0 -0
  197. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_prompt.py +0 -0
  198. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_retriever.py +0 -0
  199. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_store.py +0 -0
  200. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_utils.py +0 -0
  201. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/api.py +0 -0
  202. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/client.py +0 -0
  203. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/engine.py +0 -0
  204. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/models.py +0 -0
  205. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  206. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/__init__.py +0 -0
  207. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  208. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  209. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  210. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  211. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  212. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  213. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  214. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  215. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  216. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  217. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  218. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  219. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  220. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  221. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/run-openwakeword.sh +0 -0
  222. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  223. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-linux.sh +0 -0
  224. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  225. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-macos.sh +0 -0
  226. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-windows.ps1 +0 -0
  227. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  228. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/start-all-services.sh +0 -0
  229. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/__init__.py +0 -0
  230. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/cli.py +0 -0
  231. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/common.py +0 -0
  232. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/model_manager.py +0 -0
  233. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/model_registry.py +0 -0
  234. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/proxy/__init__.py +0 -0
  235. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/proxy/api.py +0 -0
  236. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/streaming.py +0 -0
  237. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/__init__.py +0 -0
  238. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/api.py +0 -0
  239. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/__init__.py +0 -0
  240. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/base.py +0 -0
  241. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/kokoro.py +0 -0
  242. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/piper.py +0 -0
  243. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/model_manager.py +0 -0
  244. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/model_registry.py +0 -0
  245. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/wyoming_handler.py +0 -0
  246. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/__init__.py +0 -0
  247. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/api.py +0 -0
  248. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/__init__.py +0 -0
  249. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/base.py +0 -0
  250. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
  251. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/mlx.py +0 -0
  252. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/transformers.py +0 -0
  253. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/languages.py +0 -0
  254. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/model_manager.py +0 -0
  255. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/model_registry.py +0 -0
  256. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  257. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/__init__.py +0 -0
  258. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/_wyoming_utils.py +0 -0
  259. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/asr.py +0 -0
  260. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/llm.py +0 -0
  261. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/tts.py +0 -0
  262. {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/wake_word.py +0 -0
  263. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/docker-compose.yml +0 -0
  264. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/memory-proxy.Dockerfile +0 -0
  265. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/rag-proxy.Dockerfile +0 -0
  266. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/transcribe-proxy.Dockerfile +0 -0
  267. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/tts.Dockerfile +0 -0
  268. {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/whisper.Dockerfile +0 -0
  269. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/CNAME +0 -0
  270. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/index.md +0 -0
  271. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/assistant.md +0 -0
  272. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/autocorrect.md +0 -0
  273. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/chat.md +0 -0
  274. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/config.md +0 -0
  275. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/daemon.md +0 -0
  276. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/dev.md +0 -0
  277. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/index.md +0 -0
  278. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-extras.md +0 -0
  279. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-hotkeys.md +0 -0
  280. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-services.md +0 -0
  281. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/memory.md +0 -0
  282. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/rag-proxy.md +0 -0
  283. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/index.md +0 -0
  284. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/transcribe-proxy.md +0 -0
  285. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/tts.md +0 -0
  286. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/whisper.md +0 -0
  287. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/speak.md +0 -0
  288. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/speakers.md +0 -0
  289. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/start-services.md +0 -0
  290. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/transcribe.md +0 -0
  291. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/voice-edit.md +0 -0
  292. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/configuration.md +0 -0
  293. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/iOS_Shortcut_Guide.md +0 -0
  294. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/macos-app.md +0 -0
  295. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/logo-avatar.svg +0 -0
  296. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/logo-clean.svg +0 -0
  297. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  298. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/run_markdown_code_runner.py +0 -0
  299. {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/system-integration.md +0 -0
  300. {agent_cli-0.96.0 → agent_cli-0.96.2}/example.agent-cli-config.toml +0 -0
  301. {agent_cli-0.96.0 → agent_cli-0.96.2}/justfile +0 -0
  302. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Package.resolved +0 -0
  303. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Package.swift +0 -0
  304. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/README.md +0 -0
  305. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/AgentCLI.entitlements +0 -0
  306. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/Info.plist +0 -0
  307. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/dmg-background.svg +0 -0
  308. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCommand.swift +0 -0
  309. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCommandRunner.swift +0 -0
  310. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentRuntime.swift +0 -0
  311. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppDelegate.swift +0 -0
  312. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppMetadata.swift +0 -0
  313. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppUpdater.swift +0 -0
  314. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/BootstrapState.swift +0 -0
  315. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/CommandResult.swift +0 -0
  316. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/ConfigurableHotkeyController.swift +0 -0
  317. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/FocusedTextTarget.swift +0 -0
  318. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/LoginItemController.swift +0 -0
  319. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/MenuBarIcon.swift +0 -0
  320. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecentTranscriptionReader.swift +0 -0
  321. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecordingIndicatorController.swift +0 -0
  322. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecordingSoundSettings.swift +0 -0
  323. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RuntimeSettings.swift +0 -0
  324. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/Shortcuts.swift +0 -0
  325. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/TranscriptPasteController.swift +0 -0
  326. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/TranscriptionSettings.swift +0 -0
  327. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/VoiceLevelOverlay.swift +0 -0
  328. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/AgentCommandTests.swift +0 -0
  329. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/LoginItemControllerTests.swift +0 -0
  330. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/RecentTranscriptionReaderTests.swift +0 -0
  331. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/RecordingIndicatorControllerTests.swift +0 -0
  332. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/ShortcutDefaultsTests.swift +0 -0
  333. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/build-macos-app.sh +0 -0
  334. {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/test-macos-app-e2e.sh +0 -0
  335. {agent_cli-0.96.0 → agent_cli-0.96.2}/pyproject.toml +0 -0
  336. {agent_cli-0.96.0 → agent_cli-0.96.2}/reddit.md +0 -0
  337. {agent_cli-0.96.0 → agent_cli-0.96.2}/shell.nix +0 -0
  338. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/__init__.py +0 -0
  339. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/__init__.py +0 -0
  340. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_fix_my_text.py +0 -0
  341. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_interactive.py +0 -0
  342. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_interactive_extra.py +0 -0
  343. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_memory_add.py +0 -0
  344. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speak.py +0 -0
  345. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speak_e2e.py +0 -0
  346. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speakers.py +0 -0
  347. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe.py +0 -0
  348. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_agent.py +0 -0
  349. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_e2e.py +0 -0
  350. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_live.py +0 -0
  351. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_recovery.py +0 -0
  352. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_tts_common.py +0 -0
  353. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_tts_common_extra.py +0 -0
  354. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_agent_common.py +0 -0
  355. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_edit.py +0 -0
  356. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_edit_e2e.py +0 -0
  357. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_wake_word_assistant.py +0 -0
  358. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/conftest.py +0 -0
  359. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/__init__.py +0 -0
  360. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_audio.py +0 -0
  361. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_audio_format.py +0 -0
  362. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_chroma.py +0 -0
  363. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_sse.py +0 -0
  364. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_vad.py +0 -0
  365. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_watch.py +0 -0
  366. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/__init__.py +0 -0
  367. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_cleanup.py +0 -0
  368. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_cli.py +0 -0
  369. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_coding_agents.py +0 -0
  370. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_editors.py +0 -0
  371. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_hooks.py +0 -0
  372. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_launch.py +0 -0
  373. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_project.py +0 -0
  374. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_terminals.py +0 -0
  375. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_verification.py +0 -0
  376. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_worktree.py +0 -0
  377. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/__init__.py +0 -0
  378. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/test_extras.py +0 -0
  379. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/test_launchd.py +0 -0
  380. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/__init__.py +0 -0
  381. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_api_health.py +0 -0
  382. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_api_integration_liveish.py +0 -0
  383. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_client.py +0 -0
  384. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_engine.py +0 -0
  385. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_files.py +0 -0
  386. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_filters.py +0 -0
  387. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_git_integration.py +0 -0
  388. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_indexer.py +0 -0
  389. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_memory_integration.py +0 -0
  390. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_proxy_passthrough.py +0 -0
  391. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_store.py +0 -0
  392. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_utils.py +0 -0
  393. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/__init__.py +0 -0
  394. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/audio.py +0 -0
  395. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/llm.py +0 -0
  396. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/wyoming.py +0 -0
  397. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/__init__.py +0 -0
  398. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_api.py +0 -0
  399. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_engine.py +0 -0
  400. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_history.py +0 -0
  401. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_indexer.py +0 -0
  402. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_indexing.py +0 -0
  403. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_client.py +0 -0
  404. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_integration_liveish.py +0 -0
  405. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  406. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_retriever.py +0 -0
  407. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_store.py +0 -0
  408. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_utils.py +0 -0
  409. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_alignment.py +0 -0
  410. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_api.py +0 -0
  411. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_api_integration.py +0 -0
  412. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_asr.py +0 -0
  413. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_asr_recovery.py +0 -0
  414. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_audio_e2e.py +0 -0
  415. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_cli.py +0 -0
  416. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_config.py +0 -0
  417. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_config_cmd.py +0 -0
  418. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_daemon.py +0 -0
  419. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_diarization.py +0 -0
  420. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_diarize_live_session.py +0 -0
  421. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_docs_gen.py +0 -0
  422. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_env_vars.py +0 -0
  423. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_faster_whisper_backend.py +0 -0
  424. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_json_output.py +0 -0
  425. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_llm.py +0 -0
  426. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_llm_gemini.py +0 -0
  427. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_memory_tools.py +0 -0
  428. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_mlx_backend.py +0 -0
  429. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_normalize_appcast.py +0 -0
  430. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_process_manager.py +0 -0
  431. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_requires_extras.py +0 -0
  432. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_streaming.py +0 -0
  433. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_tts.py +0 -0
  434. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_whisper.py +0 -0
  435. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_services.py +0 -0
  436. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_speaker_identity.py +0 -0
  437. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_tools.py +0 -0
  438. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_transformers_backend.py +0 -0
  439. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_tts.py +0 -0
  440. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_update_cask.py +0 -0
  441. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_utils.py +0 -0
  442. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_wake_word.py +0 -0
  443. {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_wyoming_utils.py +0 -0
  444. {agent_cli-0.96.0 → agent_cli-0.96.2}/uv.lock +0 -0
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
17
17
 
18
18
  ```bash
19
19
  # Install globally
20
- uv tool install agent-cli -p 3.13
20
+ uv tool install agent-cli
21
21
 
22
22
  # Or run directly without installing
23
- uvx --python 3.13 agent-cli dev new <branch-name> --prompt "..."
23
+ uvx agent-cli dev new <branch-name> --prompt "..."
24
24
  ```
25
25
 
26
26
  ## 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 -p 3.13
20
+ uv tool install agent-cli
21
21
 
22
22
  # Or run directly without installing
23
- uvx --python 3.13 agent-cli dev new my-feature --agent --prompt "..."
23
+ uvx agent-cli dev new my-feature --agent --prompt "..."
24
24
  ```
25
25
 
26
26
  ### Install the Claude Code plugin
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
17
17
 
18
18
  ```bash
19
19
  # Install globally
20
- uv tool install agent-cli -p 3.13
20
+ uv tool install agent-cli
21
21
 
22
22
  # Or run directly without installing
23
- uvx --python 3.13 agent-cli dev new <branch-name> --prompt "..."
23
+ uvx agent-cli dev new <branch-name> --prompt "..."
24
24
  ```
25
25
 
26
26
  ## When to spawn parallel agents
@@ -1,6 +1,6 @@
1
1
  cask "agent-cli" do
2
- version "0.95.15"
3
- sha256 "6861d0f8a7daebcb2ab29d0ecdf2996ba79db095a5368f45fe21f96bd36ada74"
2
+ version "0.96.1"
3
+ sha256 "eef32008aa3d60a114eac824bc32c12385de07c7656bae5edcde24487fc3d72d"
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.96.0
3
+ Version: 0.96.2
4
4
  Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
5
5
  Project-URL: Homepage, https://github.com/basnijholt/agent-cli
6
6
  Author-email: Bas Nijholt <bas@nijho.lt>
@@ -154,7 +154,7 @@ Since then I have expanded the tool with many more features, all focused on loca
154
154
  - **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
155
155
  - **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
156
156
  - **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI-compatible APIs), 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).
157
- - **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]" -p 3.13`.
157
+ - **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
158
158
 
159
159
  ## Quick Start
160
160
 
@@ -175,16 +175,12 @@ If you already have AI services running (or plan to use OpenAI), simply install:
175
175
 
176
176
  ```bash
177
177
  # Using uv (recommended)
178
- uv tool install agent-cli -p 3.13
178
+ uv tool install agent-cli
179
179
 
180
180
  # Using pip
181
181
  pip install agent-cli
182
182
  ```
183
183
 
184
- > [!NOTE]
185
- > The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
186
- > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
187
-
188
184
  Then use it:
189
185
  ```bash
190
186
  agent-cli autocorrect "this has an eror"
@@ -218,12 +214,12 @@ agent-cli autocorrect "this has an eror"
218
214
 
219
215
  > [!NOTE]
220
216
  > `agent-cli` uses `sounddevice` for real-time microphone/voice features.
221
- > 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`.
217
+ > 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`.
222
218
  > On Windows and macOS, this is handled automatically.
223
219
 
224
220
  ```bash
225
221
  # 1. Install agent-cli
226
- uv tool install agent-cli -p 3.13
222
+ uv tool install agent-cli
227
223
 
228
224
  # 2. Install all required services
229
225
  agent-cli install-services
@@ -308,7 +304,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
308
304
 
309
305
  ```bash
310
306
  # Using uv (recommended)
311
- uv tool install agent-cli -p 3.13
307
+ uv tool install agent-cli
312
308
 
313
309
  # Using pip
314
310
  pip install agent-cli
@@ -1144,7 +1140,7 @@ the `[defaults]` section of your configuration file.
1144
1140
 
1145
1141
  **Installation:** Requires the `vad` extra:
1146
1142
  ```bash
1147
- uv tool install "agent-cli[vad]" -p 3.13
1143
+ uv tool install "agent-cli[vad]"
1148
1144
  ```
1149
1145
 
1150
1146
  **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-compatible APIs), 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-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]" -p 3.13`.
52
+ - **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
53
53
 
54
54
  ## Quick Start
55
55
 
@@ -70,16 +70,12 @@ If you already have AI services running (or plan to use OpenAI), simply install:
70
70
 
71
71
  ```bash
72
72
  # Using uv (recommended)
73
- uv tool install agent-cli -p 3.13
73
+ uv tool install agent-cli
74
74
 
75
75
  # Using pip
76
76
  pip install agent-cli
77
77
  ```
78
78
 
79
- > [!NOTE]
80
- > The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
81
- > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
82
-
83
79
  Then use it:
84
80
  ```bash
85
81
  agent-cli autocorrect "this has an eror"
@@ -113,12 +109,12 @@ agent-cli autocorrect "this has an eror"
113
109
 
114
110
  > [!NOTE]
115
111
  > `agent-cli` uses `sounddevice` for real-time microphone/voice features.
116
- > 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`.
112
+ > 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`.
117
113
  > On Windows and macOS, this is handled automatically.
118
114
 
119
115
  ```bash
120
116
  # 1. Install agent-cli
121
- uv tool install agent-cli -p 3.13
117
+ uv tool install agent-cli
122
118
 
123
119
  # 2. Install all required services
124
120
  agent-cli install-services
@@ -203,7 +199,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
203
199
 
204
200
  ```bash
205
201
  # Using uv (recommended)
206
- uv tool install agent-cli -p 3.13
202
+ uv tool install agent-cli
207
203
 
208
204
  # Using pip
209
205
  pip install agent-cli
@@ -1039,7 +1035,7 @@ the `[defaults]` section of your configuration file.
1039
1035
 
1040
1036
  **Installation:** Requires the `vad` extra:
1041
1037
  ```bash
1042
- uv tool install "agent-cli[vad]" -p 3.13
1038
+ uv tool install "agent-cli[vad]"
1043
1039
  ```
1044
1040
 
1045
1041
  **How to Use It:**
@@ -103,7 +103,7 @@ def _format_install_commands(extras: list[str]) -> list[str]:
103
103
  extras_args = " ".join(extras)
104
104
  return [
105
105
  "Install with:",
106
- f' [bold cyan]uv tool install -p 3.13 "agent-cli\\[{combined}]"[/bold cyan]',
106
+ f' [bold cyan]uv tool install "agent-cli\\[{combined}]"[/bold cyan]',
107
107
  " # or",
108
108
  f" [bold cyan]agent-cli install-extras {extras_args}[/bold cyan]",
109
109
  ]
@@ -122,8 +122,7 @@ def _get_install_hint(extra: str) -> str:
122
122
  lines.append("")
123
123
  lines.append("Install one with:")
124
124
  lines.extend(
125
- f' [bold cyan]uv tool install -p 3.13 "agent-cli\\[{alt}]"[/bold cyan]'
126
- for alt in alternatives
125
+ f' [bold cyan]uv tool install "agent-cli\\[{alt}]"[/bold cyan]' for alt in alternatives
127
126
  )
128
127
  lines.append(" # or")
129
128
  lines.extend(
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
17
17
 
18
18
  ```bash
19
19
  # Install globally
20
- uv tool install agent-cli -p 3.13
20
+ uv tool install agent-cli
21
21
 
22
22
  # Or run directly without installing
23
- uvx --python 3.13 agent-cli dev new <branch-name> --prompt "..."
23
+ uvx agent-cli dev new <branch-name> --prompt "..."
24
24
  ```
25
25
 
26
26
  ## When to spawn parallel agents
@@ -75,7 +75,7 @@ docker run -d -p 3000:8080 \
75
75
  ghcr.io/open-webui/open-webui:main
76
76
 
77
77
  # 3. Start the memory proxy (runs in foreground so you can watch the logs)
78
- uvx -p 3.13 --from "agent-cli[memory]" agent-cli memory proxy \
78
+ uvx --from "agent-cli[memory]" agent-cli memory proxy \
79
79
  --memory-path ./my-memories \
80
80
  --openai-base-url http://localhost:11434/v1 \
81
81
  --embedding-model embeddinggemma:300m
@@ -88,7 +88,7 @@ uvx -p 3.13 --from "agent-cli[memory]" agent-cli memory proxy \
88
88
  ```bash
89
89
  # Terminal 1: Pull models and start proxy
90
90
  ollama pull embeddinggemma:300m && ollama pull qwen3:4b
91
- uvx -p 3.13 --from "agent-cli[memory]" agent-cli memory proxy \
91
+ uvx --from "agent-cli[memory]" agent-cli memory proxy \
92
92
  --memory-path ./my-memories \
93
93
  --openai-base-url http://localhost:11434/v1 \
94
94
  --embedding-model embeddinggemma:300m
@@ -71,7 +71,7 @@ docker run -d -p 3000:8080 \
71
71
  ghcr.io/open-webui/open-webui:main
72
72
 
73
73
  # 3. Start the RAG proxy (runs in foreground so you can watch the logs)
74
- uvx -p 3.13 --from "agent-cli[rag]" agent-cli rag-proxy \
74
+ uvx --from "agent-cli[rag]" agent-cli rag-proxy \
75
75
  --docs-folder ./my-docs \
76
76
  --openai-base-url http://localhost:11434/v1 \
77
77
  --embedding-model embeddinggemma:300m
@@ -84,7 +84,7 @@ uvx -p 3.13 --from "agent-cli[rag]" agent-cli rag-proxy \
84
84
  ```bash
85
85
  # Terminal 1: Pull models and start proxy
86
86
  ollama pull embeddinggemma:300m && ollama pull qwen3:4b
87
- uvx -p 3.13 --from "agent-cli[rag]" agent-cli rag-proxy \
87
+ uvx --from "agent-cli[rag]" agent-cli rag-proxy \
88
88
  --docs-folder ./my-docs \
89
89
  --openai-base-url http://localhost:11434/v1 \
90
90
  --embedding-model embeddinggemma:300m
@@ -31,7 +31,7 @@ Use `--retranscribe` if you want to re-run ASR on the combined audio instead of
31
31
  Requires the `diarization` extra:
32
32
 
33
33
  ```bash
34
- uv tool install "agent-cli[diarization]" -p 3.13
34
+ uv tool install "agent-cli[diarization]"
35
35
  # or
36
36
  pip install "agent-cli[diarization]"
37
37
  ```
@@ -32,7 +32,7 @@ Saving MP3 files requires FFmpeg; if it's not available, audio saving is disable
32
32
  Requires the `vad` extra:
33
33
 
34
34
  ```bash
35
- uv tool install "agent-cli[vad]" -p 3.13
35
+ uv tool install "agent-cli[vad]"
36
36
  # or
37
37
  pip install "agent-cli[vad]"
38
38
  ```
@@ -34,16 +34,12 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
34
34
 
35
35
  ```bash
36
36
  # Using uv (recommended)
37
- uv tool install agent-cli -p 3.13
37
+ uv tool install agent-cli
38
38
 
39
39
  # Using pip
40
40
  pip install agent-cli
41
41
  ```
42
42
 
43
- > [!NOTE]
44
- > The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
45
- > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
46
-
47
43
  ### Option 3: Full Local Setup
48
44
 
49
45
  For a complete local setup with all AI services:
@@ -65,7 +61,7 @@ For a complete local setup with all AI services:
65
61
 
66
62
  ```bash
67
63
  # 1. Install agent-cli
68
- uv tool install agent-cli -p 3.13
64
+ uv tool install agent-cli
69
65
 
70
66
  # 2. Install all required services
71
67
  agent-cli install-services
@@ -86,16 +86,12 @@ If you already have AI services running (or plan to use OpenAI):
86
86
 
87
87
  ```bash
88
88
  # Using uv (recommended)
89
- uv tool install agent-cli -p 3.13
89
+ uv tool install agent-cli
90
90
 
91
91
  # Using pip
92
92
  pip install agent-cli
93
93
  ```
94
94
 
95
- > [!NOTE]
96
- > The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
97
- > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
98
-
99
95
  Then use it:
100
96
 
101
97
  ```bash
@@ -106,7 +102,7 @@ agent-cli autocorrect "this has an eror"
106
102
 
107
103
  ```bash
108
104
  # 1. Install agent-cli
109
- uv tool install agent-cli -p 3.13
105
+ uv tool install agent-cli
110
106
 
111
107
  # 2. Install all required services
112
108
  agent-cli install-services
@@ -42,7 +42,7 @@ Universal Docker setup that works on any platform with Docker support.
42
42
  3. **Install agent-cli:**
43
43
 
44
44
  ```bash
45
- uv tool install agent-cli -p 3.13
45
+ uv tool install agent-cli
46
46
  # or: pip install agent-cli
47
47
  ```
48
48
 
@@ -97,16 +97,12 @@ Once services are running, install the agent-cli package:
97
97
 
98
98
  ```bash
99
99
  # Using uv (recommended)
100
- uv tool install agent-cli -p 3.13
100
+ uv tool install agent-cli
101
101
 
102
102
  # Using pip
103
103
  pip install agent-cli
104
104
  ```
105
105
 
106
- > [!NOTE]
107
- > The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
108
- > See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
109
-
110
106
  Then test with:
111
107
 
112
108
  ```bash
@@ -46,7 +46,7 @@ Native Linux setup with full NVIDIA GPU acceleration for optimal performance.
46
46
  3. **Install agent-cli:**
47
47
 
48
48
  ```bash
49
- uv tool install agent-cli -p 3.13
49
+ uv tool install agent-cli
50
50
  ```
51
51
 
52
52
  4. **Test the setup:**
@@ -38,7 +38,7 @@ Native macOS setup with full Metal GPU acceleration for optimal performance.
38
38
  3. **Install agent-cli:**
39
39
 
40
40
  ```bash
41
- uv tool install agent-cli -p 3.13
41
+ uv tool install agent-cli
42
42
  # or: pip install agent-cli
43
43
  ```
44
44
 
@@ -112,7 +112,7 @@ If you have an NVIDIA GPU, also add:
112
112
  3. **Install agent-cli:**
113
113
 
114
114
  ```bash
115
- nix-shell -p portaudio pkg-config gcc python3 --run "uv tool install --upgrade agent-cli -p 3.13"
115
+ nix-shell -p portaudio pkg-config gcc python3 --run "uv tool install --upgrade agent-cli"
116
116
  # or add to your configuration:
117
117
  # environment.systemPackages = with pkgs; [ agent-cli ];
118
118
  ```
@@ -32,7 +32,7 @@ The fastest way to get started - no local services needed:
32
32
  powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
33
33
 
34
34
  # Install agent-cli
35
- uv tool install agent-cli -p 3.13
35
+ uv tool install agent-cli
36
36
 
37
37
  # Use with cloud providers (requires API keys)
38
38
  $env:OPENAI_API_KEY = "sk-..."
@@ -93,7 +93,7 @@ If you prefer manual setup:
93
93
  3. **Install agent-cli:**
94
94
 
95
95
  ```powershell
96
- uv tool install agent-cli -p 3.13
96
+ uv tool install agent-cli
97
97
  ```
98
98
 
99
99
  4. **Run services individually:**
@@ -6,6 +6,7 @@ struct AgentCLIApp: App {
6
6
  @NSApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate
7
7
 
8
8
  var body: some Scene {
9
+ // Settings are owned by SettingsWindowController so launch stays menu-bar-only.
9
10
  Settings {
10
11
  EmptyView()
11
12
  }
@@ -5,19 +5,20 @@ import SwiftUI
5
5
  final class SettingsWindowController {
6
6
  static let shared = SettingsWindowController()
7
7
 
8
+ private static let contentSize = NSSize(width: 460, height: 640)
9
+
8
10
  private var window: NSWindow?
9
11
 
10
12
  private init() {}
11
13
 
12
14
  func show() {
13
15
  if window == nil {
14
- let contentSize = NSSize(width: 460, height: 640)
15
- let controller = NSHostingController(rootView: SettingsView().frame(width: contentSize.width))
16
+ let controller = NSHostingController(rootView: SettingsView().frame(width: Self.contentSize.width))
16
17
  let window = NSWindow(contentViewController: controller)
17
18
  window.title = "Agent CLI Settings"
18
19
  window.styleMask = [.titled, .closable]
19
20
  window.isReleasedWhenClosed = false
20
- window.setContentSize(contentSize)
21
+ window.setContentSize(Self.contentSize)
21
22
  window.center()
22
23
  self.window = window
23
24
  }
@@ -5,6 +5,10 @@ import Foundation
5
5
  final class StatusMenuController: NSObject, NSMenuDelegate {
6
6
  static let shared = StatusMenuController()
7
7
 
8
+ private static let statusRefreshInterval: TimeInterval = 0.8
9
+ private static let statusRefreshRunLoopModes: [RunLoop.Mode] = [.common, .eventTracking]
10
+ private static let voiceStatusTitlePrefix = "Voice: "
11
+
8
12
  private let runner = AgentCommandRunner.shared
9
13
  private let appUpdater = AppUpdater.shared
10
14
  private let loginItemController = LoginItemController.shared
@@ -63,20 +67,18 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
63
67
  menu.addItem(actionItem("Autocorrect Clipboard", symbolName: "text.badge.checkmark", action: #selector(autocorrectClipboard)))
64
68
  menu.addItem(.separator())
65
69
 
66
- let voiceStatusItem = NSMenuItem(title: "", action: nil, keyEquivalent: "")
67
- voiceStatusItem.isEnabled = false
70
+ let voiceStatusItem = disabledItem("")
68
71
  menu.addItem(voiceStatusItem)
69
72
  self.voiceStatusItem = voiceStatusItem
70
73
 
71
- let shortcutItem = NSMenuItem(title: shortcutSummary.summary, action: nil, keyEquivalent: "")
72
- shortcutItem.isEnabled = false
73
- menu.addItem(shortcutItem)
74
+ menu.addItem(disabledItem(shortcutSummary.summary))
74
75
  menu.addItem(.separator())
75
76
 
76
- let recentItem = NSMenuItem(title: "Recent Recordings", action: nil, keyEquivalent: "")
77
- recentItem.image = symbolImage("clock.arrow.circlepath")
78
- recentItem.submenu = recentRecordingsMenu
79
- menu.addItem(recentItem)
77
+ menu.addItem(submenuItem(
78
+ "Recent Recordings",
79
+ symbolName: "clock.arrow.circlepath",
80
+ submenu: recentRecordingsMenu
81
+ ))
80
82
  menu.addItem(.separator())
81
83
 
82
84
  let loginItem = actionItem(
@@ -93,10 +95,11 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
93
95
  updateItem.isEnabled = appUpdater.canCheckForUpdates
94
96
  menu.addItem(updateItem)
95
97
 
96
- let troubleshootingItem = NSMenuItem(title: "Troubleshooting", action: nil, keyEquivalent: "")
97
- troubleshootingItem.image = symbolImage("wrench.and.screwdriver")
98
- troubleshootingItem.submenu = troubleshootingMenu
99
- menu.addItem(troubleshootingItem)
98
+ menu.addItem(submenuItem(
99
+ "Troubleshooting",
100
+ symbolName: "wrench.and.screwdriver",
101
+ submenu: troubleshootingMenu
102
+ ))
100
103
 
101
104
  menu.addItem(.separator())
102
105
  menu.addItem(actionItem("Quit", symbolName: "power", action: #selector(quit)))
@@ -107,9 +110,7 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
107
110
  recentRecordingsMenu.removeAllItems()
108
111
  let recentTranscriptions = RecentTranscriptionReader.recentTranscriptions()
109
112
  if recentTranscriptions.isEmpty {
110
- let item = NSMenuItem(title: "No recent transcriptions", action: nil, keyEquivalent: "")
111
- item.isEnabled = false
112
- recentRecordingsMenu.addItem(item)
113
+ recentRecordingsMenu.addItem(disabledItem("No recent transcriptions"))
113
114
  return
114
115
  }
115
116
 
@@ -194,18 +195,19 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
194
195
 
195
196
  private func startStatusRefreshTimer() {
196
197
  guard statusRefreshTimer == nil else { return }
197
- let timer = Timer(timeInterval: 0.8, repeats: true) { [weak self] _ in
198
+ let timer = Timer(timeInterval: Self.statusRefreshInterval, repeats: true) { [weak self] _ in
198
199
  Task { @MainActor in
199
200
  self?.refreshDynamicStatus()
200
201
  }
201
202
  }
202
- RunLoop.main.add(timer, forMode: .common)
203
- RunLoop.main.add(timer, forMode: .eventTracking)
203
+ for mode in Self.statusRefreshRunLoopModes {
204
+ RunLoop.main.add(timer, forMode: mode)
205
+ }
204
206
  statusRefreshTimer = timer
205
207
  }
206
208
 
207
209
  private func refreshDynamicStatus() {
208
- voiceStatusItem?.title = "Voice: \(runner.menuStatusMessage)"
210
+ voiceStatusItem?.title = "\(Self.voiceStatusTitlePrefix)\(runner.menuStatusMessage)"
209
211
  if let button = statusItem?.button {
210
212
  button.image = MenuBarIconImage.logoImage(state: runner.menuBarIconState)
211
213
  button.imagePosition = .imageOnly
@@ -228,6 +230,19 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
228
230
  return item
229
231
  }
230
232
 
233
+ private func disabledItem(_ title: String) -> NSMenuItem {
234
+ let item = NSMenuItem(title: title, action: nil, keyEquivalent: "")
235
+ item.isEnabled = false
236
+ return item
237
+ }
238
+
239
+ private func submenuItem(_ title: String, symbolName: String, submenu: NSMenu) -> NSMenuItem {
240
+ let item = NSMenuItem(title: title, action: nil, keyEquivalent: "")
241
+ item.image = symbolImage(symbolName)
242
+ item.submenu = submenu
243
+ return item
244
+ }
245
+
231
246
  private func symbolImage(_ name: String) -> NSImage? {
232
247
  NSImage(systemSymbolName: name, accessibilityDescription: nil)
233
248
  }