agent-cli 0.96.0__tar.gz → 0.96.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_cli-0.96.0/agent_cli/dev/skill → agent_cli-0.96.2/.claude/skills/agent-cli-dev}/SKILL.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/README.md +2 -2
- {agent_cli-0.96.0/.claude → agent_cli-0.96.2/.claude-plugin}/skills/agent-cli-dev/SKILL.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/Casks/agent-cli.rb +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/PKG-INFO +7 -11
- {agent_cli-0.96.0 → agent_cli-0.96.2}/README.md +6 -10
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/deps.py +2 -3
- {agent_cli-0.96.0/.claude-plugin/skills/agent-cli-dev → agent_cli-0.96.2/agent_cli/dev/skill}/SKILL.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/memory.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/rag.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/diarize-live-session.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/transcribe-live.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/getting-started.md +2 -6
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/index.md +2 -6
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/docker.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/index.md +1 -5
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/linux.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/macos.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/nixos.md +1 -1
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/windows.md +2 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCLIApp.swift +1 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/SettingsWindowController.swift +4 -3
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/StatusMenuController.swift +35 -20
- agent_cli-0.96.2/macos/AgentCLI/Sources/AgentCLI/VoiceSpectrumAnalyzer.swift +144 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/VoiceSpectrumAnalyzerTests.swift +14 -2
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/appcast.xml +35 -0
- agent_cli-0.96.2/tests/test_macos_app.py +298 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/zensical.toml +1 -1
- agent_cli-0.96.0/macos/AgentCLI/Sources/AgentCLI/VoiceSpectrumAnalyzer.swift +0 -71
- agent_cli-0.96.0/tests/test_macos_app.py +0 -1318
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.cursorrules +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.dockerignore +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.env.example +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/logo.svg +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/release-drafter.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/renovate.json +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/normalize_appcast.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/sync_extras.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/scripts/update_cask.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/docker.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/release.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.gitignore +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.jscpd.json +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.prompts/docs-review.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/.prompts/pr-review.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/CLAUDE.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/LICENSE +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/LLAMA_SERVER_USAGE.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/__main__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_extras.json +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/diarization.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/vectordb.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/whisper-transformers.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_requirements/wyoming.txt +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/_tools.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/diarize_live_session.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/memory/proxy.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/rag_proxy.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/speakers.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/transcribe_live.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/config.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/constants.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/alignment.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/diarization.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/process.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/speaker_identity.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/daemon/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/daemon/cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_branch_name.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_config.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/_output.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/cleanup.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/hooks.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/launch.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/common.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/extras.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/launchd.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/service_config.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/services.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/install/systemd.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/client.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/opts.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/py.typed +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/common.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/backends/transformers.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/docker-compose.yml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/memory-proxy.Dockerfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/rag-proxy.Dockerfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/transcribe-proxy.Dockerfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/tts.Dockerfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docker/whisper.Dockerfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/CNAME +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/architecture/index.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/assistant.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/chat.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/config.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/daemon.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/dev.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/index.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-extras.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/install-services.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/memory.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/rag-proxy.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/index.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/transcribe-proxy.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/speak.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/speakers.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/start-services.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/configuration.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/iOS_Shortcut_Guide.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/installation/macos-app.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/logo-avatar.svg +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/logo-clean.svg +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/docs/system-integration.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/justfile +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Package.resolved +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Package.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/README.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/AgentCLI.entitlements +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/Info.plist +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Resources/dmg-background.svg +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCommand.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentCommandRunner.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AgentRuntime.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppDelegate.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppMetadata.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/AppUpdater.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/BootstrapState.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/CommandResult.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/ConfigurableHotkeyController.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/FocusedTextTarget.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/LoginItemController.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/MenuBarIcon.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecentTranscriptionReader.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecordingIndicatorController.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RecordingSoundSettings.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/RuntimeSettings.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/Shortcuts.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/TranscriptPasteController.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/TranscriptionSettings.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/VoiceLevelOverlay.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/AgentCommandTests.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/LoginItemControllerTests.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/RecentTranscriptionReaderTests.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/RecordingIndicatorControllerTests.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Tests/AgentCLITests/ShortcutDefaultsTests.swift +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/build-macos-app.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/macos/test-macos-app-e2e.sh +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/pyproject.toml +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/reddit.md +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/shell.nix +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_speakers.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_live.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/conftest.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_audio.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_sse.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_vad.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/core/test_watch.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_cleanup.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_hooks.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_launch.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_project.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/test_extras.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/install/test_launchd.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_client.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_files.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_store.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/audio.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/llm.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/__init__.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_history.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_store.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_alignment.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_api.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_api_integration.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_asr.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_cli.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_config.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_daemon.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_diarization.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_diarize_live_session.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_env_vars.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_faster_whisper_backend.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_json_output.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_llm.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_normalize_appcast.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_process_manager.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_tts.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_services.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_speaker_identity.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_tools.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_transformers_backend.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_tts.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_update_cask.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_wake_word.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.96.0 → agent_cli-0.96.2}/uv.lock +0 -0
{agent_cli-0.96.0/agent_cli/dev/skill → agent_cli-0.96.2/.claude/skills/agent-cli-dev}/SKILL.md
RENAMED
|
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
# Install globally
|
|
20
|
-
uv tool install agent-cli
|
|
20
|
+
uv tool install agent-cli
|
|
21
21
|
|
|
22
22
|
# Or run directly without installing
|
|
23
|
-
uvx
|
|
23
|
+
uvx agent-cli dev new <branch-name> --prompt "..."
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## When to spawn parallel agents
|
|
@@ -17,10 +17,10 @@ The plugin provides a skill that enables Claude Code to:
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
# Using uv (recommended)
|
|
20
|
-
uv tool install agent-cli
|
|
20
|
+
uv tool install agent-cli
|
|
21
21
|
|
|
22
22
|
# Or run directly without installing
|
|
23
|
-
uvx
|
|
23
|
+
uvx agent-cli dev new my-feature --agent --prompt "..."
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
### Install the Claude Code plugin
|
|
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
# Install globally
|
|
20
|
-
uv tool install agent-cli
|
|
20
|
+
uv tool install agent-cli
|
|
21
21
|
|
|
22
22
|
# Or run directly without installing
|
|
23
|
-
uvx
|
|
23
|
+
uvx agent-cli dev new <branch-name> --prompt "..."
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## When to spawn parallel agents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
cask "agent-cli" do
|
|
2
|
-
version "0.
|
|
3
|
-
sha256 "
|
|
2
|
+
version "0.96.1"
|
|
3
|
+
sha256 "eef32008aa3d60a114eac824bc32c12385de07c7656bae5edcde24487fc3d72d"
|
|
4
4
|
|
|
5
5
|
url "https://github.com/basnijholt/agent-cli/releases/download/v#{version}/AgentCLI.dmg"
|
|
6
6
|
name "Agent CLI"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agent-cli
|
|
3
|
-
Version: 0.96.
|
|
3
|
+
Version: 0.96.2
|
|
4
4
|
Summary: A suite of AI-powered command-line tools for text correction, audio transcription, and voice assistance.
|
|
5
5
|
Project-URL: Homepage, https://github.com/basnijholt/agent-cli
|
|
6
6
|
Author-email: Bas Nijholt <bas@nijho.lt>
|
|
@@ -154,7 +154,7 @@ Since then I have expanded the tool with many more features, all focused on loca
|
|
|
154
154
|
- **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
|
|
155
155
|
- **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
|
|
156
156
|
- **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI-compatible APIs), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
|
|
157
|
-
- **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"
|
|
157
|
+
- **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
|
|
158
158
|
|
|
159
159
|
## Quick Start
|
|
160
160
|
|
|
@@ -175,16 +175,12 @@ If you already have AI services running (or plan to use OpenAI), simply install:
|
|
|
175
175
|
|
|
176
176
|
```bash
|
|
177
177
|
# Using uv (recommended)
|
|
178
|
-
uv tool install agent-cli
|
|
178
|
+
uv tool install agent-cli
|
|
179
179
|
|
|
180
180
|
# Using pip
|
|
181
181
|
pip install agent-cli
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
> [!NOTE]
|
|
185
|
-
> The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
|
|
186
|
-
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
187
|
-
|
|
188
184
|
Then use it:
|
|
189
185
|
```bash
|
|
190
186
|
agent-cli autocorrect "this has an eror"
|
|
@@ -218,12 +214,12 @@ agent-cli autocorrect "this has an eror"
|
|
|
218
214
|
|
|
219
215
|
> [!NOTE]
|
|
220
216
|
> `agent-cli` uses `sounddevice` for real-time microphone/voice features.
|
|
221
|
-
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli
|
|
217
|
+
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli`.
|
|
222
218
|
> On Windows and macOS, this is handled automatically.
|
|
223
219
|
|
|
224
220
|
```bash
|
|
225
221
|
# 1. Install agent-cli
|
|
226
|
-
uv tool install agent-cli
|
|
222
|
+
uv tool install agent-cli
|
|
227
223
|
|
|
228
224
|
# 2. Install all required services
|
|
229
225
|
agent-cli install-services
|
|
@@ -308,7 +304,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
|
|
|
308
304
|
|
|
309
305
|
```bash
|
|
310
306
|
# Using uv (recommended)
|
|
311
|
-
uv tool install agent-cli
|
|
307
|
+
uv tool install agent-cli
|
|
312
308
|
|
|
313
309
|
# Using pip
|
|
314
310
|
pip install agent-cli
|
|
@@ -1144,7 +1140,7 @@ the `[defaults]` section of your configuration file.
|
|
|
1144
1140
|
|
|
1145
1141
|
**Installation:** Requires the `vad` extra:
|
|
1146
1142
|
```bash
|
|
1147
|
-
uv tool install "agent-cli[vad]"
|
|
1143
|
+
uv tool install "agent-cli[vad]"
|
|
1148
1144
|
```
|
|
1149
1145
|
|
|
1150
1146
|
**How to Use It:**
|
|
@@ -49,7 +49,7 @@ Since then I have expanded the tool with many more features, all focused on loca
|
|
|
49
49
|
- **[`rag-proxy`](docs/commands/rag-proxy.md)**: RAG proxy server for chatting with your documents.
|
|
50
50
|
- **[`dev`](docs/commands/dev.md)**: Parallel development with git worktrees and AI coding agents.
|
|
51
51
|
- **[`server`](docs/commands/server/index.md)**: Local ASR and TTS servers with dual-protocol (Wyoming & OpenAI-compatible APIs), TTL-based memory management, and multi-platform acceleration. Whisper uses MLX on Apple Silicon or Faster Whisper on Linux/CUDA. TTS supports Kokoro (GPU) or Piper (CPU).
|
|
52
|
-
- **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"
|
|
52
|
+
- **[`transcribe-live`](docs/commands/transcribe-live.md)**: Continuous background transcription with VAD. Install with `uv tool install "agent-cli[vad]"`.
|
|
53
53
|
|
|
54
54
|
## Quick Start
|
|
55
55
|
|
|
@@ -70,16 +70,12 @@ If you already have AI services running (or plan to use OpenAI), simply install:
|
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
# Using uv (recommended)
|
|
73
|
-
uv tool install agent-cli
|
|
73
|
+
uv tool install agent-cli
|
|
74
74
|
|
|
75
75
|
# Using pip
|
|
76
76
|
pip install agent-cli
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
-
> [!NOTE]
|
|
80
|
-
> The `-p 3.13` flag is required because some dependencies (like `onnxruntime`) don't support Python 3.14 yet.
|
|
81
|
-
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
82
|
-
|
|
83
79
|
Then use it:
|
|
84
80
|
```bash
|
|
85
81
|
agent-cli autocorrect "this has an eror"
|
|
@@ -113,12 +109,12 @@ agent-cli autocorrect "this has an eror"
|
|
|
113
109
|
|
|
114
110
|
> [!NOTE]
|
|
115
111
|
> `agent-cli` uses `sounddevice` for real-time microphone/voice features.
|
|
116
|
-
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli
|
|
112
|
+
> On Linux only, you need to install the system-level PortAudio library (`sudo apt install portaudio19-dev` / your distro's equivalent on Linux) **before** you run `uv tool install agent-cli`.
|
|
117
113
|
> On Windows and macOS, this is handled automatically.
|
|
118
114
|
|
|
119
115
|
```bash
|
|
120
116
|
# 1. Install agent-cli
|
|
121
|
-
uv tool install agent-cli
|
|
117
|
+
uv tool install agent-cli
|
|
122
118
|
|
|
123
119
|
# 2. Install all required services
|
|
124
120
|
agent-cli install-services
|
|
@@ -203,7 +199,7 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
|
|
|
203
199
|
|
|
204
200
|
```bash
|
|
205
201
|
# Using uv (recommended)
|
|
206
|
-
uv tool install agent-cli
|
|
202
|
+
uv tool install agent-cli
|
|
207
203
|
|
|
208
204
|
# Using pip
|
|
209
205
|
pip install agent-cli
|
|
@@ -1039,7 +1035,7 @@ the `[defaults]` section of your configuration file.
|
|
|
1039
1035
|
|
|
1040
1036
|
**Installation:** Requires the `vad` extra:
|
|
1041
1037
|
```bash
|
|
1042
|
-
uv tool install "agent-cli[vad]"
|
|
1038
|
+
uv tool install "agent-cli[vad]"
|
|
1043
1039
|
```
|
|
1044
1040
|
|
|
1045
1041
|
**How to Use It:**
|
|
@@ -103,7 +103,7 @@ def _format_install_commands(extras: list[str]) -> list[str]:
|
|
|
103
103
|
extras_args = " ".join(extras)
|
|
104
104
|
return [
|
|
105
105
|
"Install with:",
|
|
106
|
-
f' [bold cyan]uv tool install
|
|
106
|
+
f' [bold cyan]uv tool install "agent-cli\\[{combined}]"[/bold cyan]',
|
|
107
107
|
" # or",
|
|
108
108
|
f" [bold cyan]agent-cli install-extras {extras_args}[/bold cyan]",
|
|
109
109
|
]
|
|
@@ -122,8 +122,7 @@ def _get_install_hint(extra: str) -> str:
|
|
|
122
122
|
lines.append("")
|
|
123
123
|
lines.append("Install one with:")
|
|
124
124
|
lines.extend(
|
|
125
|
-
f' [bold cyan]uv tool install
|
|
126
|
-
for alt in alternatives
|
|
125
|
+
f' [bold cyan]uv tool install "agent-cli\\[{alt}]"[/bold cyan]' for alt in alternatives
|
|
127
126
|
)
|
|
128
127
|
lines.append(" # or")
|
|
129
128
|
lines.extend(
|
|
@@ -17,10 +17,10 @@ If `agent-cli` is not available, install it first:
|
|
|
17
17
|
|
|
18
18
|
```bash
|
|
19
19
|
# Install globally
|
|
20
|
-
uv tool install agent-cli
|
|
20
|
+
uv tool install agent-cli
|
|
21
21
|
|
|
22
22
|
# Or run directly without installing
|
|
23
|
-
uvx
|
|
23
|
+
uvx agent-cli dev new <branch-name> --prompt "..."
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
## When to spawn parallel agents
|
|
@@ -75,7 +75,7 @@ docker run -d -p 3000:8080 \
|
|
|
75
75
|
ghcr.io/open-webui/open-webui:main
|
|
76
76
|
|
|
77
77
|
# 3. Start the memory proxy (runs in foreground so you can watch the logs)
|
|
78
|
-
uvx
|
|
78
|
+
uvx --from "agent-cli[memory]" agent-cli memory proxy \
|
|
79
79
|
--memory-path ./my-memories \
|
|
80
80
|
--openai-base-url http://localhost:11434/v1 \
|
|
81
81
|
--embedding-model embeddinggemma:300m
|
|
@@ -88,7 +88,7 @@ uvx -p 3.13 --from "agent-cli[memory]" agent-cli memory proxy \
|
|
|
88
88
|
```bash
|
|
89
89
|
# Terminal 1: Pull models and start proxy
|
|
90
90
|
ollama pull embeddinggemma:300m && ollama pull qwen3:4b
|
|
91
|
-
uvx
|
|
91
|
+
uvx --from "agent-cli[memory]" agent-cli memory proxy \
|
|
92
92
|
--memory-path ./my-memories \
|
|
93
93
|
--openai-base-url http://localhost:11434/v1 \
|
|
94
94
|
--embedding-model embeddinggemma:300m
|
|
@@ -71,7 +71,7 @@ docker run -d -p 3000:8080 \
|
|
|
71
71
|
ghcr.io/open-webui/open-webui:main
|
|
72
72
|
|
|
73
73
|
# 3. Start the RAG proxy (runs in foreground so you can watch the logs)
|
|
74
|
-
uvx
|
|
74
|
+
uvx --from "agent-cli[rag]" agent-cli rag-proxy \
|
|
75
75
|
--docs-folder ./my-docs \
|
|
76
76
|
--openai-base-url http://localhost:11434/v1 \
|
|
77
77
|
--embedding-model embeddinggemma:300m
|
|
@@ -84,7 +84,7 @@ uvx -p 3.13 --from "agent-cli[rag]" agent-cli rag-proxy \
|
|
|
84
84
|
```bash
|
|
85
85
|
# Terminal 1: Pull models and start proxy
|
|
86
86
|
ollama pull embeddinggemma:300m && ollama pull qwen3:4b
|
|
87
|
-
uvx
|
|
87
|
+
uvx --from "agent-cli[rag]" agent-cli rag-proxy \
|
|
88
88
|
--docs-folder ./my-docs \
|
|
89
89
|
--openai-base-url http://localhost:11434/v1 \
|
|
90
90
|
--embedding-model embeddinggemma:300m
|
|
@@ -31,7 +31,7 @@ Use `--retranscribe` if you want to re-run ASR on the combined audio instead of
|
|
|
31
31
|
Requires the `diarization` extra:
|
|
32
32
|
|
|
33
33
|
```bash
|
|
34
|
-
uv tool install "agent-cli[diarization]"
|
|
34
|
+
uv tool install "agent-cli[diarization]"
|
|
35
35
|
# or
|
|
36
36
|
pip install "agent-cli[diarization]"
|
|
37
37
|
```
|
|
@@ -34,16 +34,12 @@ If you already have AI services set up or plan to use cloud services (OpenAI/Gem
|
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
36
|
# Using uv (recommended)
|
|
37
|
-
uv tool install agent-cli
|
|
37
|
+
uv tool install agent-cli
|
|
38
38
|
|
|
39
39
|
# Using pip
|
|
40
40
|
pip install agent-cli
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
> [!NOTE]
|
|
44
|
-
> The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
|
|
45
|
-
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
46
|
-
|
|
47
43
|
### Option 3: Full Local Setup
|
|
48
44
|
|
|
49
45
|
For a complete local setup with all AI services:
|
|
@@ -65,7 +61,7 @@ For a complete local setup with all AI services:
|
|
|
65
61
|
|
|
66
62
|
```bash
|
|
67
63
|
# 1. Install agent-cli
|
|
68
|
-
uv tool install agent-cli
|
|
64
|
+
uv tool install agent-cli
|
|
69
65
|
|
|
70
66
|
# 2. Install all required services
|
|
71
67
|
agent-cli install-services
|
|
@@ -86,16 +86,12 @@ If you already have AI services running (or plan to use OpenAI):
|
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
88
|
# Using uv (recommended)
|
|
89
|
-
uv tool install agent-cli
|
|
89
|
+
uv tool install agent-cli
|
|
90
90
|
|
|
91
91
|
# Using pip
|
|
92
92
|
pip install agent-cli
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
> [!NOTE]
|
|
96
|
-
> The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
|
|
97
|
-
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
98
|
-
|
|
99
95
|
Then use it:
|
|
100
96
|
|
|
101
97
|
```bash
|
|
@@ -106,7 +102,7 @@ agent-cli autocorrect "this has an eror"
|
|
|
106
102
|
|
|
107
103
|
```bash
|
|
108
104
|
# 1. Install agent-cli
|
|
109
|
-
uv tool install agent-cli
|
|
105
|
+
uv tool install agent-cli
|
|
110
106
|
|
|
111
107
|
# 2. Install all required services
|
|
112
108
|
agent-cli install-services
|
|
@@ -97,16 +97,12 @@ Once services are running, install the agent-cli package:
|
|
|
97
97
|
|
|
98
98
|
```bash
|
|
99
99
|
# Using uv (recommended)
|
|
100
|
-
uv tool install agent-cli
|
|
100
|
+
uv tool install agent-cli
|
|
101
101
|
|
|
102
102
|
# Using pip
|
|
103
103
|
pip install agent-cli
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
> [!NOTE]
|
|
107
|
-
> The `-p 3.13` flag is required because some dependencies don't support Python 3.14 yet.
|
|
108
|
-
> See [uv issue #8206](https://github.com/astral-sh/uv/issues/8206) for details.
|
|
109
|
-
|
|
110
106
|
Then test with:
|
|
111
107
|
|
|
112
108
|
```bash
|
|
@@ -112,7 +112,7 @@ If you have an NVIDIA GPU, also add:
|
|
|
112
112
|
3. **Install agent-cli:**
|
|
113
113
|
|
|
114
114
|
```bash
|
|
115
|
-
nix-shell -p portaudio pkg-config gcc python3 --run "uv tool install --upgrade agent-cli
|
|
115
|
+
nix-shell -p portaudio pkg-config gcc python3 --run "uv tool install --upgrade agent-cli"
|
|
116
116
|
# or add to your configuration:
|
|
117
117
|
# environment.systemPackages = with pkgs; [ agent-cli ];
|
|
118
118
|
```
|
|
@@ -32,7 +32,7 @@ The fastest way to get started - no local services needed:
|
|
|
32
32
|
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
|
|
33
33
|
|
|
34
34
|
# Install agent-cli
|
|
35
|
-
uv tool install agent-cli
|
|
35
|
+
uv tool install agent-cli
|
|
36
36
|
|
|
37
37
|
# Use with cloud providers (requires API keys)
|
|
38
38
|
$env:OPENAI_API_KEY = "sk-..."
|
|
@@ -93,7 +93,7 @@ If you prefer manual setup:
|
|
|
93
93
|
3. **Install agent-cli:**
|
|
94
94
|
|
|
95
95
|
```powershell
|
|
96
|
-
uv tool install agent-cli
|
|
96
|
+
uv tool install agent-cli
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
4. **Run services individually:**
|
{agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/SettingsWindowController.swift
RENAMED
|
@@ -5,19 +5,20 @@ import SwiftUI
|
|
|
5
5
|
final class SettingsWindowController {
|
|
6
6
|
static let shared = SettingsWindowController()
|
|
7
7
|
|
|
8
|
+
private static let contentSize = NSSize(width: 460, height: 640)
|
|
9
|
+
|
|
8
10
|
private var window: NSWindow?
|
|
9
11
|
|
|
10
12
|
private init() {}
|
|
11
13
|
|
|
12
14
|
func show() {
|
|
13
15
|
if window == nil {
|
|
14
|
-
let
|
|
15
|
-
let controller = NSHostingController(rootView: SettingsView().frame(width: contentSize.width))
|
|
16
|
+
let controller = NSHostingController(rootView: SettingsView().frame(width: Self.contentSize.width))
|
|
16
17
|
let window = NSWindow(contentViewController: controller)
|
|
17
18
|
window.title = "Agent CLI Settings"
|
|
18
19
|
window.styleMask = [.titled, .closable]
|
|
19
20
|
window.isReleasedWhenClosed = false
|
|
20
|
-
window.setContentSize(contentSize)
|
|
21
|
+
window.setContentSize(Self.contentSize)
|
|
21
22
|
window.center()
|
|
22
23
|
self.window = window
|
|
23
24
|
}
|
{agent_cli-0.96.0 → agent_cli-0.96.2}/macos/AgentCLI/Sources/AgentCLI/StatusMenuController.swift
RENAMED
|
@@ -5,6 +5,10 @@ import Foundation
|
|
|
5
5
|
final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
6
6
|
static let shared = StatusMenuController()
|
|
7
7
|
|
|
8
|
+
private static let statusRefreshInterval: TimeInterval = 0.8
|
|
9
|
+
private static let statusRefreshRunLoopModes: [RunLoop.Mode] = [.common, .eventTracking]
|
|
10
|
+
private static let voiceStatusTitlePrefix = "Voice: "
|
|
11
|
+
|
|
8
12
|
private let runner = AgentCommandRunner.shared
|
|
9
13
|
private let appUpdater = AppUpdater.shared
|
|
10
14
|
private let loginItemController = LoginItemController.shared
|
|
@@ -63,20 +67,18 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
63
67
|
menu.addItem(actionItem("Autocorrect Clipboard", symbolName: "text.badge.checkmark", action: #selector(autocorrectClipboard)))
|
|
64
68
|
menu.addItem(.separator())
|
|
65
69
|
|
|
66
|
-
let voiceStatusItem =
|
|
67
|
-
voiceStatusItem.isEnabled = false
|
|
70
|
+
let voiceStatusItem = disabledItem("")
|
|
68
71
|
menu.addItem(voiceStatusItem)
|
|
69
72
|
self.voiceStatusItem = voiceStatusItem
|
|
70
73
|
|
|
71
|
-
|
|
72
|
-
shortcutItem.isEnabled = false
|
|
73
|
-
menu.addItem(shortcutItem)
|
|
74
|
+
menu.addItem(disabledItem(shortcutSummary.summary))
|
|
74
75
|
menu.addItem(.separator())
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
menu.addItem(submenuItem(
|
|
78
|
+
"Recent Recordings",
|
|
79
|
+
symbolName: "clock.arrow.circlepath",
|
|
80
|
+
submenu: recentRecordingsMenu
|
|
81
|
+
))
|
|
80
82
|
menu.addItem(.separator())
|
|
81
83
|
|
|
82
84
|
let loginItem = actionItem(
|
|
@@ -93,10 +95,11 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
93
95
|
updateItem.isEnabled = appUpdater.canCheckForUpdates
|
|
94
96
|
menu.addItem(updateItem)
|
|
95
97
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
menu.addItem(submenuItem(
|
|
99
|
+
"Troubleshooting",
|
|
100
|
+
symbolName: "wrench.and.screwdriver",
|
|
101
|
+
submenu: troubleshootingMenu
|
|
102
|
+
))
|
|
100
103
|
|
|
101
104
|
menu.addItem(.separator())
|
|
102
105
|
menu.addItem(actionItem("Quit", symbolName: "power", action: #selector(quit)))
|
|
@@ -107,9 +110,7 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
107
110
|
recentRecordingsMenu.removeAllItems()
|
|
108
111
|
let recentTranscriptions = RecentTranscriptionReader.recentTranscriptions()
|
|
109
112
|
if recentTranscriptions.isEmpty {
|
|
110
|
-
|
|
111
|
-
item.isEnabled = false
|
|
112
|
-
recentRecordingsMenu.addItem(item)
|
|
113
|
+
recentRecordingsMenu.addItem(disabledItem("No recent transcriptions"))
|
|
113
114
|
return
|
|
114
115
|
}
|
|
115
116
|
|
|
@@ -194,18 +195,19 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
194
195
|
|
|
195
196
|
private func startStatusRefreshTimer() {
|
|
196
197
|
guard statusRefreshTimer == nil else { return }
|
|
197
|
-
let timer = Timer(timeInterval:
|
|
198
|
+
let timer = Timer(timeInterval: Self.statusRefreshInterval, repeats: true) { [weak self] _ in
|
|
198
199
|
Task { @MainActor in
|
|
199
200
|
self?.refreshDynamicStatus()
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
|
-
|
|
203
|
-
|
|
203
|
+
for mode in Self.statusRefreshRunLoopModes {
|
|
204
|
+
RunLoop.main.add(timer, forMode: mode)
|
|
205
|
+
}
|
|
204
206
|
statusRefreshTimer = timer
|
|
205
207
|
}
|
|
206
208
|
|
|
207
209
|
private func refreshDynamicStatus() {
|
|
208
|
-
voiceStatusItem?.title = "
|
|
210
|
+
voiceStatusItem?.title = "\(Self.voiceStatusTitlePrefix)\(runner.menuStatusMessage)"
|
|
209
211
|
if let button = statusItem?.button {
|
|
210
212
|
button.image = MenuBarIconImage.logoImage(state: runner.menuBarIconState)
|
|
211
213
|
button.imagePosition = .imageOnly
|
|
@@ -228,6 +230,19 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
228
230
|
return item
|
|
229
231
|
}
|
|
230
232
|
|
|
233
|
+
private func disabledItem(_ title: String) -> NSMenuItem {
|
|
234
|
+
let item = NSMenuItem(title: title, action: nil, keyEquivalent: "")
|
|
235
|
+
item.isEnabled = false
|
|
236
|
+
return item
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
private func submenuItem(_ title: String, symbolName: String, submenu: NSMenu) -> NSMenuItem {
|
|
240
|
+
let item = NSMenuItem(title: title, action: nil, keyEquivalent: "")
|
|
241
|
+
item.image = symbolImage(symbolName)
|
|
242
|
+
item.submenu = submenu
|
|
243
|
+
return item
|
|
244
|
+
}
|
|
245
|
+
|
|
231
246
|
private func symbolImage(_ name: String) -> NSImage? {
|
|
232
247
|
NSImage(systemSymbolName: name, accessibilityDescription: nil)
|
|
233
248
|
}
|