agent-cli 0.88.0__tar.gz → 0.90.0__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 (389) hide show
  1. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/scripts/sync_extras.py +1 -0
  2. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/docs.yml +4 -4
  3. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/markdown-code-runner.yml +1 -1
  4. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/pytest.yml +3 -3
  5. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/release-drafter.yml +1 -1
  6. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/release.yml +1 -1
  7. {agent_cli-0.88.0 → agent_cli-0.90.0}/.pre-commit-config.yaml +2 -2
  8. {agent_cli-0.88.0 → agent_cli-0.90.0}/PKG-INFO +47 -6
  9. {agent_cli-0.88.0 → agent_cli-0.90.0}/README.md +44 -5
  10. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_extras.json +6 -0
  11. agent_cli-0.90.0/agent_cli/_requirements/diarization.txt +402 -0
  12. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/kokoro.txt +4 -5
  13. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/mlx-whisper.txt +4 -2
  14. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/whisper-transformers.txt +7 -7
  15. agent_cli-0.90.0/agent_cli/agents/diarize_live_session.py +897 -0
  16. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/transcribe.py +227 -46
  17. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/cli.py +1 -0
  18. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/config.py +15 -0
  19. agent_cli-0.90.0/agent_cli/core/alignment.py +446 -0
  20. agent_cli-0.90.0/agent_cli/core/diarization.py +466 -0
  21. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/docs_gen.py +5 -0
  22. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/extras.py +4 -3
  23. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/opts.py +55 -3
  24. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_utils.py +9 -4
  25. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/cli.py +80 -1
  26. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/api.py +9 -1
  27. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/backends/base.py +7 -0
  28. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/backends/faster_whisper.py +22 -6
  29. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/backends/transformers.py +207 -34
  30. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/model_manager.py +4 -0
  31. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/__init__.py +19 -9
  32. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/asr.py +13 -2
  33. agent_cli-0.90.0/docs/commands/diarize-live-session.md +112 -0
  34. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/index.md +1 -0
  35. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/install-extras.md +1 -0
  36. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/server/whisper.md +45 -3
  37. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/transcribe-live.md +26 -1
  38. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/transcribe.md +79 -1
  39. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/configuration.md +1 -0
  40. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/index.md +1 -0
  41. {agent_cli-0.88.0 → agent_cli-0.90.0}/pyproject.toml +1 -0
  42. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_transcribe_recovery.py +140 -5
  43. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_vad.py +20 -20
  44. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_utils.py +2 -2
  45. agent_cli-0.90.0/tests/test_alignment.py +772 -0
  46. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_asr.py +16 -16
  47. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_asr_recovery.py +6 -0
  48. agent_cli-0.90.0/tests/test_diarization.py +683 -0
  49. agent_cli-0.90.0/tests/test_diarize_live_session.py +362 -0
  50. agent_cli-0.90.0/tests/test_faster_whisper_backend.py +66 -0
  51. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_json_output.py +37 -0
  52. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_server_whisper.py +105 -0
  53. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_services.py +6 -5
  54. {agent_cli-0.88.0 → agent_cli-0.90.0}/uv.lock +1237 -35
  55. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
  56. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude/skills/agent-cli-dev/examples.md +0 -0
  57. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude-plugin/README.md +0 -0
  58. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude-plugin/marketplace.json +0 -0
  59. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude-plugin/plugin.json +0 -0
  60. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
  61. {agent_cli-0.88.0 → agent_cli-0.90.0}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
  62. {agent_cli-0.88.0 → agent_cli-0.90.0}/.cursorrules +0 -0
  63. {agent_cli-0.88.0 → agent_cli-0.90.0}/.dockerignore +0 -0
  64. {agent_cli-0.88.0 → agent_cli-0.90.0}/.env.example +0 -0
  65. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/logo.svg +0 -0
  66. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/release-drafter.yml +0 -0
  67. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/renovate.json +0 -0
  68. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/scripts/check_extras_sync.py +0 -0
  69. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/scripts/check_plugin_skill_sync.py +0 -0
  70. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/scripts/sync_requirements.py +0 -0
  71. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/automerge.yml +0 -0
  72. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/docker.yml +0 -0
  73. {agent_cli-0.88.0 → agent_cli-0.90.0}/.github/workflows/toc.yaml +0 -0
  74. {agent_cli-0.88.0 → agent_cli-0.90.0}/.gitignore +0 -0
  75. {agent_cli-0.88.0 → agent_cli-0.90.0}/.jscpd.json +0 -0
  76. {agent_cli-0.88.0 → agent_cli-0.90.0}/.prompts/docs-review.md +0 -0
  77. {agent_cli-0.88.0 → agent_cli-0.90.0}/.prompts/pr-review.md +0 -0
  78. {agent_cli-0.88.0 → agent_cli-0.90.0}/CLAUDE.md +0 -0
  79. {agent_cli-0.88.0 → agent_cli-0.90.0}/LICENSE +0 -0
  80. {agent_cli-0.88.0 → agent_cli-0.90.0}/LLAMA_SERVER_USAGE.md +0 -0
  81. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/__init__.py +0 -0
  82. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/__main__.py +0 -0
  83. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/.gitkeep +0 -0
  84. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/audio.txt +0 -0
  85. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/faster-whisper.txt +0 -0
  86. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/llm.txt +0 -0
  87. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/memory.txt +0 -0
  88. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/piper.txt +0 -0
  89. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/rag.txt +0 -0
  90. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/server.txt +0 -0
  91. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/speed.txt +0 -0
  92. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/vad.txt +0 -0
  93. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/vectordb.txt +0 -0
  94. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_requirements/wyoming.txt +0 -0
  95. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/_tools.py +0 -0
  96. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/__init__.py +0 -0
  97. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/_voice_agent_common.py +0 -0
  98. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/assistant.py +0 -0
  99. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/autocorrect.py +0 -0
  100. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/chat.py +0 -0
  101. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/memory/__init__.py +0 -0
  102. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/memory/add.py +0 -0
  103. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/memory/proxy.py +0 -0
  104. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/rag_proxy.py +0 -0
  105. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/speak.py +0 -0
  106. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/transcribe_live.py +0 -0
  107. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/agents/voice_edit.py +0 -0
  108. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/api.py +0 -0
  109. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/config_cmd.py +0 -0
  110. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/constants.py +0 -0
  111. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/__init__.py +0 -0
  112. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/audio.py +0 -0
  113. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/audio_format.py +0 -0
  114. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/chroma.py +0 -0
  115. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/deps.py +0 -0
  116. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/openai_proxy.py +0 -0
  117. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/process.py +0 -0
  118. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/reranker.py +0 -0
  119. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/sse.py +0 -0
  120. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/transcription_logger.py +0 -0
  121. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/utils.py +0 -0
  122. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/vad.py +0 -0
  123. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/core/watch.py +0 -0
  124. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/daemon/__init__.py +0 -0
  125. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/daemon/cli.py +0 -0
  126. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/__init__.py +0 -0
  127. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/_branch_name.py +0 -0
  128. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/_config.py +0 -0
  129. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/_output.py +0 -0
  130. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/cleanup.py +0 -0
  131. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/cli.py +0 -0
  132. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/__init__.py +0 -0
  133. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/aider.py +0 -0
  134. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/base.py +0 -0
  135. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/claude.py +0 -0
  136. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/codex.py +0 -0
  137. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
  138. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/copilot.py +0 -0
  139. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
  140. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/gemini.py +0 -0
  141. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/opencode.py +0 -0
  142. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/coding_agents/registry.py +0 -0
  143. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/__init__.py +0 -0
  144. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/base.py +0 -0
  145. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/cursor.py +0 -0
  146. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/emacs.py +0 -0
  147. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/jetbrains.py +0 -0
  148. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/nano.py +0 -0
  149. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/neovim.py +0 -0
  150. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/registry.py +0 -0
  151. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/sublime.py +0 -0
  152. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/vim.py +0 -0
  153. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/vscode.py +0 -0
  154. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/editors/zed.py +0 -0
  155. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/hooks.py +0 -0
  156. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/launch.py +0 -0
  157. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/project.py +0 -0
  158. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/registry.py +0 -0
  159. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/skill/SKILL.md +0 -0
  160. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/skill/examples.md +0 -0
  161. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/__init__.py +0 -0
  162. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/apple_terminal.py +0 -0
  163. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/base.py +0 -0
  164. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/gnome.py +0 -0
  165. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/iterm2.py +0 -0
  166. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/kitty.py +0 -0
  167. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/registry.py +0 -0
  168. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/tmux.py +0 -0
  169. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/warp.py +0 -0
  170. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/terminals/zellij.py +0 -0
  171. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/dev/worktree.py +0 -0
  172. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/example-config.toml +0 -0
  173. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/__init__.py +0 -0
  174. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/common.py +0 -0
  175. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/hotkeys.py +0 -0
  176. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/launchd.py +0 -0
  177. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/service_config.py +0 -0
  178. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/services.py +0 -0
  179. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/install/systemd.py +0 -0
  180. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/__init__.py +0 -0
  181. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_files.py +0 -0
  182. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_filters.py +0 -0
  183. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_git.py +0 -0
  184. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_indexer.py +0 -0
  185. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_ingest.py +0 -0
  186. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_persistence.py +0 -0
  187. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_prompt.py +0 -0
  188. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_retrieval.py +0 -0
  189. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_store.py +0 -0
  190. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_streaming.py +0 -0
  191. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/_tasks.py +0 -0
  192. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/api.py +0 -0
  193. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/client.py +0 -0
  194. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/engine.py +0 -0
  195. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/entities.py +0 -0
  196. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/memory/models.py +0 -0
  197. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/py.typed +0 -0
  198. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/__init__.py +0 -0
  199. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_indexer.py +0 -0
  200. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_indexing.py +0 -0
  201. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_prompt.py +0 -0
  202. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_retriever.py +0 -0
  203. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/_store.py +0 -0
  204. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/api.py +0 -0
  205. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/client.py +0 -0
  206. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/engine.py +0 -0
  207. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/rag/models.py +0 -0
  208. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/.runtime/.gitkeep +0 -0
  209. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/__init__.py +0 -0
  210. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
  211. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
  212. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
  213. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
  214. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
  215. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
  216. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
  217. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
  218. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
  219. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
  220. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
  221. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
  222. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
  223. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
  224. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/run-openwakeword.sh +0 -0
  225. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
  226. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/setup-linux.sh +0 -0
  227. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
  228. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/setup-macos.sh +0 -0
  229. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/setup-windows.ps1 +0 -0
  230. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
  231. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/scripts/start-all-services.sh +0 -0
  232. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/__init__.py +0 -0
  233. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/common.py +0 -0
  234. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/model_manager.py +0 -0
  235. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/model_registry.py +0 -0
  236. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/proxy/__init__.py +0 -0
  237. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/proxy/api.py +0 -0
  238. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/streaming.py +0 -0
  239. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/__init__.py +0 -0
  240. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/api.py +0 -0
  241. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/backends/__init__.py +0 -0
  242. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/backends/base.py +0 -0
  243. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/backends/kokoro.py +0 -0
  244. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/backends/piper.py +0 -0
  245. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/model_manager.py +0 -0
  246. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/model_registry.py +0 -0
  247. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/tts/wyoming_handler.py +0 -0
  248. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/__init__.py +0 -0
  249. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/backends/__init__.py +0 -0
  250. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/backends/mlx.py +0 -0
  251. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/languages.py +0 -0
  252. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/model_registry.py +0 -0
  253. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/server/whisper/wyoming_handler.py +0 -0
  254. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/_wyoming_utils.py +0 -0
  255. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/llm.py +0 -0
  256. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/tts.py +0 -0
  257. {agent_cli-0.88.0 → agent_cli-0.90.0}/agent_cli/services/wake_word.py +0 -0
  258. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/docker-compose.yml +0 -0
  259. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/memory-proxy.Dockerfile +0 -0
  260. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/rag-proxy.Dockerfile +0 -0
  261. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/transcribe-proxy.Dockerfile +0 -0
  262. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/tts.Dockerfile +0 -0
  263. {agent_cli-0.88.0 → agent_cli-0.90.0}/docker/whisper.Dockerfile +0 -0
  264. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/CNAME +0 -0
  265. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/architecture/index.md +0 -0
  266. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/architecture/memory.md +0 -0
  267. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/architecture/rag.md +0 -0
  268. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/assistant.md +0 -0
  269. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/autocorrect.md +0 -0
  270. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/chat.md +0 -0
  271. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/config.md +0 -0
  272. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/daemon.md +0 -0
  273. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/dev.md +0 -0
  274. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/install-hotkeys.md +0 -0
  275. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/install-services.md +0 -0
  276. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/memory.md +0 -0
  277. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/rag-proxy.md +0 -0
  278. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/server/index.md +0 -0
  279. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/server/transcribe-proxy.md +0 -0
  280. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/server/tts.md +0 -0
  281. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/speak.md +0 -0
  282. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/start-services.md +0 -0
  283. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/commands/voice-edit.md +0 -0
  284. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/getting-started.md +0 -0
  285. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/iOS_Shortcut_Guide.md +0 -0
  286. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/docker.md +0 -0
  287. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/index.md +0 -0
  288. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/linux.md +0 -0
  289. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/macos.md +0 -0
  290. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/nixos.md +0 -0
  291. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/installation/windows.md +0 -0
  292. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/logo-clean.svg +0 -0
  293. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
  294. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/run_markdown_code_runner.py +0 -0
  295. {agent_cli-0.88.0 → agent_cli-0.90.0}/docs/system-integration.md +0 -0
  296. {agent_cli-0.88.0 → agent_cli-0.90.0}/example.agent-cli-config.toml +0 -0
  297. {agent_cli-0.88.0 → agent_cli-0.90.0}/justfile +0 -0
  298. {agent_cli-0.88.0 → agent_cli-0.90.0}/reddit.md +0 -0
  299. {agent_cli-0.88.0 → agent_cli-0.90.0}/shell.nix +0 -0
  300. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/__init__.py +0 -0
  301. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/__init__.py +0 -0
  302. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_fix_my_text.py +0 -0
  303. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_interactive.py +0 -0
  304. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_interactive_extra.py +0 -0
  305. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_memory_add.py +0 -0
  306. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_speak.py +0 -0
  307. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_speak_e2e.py +0 -0
  308. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_transcribe.py +0 -0
  309. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_transcribe_agent.py +0 -0
  310. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_transcribe_e2e.py +0 -0
  311. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_transcribe_live.py +0 -0
  312. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_tts_common.py +0 -0
  313. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_tts_common_extra.py +0 -0
  314. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_voice_agent_common.py +0 -0
  315. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_voice_edit.py +0 -0
  316. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_voice_edit_e2e.py +0 -0
  317. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/agents/test_wake_word_assistant.py +0 -0
  318. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/conftest.py +0 -0
  319. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/__init__.py +0 -0
  320. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_audio.py +0 -0
  321. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_audio_format.py +0 -0
  322. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_chroma.py +0 -0
  323. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_sse.py +0 -0
  324. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/core/test_watch.py +0 -0
  325. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/__init__.py +0 -0
  326. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_cleanup.py +0 -0
  327. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_cli.py +0 -0
  328. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_coding_agents.py +0 -0
  329. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_editors.py +0 -0
  330. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_hooks.py +0 -0
  331. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_launch.py +0 -0
  332. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_project.py +0 -0
  333. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_terminals.py +0 -0
  334. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_verification.py +0 -0
  335. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/dev/test_worktree.py +0 -0
  336. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/install/__init__.py +0 -0
  337. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/install/test_extras.py +0 -0
  338. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/__init__.py +0 -0
  339. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_api_health.py +0 -0
  340. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_api_integration_liveish.py +0 -0
  341. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_client.py +0 -0
  342. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_engine.py +0 -0
  343. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_files.py +0 -0
  344. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_filters.py +0 -0
  345. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_git_integration.py +0 -0
  346. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_indexer.py +0 -0
  347. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_memory_integration.py +0 -0
  348. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_proxy_passthrough.py +0 -0
  349. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_store.py +0 -0
  350. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/memory/test_utils.py +0 -0
  351. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/mocks/__init__.py +0 -0
  352. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/mocks/audio.py +0 -0
  353. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/mocks/llm.py +0 -0
  354. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/mocks/wyoming.py +0 -0
  355. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/__init__.py +0 -0
  356. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_api.py +0 -0
  357. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_engine.py +0 -0
  358. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_history.py +0 -0
  359. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_indexer.py +0 -0
  360. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_indexing.py +0 -0
  361. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_rag_client.py +0 -0
  362. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_rag_integration_liveish.py +0 -0
  363. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_rag_proxy_passthrough.py +0 -0
  364. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_retriever.py +0 -0
  365. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/rag/test_store.py +0 -0
  366. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_api.py +0 -0
  367. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_api_integration.py +0 -0
  368. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_audio_e2e.py +0 -0
  369. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_cli.py +0 -0
  370. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_config.py +0 -0
  371. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_config_cmd.py +0 -0
  372. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_daemon.py +0 -0
  373. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_docs_gen.py +0 -0
  374. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_env_vars.py +0 -0
  375. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_llm.py +0 -0
  376. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_llm_gemini.py +0 -0
  377. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_memory_tools.py +0 -0
  378. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_mlx_backend.py +0 -0
  379. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_process_manager.py +0 -0
  380. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_requires_extras.py +0 -0
  381. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_server_streaming.py +0 -0
  382. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_server_tts.py +0 -0
  383. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_tools.py +0 -0
  384. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_transformers_backend.py +0 -0
  385. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_tts.py +0 -0
  386. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_utils.py +0 -0
  387. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_wake_word.py +0 -0
  388. {agent_cli-0.88.0 → agent_cli-0.90.0}/tests/test_wyoming_utils.py +0 -0
  389. {agent_cli-0.88.0 → agent_cli-0.90.0}/zensical.toml +0 -0
@@ -38,6 +38,7 @@ EXTRA_METADATA: dict[str, tuple[str, list[str]]] = {
38
38
  "rag": ("RAG proxy (ChromaDB, embeddings)", ["chromadb", "pydantic_ai"]),
39
39
  "memory": ("Long-term memory proxy", ["chromadb", "yaml", "pydantic_ai"]),
40
40
  "vad": ("Voice Activity Detection (Silero VAD via ONNX)", ["onnxruntime"]),
41
+ "diarization": ("Speaker diarization (pyannote.audio)", ["pyannote.audio"]),
41
42
  "whisper": ("Local Whisper ASR (faster-whisper)", ["faster_whisper"]),
42
43
  "whisper-mlx": ("MLX Whisper for Apple Silicon", ["mlx_whisper"]),
43
44
  "tts": ("Local Piper TTS", ["piper"]),
@@ -32,7 +32,7 @@ jobs:
32
32
  lfs: true
33
33
 
34
34
  - name: Install uv
35
- uses: astral-sh/setup-uv@v7
35
+ uses: astral-sh/setup-uv@v8.1.0
36
36
 
37
37
  - name: Set up Python
38
38
  run: uv python install 3.12
@@ -45,11 +45,11 @@ jobs:
45
45
 
46
46
  - name: Setup Pages
47
47
  if: github.event_name != 'pull_request'
48
- uses: actions/configure-pages@v5
48
+ uses: actions/configure-pages@v6
49
49
 
50
50
  - name: Upload artifact
51
51
  if: github.event_name != 'pull_request'
52
- uses: actions/upload-pages-artifact@v4
52
+ uses: actions/upload-pages-artifact@v5
53
53
  with:
54
54
  path: "./site"
55
55
 
@@ -63,4 +63,4 @@ jobs:
63
63
  steps:
64
64
  - name: Deploy to GitHub Pages
65
65
  id: deployment
66
- uses: actions/deploy-pages@v4
66
+ uses: actions/deploy-pages@v5
@@ -22,7 +22,7 @@ jobs:
22
22
  python-version: "3.13.11"
23
23
 
24
24
  - name: Install uv
25
- uses: astral-sh/setup-uv@v7
25
+ uses: astral-sh/setup-uv@v8.1.0
26
26
 
27
27
  - name: Run markdown-code-runner
28
28
  env:
@@ -27,15 +27,15 @@ jobs:
27
27
  if: matrix.os == 'ubuntu-latest'
28
28
  run: sudo apt-get update && sudo apt-get install -y portaudio19-dev
29
29
  - name: Install uv
30
- uses: astral-sh/setup-uv@v7
30
+ uses: astral-sh/setup-uv@v8.1.0
31
31
  - name: Run pytest (macOS - all extras)
32
32
  if: matrix.os == 'macos-latest'
33
33
  run: uv run --all-extras pytest -vvv
34
34
  - name: Run pytest (non-macOS - exclude mlx-whisper)
35
35
  if: matrix.os != 'macos-latest'
36
- run: uv run --extra audio --extra llm --extra rag --extra memory --extra vad --extra faster-whisper --extra piper --extra kokoro --extra server --extra speed --extra test pytest -vvv
36
+ run: uv run --extra audio --extra diarization --extra llm --extra rag --extra memory --extra vad --extra faster-whisper --extra piper --extra kokoro --extra server --extra speed --extra test pytest -vvv
37
37
  - name: Upload coverage reports to Codecov
38
38
  if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
39
- uses: codecov/codecov-action@v5
39
+ uses: codecov/codecov-action@v6
40
40
  env:
41
41
  CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
@@ -9,6 +9,6 @@ jobs:
9
9
  update_release_draft:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: release-drafter/release-drafter@v6
12
+ - uses: release-drafter/release-drafter@v7
13
13
  env:
14
14
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -15,7 +15,7 @@ jobs:
15
15
  steps:
16
16
  - uses: actions/checkout@v6
17
17
  - name: Install uv
18
- uses: astral-sh/setup-uv@v7
18
+ uses: astral-sh/setup-uv@v8.1.0
19
19
  - name: Build
20
20
  run: uv build
21
21
  - name: Publish package distributions to PyPI
@@ -11,13 +11,13 @@ repos:
11
11
  - id: end-of-file-fixer
12
12
  - id: mixed-line-ending
13
13
  - repo: https://github.com/astral-sh/ruff-pre-commit
14
- rev: "v0.15.8"
14
+ rev: "v0.15.11"
15
15
  hooks:
16
16
  - id: ruff
17
17
  args: ["--fix"]
18
18
  - id: ruff-format
19
19
  - repo: https://github.com/pre-commit/mirrors-mypy
20
- rev: "v1.19.1"
20
+ rev: "v1.20.1"
21
21
  hooks:
22
22
  - id: mypy
23
23
  additional_dependencies: ["types-PyYAML"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agent-cli
3
- Version: 0.88.0
3
+ Version: 0.90.0
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>
@@ -34,6 +34,8 @@ Requires-Dist: pytest>=7.0.0; extra == 'dev'
34
34
  Requires-Dist: ruff; extra == 'dev'
35
35
  Requires-Dist: versioningit; extra == 'dev'
36
36
  Requires-Dist: zensical; extra == 'dev'
37
+ Provides-Extra: diarization
38
+ Requires-Dist: pyannote-audio>=3.3; extra == 'diarization'
37
39
  Provides-Extra: faster-whisper
38
40
  Requires-Dist: fastapi[standard]; extra == 'faster-whisper'
39
41
  Requires-Dist: faster-whisper>=1.0.0; extra == 'faster-whisper'
@@ -526,6 +528,7 @@ agent-cli install-extras rag memory vad
526
528
  Available extras:
527
529
 
528
530
  • audio - Audio recording/playback
531
+ • diarization - Speaker diarization (pyannote.audio)
529
532
  • faster-whisper - Whisper ASR via CTranslate2
530
533
  • kokoro - Kokoro neural TTS (GPU)
531
534
  • llm - LLM framework (pydantic-ai)
@@ -550,9 +553,9 @@ agent-cli install-extras rag memory vad
550
553
 
551
554
 
552
555
  ╭─ Arguments ────────────────────────────────────────────────────────────────────────────╮
553
- │ extras [EXTRAS]... Extras to install: audio, faster-whisper, kokoro, llm,
554
- │ memory, mlx-whisper, piper, rag, server, speed, vad,
555
- │ vectordb, whisper-transformers, wyoming
556
+ │ extras [EXTRAS]... Extras to install: audio, diarization, faster-whisper, │
557
+ kokoro, llm, memory, mlx-whisper, piper, rag, server,
558
+ speed, vad, vectordb, whisper-transformers, wyoming
556
559
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
557
560
  ╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
558
561
  │ --list -l Show available extras with descriptions (what each one enables) │
@@ -836,7 +839,7 @@ the `[defaults]` section of your configuration file.
836
839
  │ --llm --no-llm Clean up transcript with LLM: fix errors, │
837
840
  │ add punctuation, remove filler words. Uses │
838
841
  │ --extra-instructions if set (via CLI or │
839
- │ config file).
842
+ │ config file). Not compatible with --diarize.
840
843
  │ [default: no-llm] │
841
844
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
842
845
  ╭─ Audio Recovery ───────────────────────────────────────────────────────────────────────╮
@@ -958,6 +961,44 @@ the `[defaults]` section of your configuration file.
958
961
  │ provide context for │
959
962
  │ LLM cleanup. │
960
963
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
964
+ ╭─ Diarization ──────────────────────────────────────────────────────────────────────────╮
965
+ │ --diarize --no-diarize Enable speaker diarization │
966
+ │ (requires pyannote-audio). │
967
+ │ Install with: pip install │
968
+ │ agent-cli[diarization] │
969
+ │ [default: no-diarize] │
970
+ │ --diarize-format [inline|json] Output format for diarization │
971
+ │ ('inline' for [Speaker N]: │
972
+ │ text, 'json' for structured │
973
+ │ output). │
974
+ │ [default: inline] │
975
+ │ --hf-token TEXT HuggingFace token for pyannote │
976
+ │ models. Required for │
977
+ │ diarization. Token must have │
978
+ │ 'Read access to contents of all │
979
+ │ public gated repos you can │
980
+ │ access' permission. Accept │
981
+ │ licenses at: │
982
+ │ https://hf.co/pyannote/speaker… │
983
+ │ https://hf.co/pyannote/segment… │
984
+ │ https://hf.co/pyannote/wespeak… │
985
+ │ [env var: HF_TOKEN] │
986
+ │ --min-speakers INTEGER Minimum number of speakers │
987
+ │ (optional hint for │
988
+ │ diarization). │
989
+ │ --max-speakers INTEGER Maximum number of speakers │
990
+ │ (optional hint for │
991
+ │ diarization). │
992
+ │ --align-words --no-align-words Use wav2vec2 forced alignment │
993
+ │ for word-level speaker │
994
+ │ assignment (more accurate but │
995
+ │ slower). │
996
+ │ [default: no-align-words] │
997
+ │ --align-language TEXT Language code for word │
998
+ │ alignment model (e.g., 'en', │
999
+ │ 'fr', 'de', 'es', 'it'). │
1000
+ │ [default: en] │
1001
+ ╰────────────────────────────────────────────────────────────────────────────────────────╯
961
1002
 
962
1003
  ```
963
1004
 
@@ -1156,7 +1197,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1156
1197
  ╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
1157
1198
  │ --llm --no-llm Clean up transcript with LLM: fix errors, add punctuation, │
1158
1199
  │ remove filler words. Uses --extra-instructions if set (via CLI │
1159
- │ or config file).
1200
+ │ or config file). Not compatible with --diarize.
1160
1201
  │ [default: no-llm] │
1161
1202
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1162
1203
  ╭─ Process Management ───────────────────────────────────────────────────────────────────╮
@@ -423,6 +423,7 @@ agent-cli install-extras rag memory vad
423
423
  Available extras:
424
424
 
425
425
  • audio - Audio recording/playback
426
+ • diarization - Speaker diarization (pyannote.audio)
426
427
  • faster-whisper - Whisper ASR via CTranslate2
427
428
  • kokoro - Kokoro neural TTS (GPU)
428
429
  • llm - LLM framework (pydantic-ai)
@@ -447,9 +448,9 @@ agent-cli install-extras rag memory vad
447
448
 
448
449
 
449
450
  ╭─ Arguments ────────────────────────────────────────────────────────────────────────────╮
450
- │ extras [EXTRAS]... Extras to install: audio, faster-whisper, kokoro, llm,
451
- │ memory, mlx-whisper, piper, rag, server, speed, vad,
452
- │ vectordb, whisper-transformers, wyoming
451
+ │ extras [EXTRAS]... Extras to install: audio, diarization, faster-whisper, │
452
+ kokoro, llm, memory, mlx-whisper, piper, rag, server,
453
+ speed, vad, vectordb, whisper-transformers, wyoming
453
454
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
454
455
  ╭─ Options ──────────────────────────────────────────────────────────────────────────────╮
455
456
  │ --list -l Show available extras with descriptions (what each one enables) │
@@ -733,7 +734,7 @@ the `[defaults]` section of your configuration file.
733
734
  │ --llm --no-llm Clean up transcript with LLM: fix errors, │
734
735
  │ add punctuation, remove filler words. Uses │
735
736
  │ --extra-instructions if set (via CLI or │
736
- │ config file).
737
+ │ config file). Not compatible with --diarize.
737
738
  │ [default: no-llm] │
738
739
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
739
740
  ╭─ Audio Recovery ───────────────────────────────────────────────────────────────────────╮
@@ -855,6 +856,44 @@ the `[defaults]` section of your configuration file.
855
856
  │ provide context for │
856
857
  │ LLM cleanup. │
857
858
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
859
+ ╭─ Diarization ──────────────────────────────────────────────────────────────────────────╮
860
+ │ --diarize --no-diarize Enable speaker diarization │
861
+ │ (requires pyannote-audio). │
862
+ │ Install with: pip install │
863
+ │ agent-cli[diarization] │
864
+ │ [default: no-diarize] │
865
+ │ --diarize-format [inline|json] Output format for diarization │
866
+ │ ('inline' for [Speaker N]: │
867
+ │ text, 'json' for structured │
868
+ │ output). │
869
+ │ [default: inline] │
870
+ │ --hf-token TEXT HuggingFace token for pyannote │
871
+ │ models. Required for │
872
+ │ diarization. Token must have │
873
+ │ 'Read access to contents of all │
874
+ │ public gated repos you can │
875
+ │ access' permission. Accept │
876
+ │ licenses at: │
877
+ │ https://hf.co/pyannote/speaker… │
878
+ │ https://hf.co/pyannote/segment… │
879
+ │ https://hf.co/pyannote/wespeak… │
880
+ │ [env var: HF_TOKEN] │
881
+ │ --min-speakers INTEGER Minimum number of speakers │
882
+ │ (optional hint for │
883
+ │ diarization). │
884
+ │ --max-speakers INTEGER Maximum number of speakers │
885
+ │ (optional hint for │
886
+ │ diarization). │
887
+ │ --align-words --no-align-words Use wav2vec2 forced alignment │
888
+ │ for word-level speaker │
889
+ │ assignment (more accurate but │
890
+ │ slower). │
891
+ │ [default: no-align-words] │
892
+ │ --align-language TEXT Language code for word │
893
+ │ alignment model (e.g., 'en', │
894
+ │ 'fr', 'de', 'es', 'it'). │
895
+ │ [default: en] │
896
+ ╰────────────────────────────────────────────────────────────────────────────────────────╯
858
897
 
859
898
  ```
860
899
 
@@ -1053,7 +1092,7 @@ uv tool install "agent-cli[vad]" -p 3.13
1053
1092
  ╭─ LLM Configuration ────────────────────────────────────────────────────────────────────╮
1054
1093
  │ --llm --no-llm Clean up transcript with LLM: fix errors, add punctuation, │
1055
1094
  │ remove filler words. Uses --extra-instructions if set (via CLI │
1056
- │ or config file).
1095
+ │ or config file). Not compatible with --diarize.
1057
1096
  │ [default: no-llm] │
1058
1097
  ╰────────────────────────────────────────────────────────────────────────────────────────╯
1059
1098
  ╭─ Process Management ───────────────────────────────────────────────────────────────────╮
@@ -5,6 +5,12 @@
5
5
  "sounddevice"
6
6
  ]
7
7
  ],
8
+ "diarization": [
9
+ "Speaker diarization (pyannote.audio)",
10
+ [
11
+ "pyannote.audio"
12
+ ]
13
+ ],
8
14
  "faster-whisper": [
9
15
  "Whisper ASR via CTranslate2",
10
16
  [