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