agent-cli 0.96.5__tar.gz → 0.96.7__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.5 → agent_cli-0.96.7}/Casks/agent-cli.rb +2 -2
- {agent_cli-0.96.5 → agent_cli-0.96.7}/PKG-INFO +1 -1
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AgentCommandRunner.swift +18 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/MenuBarIcon.swift +13 -2
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/RecentTranscriptionReader.swift +4 -5
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/StatusMenuController.swift +11 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/VoiceLevelOverlay.swift +33 -5
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/AgentCommandTests.swift +7 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/RecentTranscriptionReaderTests.swift +7 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/appcast.xml +34 -31
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_macos_app.py +17 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude-plugin/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude-plugin/marketplace.json +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude-plugin/plugin.json +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude-plugin/skills/agent-cli-dev/SKILL.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.claude-plugin/skills/agent-cli-dev/examples.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.cursorrules +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.dockerignore +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.env.example +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/logo.svg +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/release-drafter.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/renovate.json +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/check_extras_sync.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/check_plugin_skill_sync.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/normalize_appcast.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/sync_extras.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/sync_requirements.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/scripts/update_cask.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/automerge.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/docker.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/docs.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/markdown-code-runner.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/pytest.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/release-drafter.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/release.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.github/workflows/toc.yaml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.gitignore +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.jscpd.json +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.pre-commit-config.yaml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.prompts/docs-review.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/.prompts/pr-review.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/CLAUDE.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/LICENSE +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/LLAMA_SERVER_USAGE.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/__main__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_extras.json +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/.gitkeep +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/audio.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/diarization.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/faster-whisper.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/kokoro.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/llm.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/memory.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/mlx-whisper.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/piper.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/rag.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/server.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/speed.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/vad.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/vectordb.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/whisper-transformers.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_requirements/wyoming.txt +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/_tools.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/_voice_agent_common.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/assistant.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/autocorrect.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/chat.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/diarize_live_session.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/memory/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/memory/add.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/memory/proxy.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/rag_proxy.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/speak.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/speakers.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/transcribe.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/transcribe_live.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/agents/voice_edit.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/config.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/config_cmd.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/constants.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/alignment.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/audio.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/audio_format.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/chroma.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/deps.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/diarization.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/openai_proxy.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/process.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/reranker.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/speaker_identity.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/sse.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/transcription_logger.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/vad.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/core/watch.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/daemon/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/daemon/cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/_branch_name.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/_config.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/_output.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/cleanup.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/aider.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/base.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/claude.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/codex.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/continue_dev.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/copilot.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/cursor_agent.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/gemini.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/opencode.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/coding_agents/registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/base.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/cursor.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/emacs.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/jetbrains.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/nano.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/neovim.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/sublime.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/vim.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/vscode.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/editors/zed.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/hooks.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/launch.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/project.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/skill/SKILL.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/skill/examples.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/apple_terminal.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/base.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/gnome.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/iterm2.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/kitty.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/tmux.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/warp.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/terminals/zellij.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/dev/worktree.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/docs_gen.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/example-config.toml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/common.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/extras.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/hotkeys.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/launchd.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/service_config.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/services.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/install/systemd.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_files.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_filters.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_git.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_indexer.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_ingest.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_persistence.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_prompt.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_retrieval.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_store.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_streaming.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/_tasks.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/client.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/engine.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/entities.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/memory/models.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/opts.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/py.typed +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_indexer.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_indexing.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_prompt.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_retriever.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_store.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/client.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/engine.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/rag/models.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/.runtime/.gitkeep +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/linux-hotkeys/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/linux-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/linux-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/linux-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/macos-hotkeys/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/macos-hotkeys/skhd-config-example +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/macos-hotkeys/toggle-autocorrect.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/macos-hotkeys/toggle-transcription.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/macos-hotkeys/toggle-voice-edit.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/nvidia-asr-server/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/nvidia-asr-server/pyproject.toml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/nvidia-asr-server/server.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/nvidia-asr-server/shell.nix +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/nvidia-asr-server/uv.lock +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/run-openwakeword.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/setup-linux-hotkeys.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/setup-linux.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/setup-macos-hotkeys.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/setup-macos.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/setup-windows.ps1 +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/start-all-services-windows.ps1 +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/scripts/start-all-services.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/common.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/model_manager.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/model_registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/proxy/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/proxy/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/streaming.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/backends/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/backends/base.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/backends/kokoro.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/backends/piper.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/model_manager.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/model_registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/tts/wyoming_handler.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/backends/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/backends/base.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/backends/faster_whisper.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/backends/mlx.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/backends/transformers.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/languages.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/model_manager.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/model_registry.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/server/whisper/wyoming_handler.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/_wyoming_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/asr.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/llm.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/tts.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/agent_cli/services/wake_word.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/docker-compose.yml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/memory-proxy.Dockerfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/rag-proxy.Dockerfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/transcribe-proxy.Dockerfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/tts.Dockerfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docker/whisper.Dockerfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/CNAME +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/architecture/index.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/architecture/memory.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/architecture/rag.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/assistant.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/autocorrect.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/chat.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/config.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/daemon.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/dev.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/diarize-live-session.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/index.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/install-extras.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/install-hotkeys.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/install-services.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/memory.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/rag-proxy.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/server/index.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/server/transcribe-proxy.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/server/tts.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/server/whisper.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/speak.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/speakers.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/start-services.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/transcribe-live.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/transcribe.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/commands/voice-edit.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/configuration.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/getting-started.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/iOS_Shortcut_Guide.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/index.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/docker.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/index.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/linux.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/macos-app.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/macos.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/nixos.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/installation/windows.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/logo-avatar.svg +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/logo-clean.svg +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/overrides/partials/integrations/analytics/custom.html +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/run_markdown_code_runner.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/docs/system-integration.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/example.agent-cli-config.toml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/justfile +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Package.resolved +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Package.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/README.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Resources/AgentCLI.entitlements +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Resources/Info.plist +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Resources/dmg-background.svg +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AgentCLIApp.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AgentCommand.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AgentRuntime.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AppDelegate.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AppMetadata.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AppUpdater.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/BootstrapState.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/CommandResult.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/ConfigurableHotkeyController.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/FocusedTextTarget.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/LoginItemController.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/MenuActivityStatus.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/MenuActivityStatusRow.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/MenuActivityTracker.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/RecordingIndicatorController.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/RecordingSoundSettings.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/RuntimeSettings.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/SettingsWindowController.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/Shortcuts.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/TranscriptPasteController.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/TranscriptionSettings.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/LoginItemControllerTests.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/RecordingIndicatorControllerTests.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/ShortcutDefaultsTests.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/VoiceLevelMeterTests.swift +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/build-macos-app.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/macos/test-macos-app-e2e.sh +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/pyproject.toml +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/reddit.md +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/shell.nix +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_fix_my_text.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_interactive.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_interactive_extra.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_memory_add.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_speak.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_speak_e2e.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_speakers.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_transcribe.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_transcribe_agent.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_transcribe_e2e.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_transcribe_live.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_transcribe_recovery.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_tts_common.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_tts_common_extra.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_voice_agent_common.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_voice_edit.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_voice_edit_e2e.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/agents/test_wake_word_assistant.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/conftest.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_audio.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_audio_format.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_chroma.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_sse.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_vad.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/core/test_watch.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_cleanup.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_coding_agents.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_editors.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_hooks.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_launch.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_project.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_terminals.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_verification.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/dev/test_worktree.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/install/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/install/test_extras.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/install/test_launchd.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_api_health.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_api_integration_liveish.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_client.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_engine.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_files.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_filters.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_git_integration.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_indexer.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_memory_integration.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_proxy_passthrough.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_store.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/memory/test_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/mocks/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/mocks/audio.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/mocks/llm.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/mocks/wyoming.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/__init__.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_engine.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_history.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_indexer.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_indexing.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_rag_client.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_rag_integration_liveish.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_rag_proxy_passthrough.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_retriever.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_store.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/rag/test_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_alignment.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_api.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_api_integration.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_asr.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_asr_recovery.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_audio_e2e.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_cli.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_config.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_config_cmd.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_daemon.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_diarization.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_diarize_live_session.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_docs_gen.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_env_vars.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_faster_whisper_backend.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_json_output.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_llm.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_llm_gemini.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_memory_tools.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_mlx_backend.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_normalize_appcast.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_process_manager.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_requires_extras.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_server_streaming.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_server_tts.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_server_whisper.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_services.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_speaker_identity.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_tools.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_transformers_backend.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_tts.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_update_cask.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_wake_word.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/tests/test_wyoming_utils.py +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/uv.lock +0 -0
- {agent_cli-0.96.5 → agent_cli-0.96.7}/zensical.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
cask "agent-cli" do
|
|
2
|
-
version "0.96.
|
|
3
|
-
sha256 "
|
|
2
|
+
version "0.96.6"
|
|
3
|
+
sha256 "46c1c7952ae87d84cabc2ec9479d7cf5d2591d0a18bb37527a067f70626b04b2"
|
|
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.7
|
|
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>
|
{agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/AgentCommandRunner.swift
RENAMED
|
@@ -476,6 +476,24 @@ final class AgentCommandRunner: ObservableObject {
|
|
|
476
476
|
}
|
|
477
477
|
}
|
|
478
478
|
|
|
479
|
+
func openTranscriptionLog() {
|
|
480
|
+
let url = RecentTranscriptionReader.defaultLogURL
|
|
481
|
+
|
|
482
|
+
do {
|
|
483
|
+
try FileManager.default.createDirectory(at: url.deletingLastPathComponent(), withIntermediateDirectories: true)
|
|
484
|
+
if !FileManager.default.fileExists(atPath: url.path) {
|
|
485
|
+
_ = FileManager.default.createFile(atPath: url.path, contents: nil)
|
|
486
|
+
}
|
|
487
|
+
if NSWorkspace.shared.open(url) {
|
|
488
|
+
statusMessage = "Opened transcription log"
|
|
489
|
+
} else {
|
|
490
|
+
statusMessage = "Could not open transcription log"
|
|
491
|
+
}
|
|
492
|
+
} catch {
|
|
493
|
+
statusMessage = "Could not open transcription log: \(error.localizedDescription)"
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
479
497
|
func openConfigFolder() {
|
|
480
498
|
let url = AgentRuntime.shared.appSupportURL.appendingPathComponent("config", isDirectory: true)
|
|
481
499
|
|
|
@@ -71,6 +71,17 @@ enum MenuBarIconImage {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
static func badgeColor(for state: MenuBarIconState) -> NSColor? {
|
|
75
|
+
switch state {
|
|
76
|
+
case .idle:
|
|
77
|
+
return nil
|
|
78
|
+
case .preparing:
|
|
79
|
+
return .systemBlue
|
|
80
|
+
case .recording:
|
|
81
|
+
return .systemRed
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
74
85
|
private static let idleLogoImage: NSImage? = {
|
|
75
86
|
guard let url = Bundle.main.url(forResource: "logo-avatar", withExtension: "svg"),
|
|
76
87
|
let image = NSImage(contentsOf: url)
|
|
@@ -86,11 +97,11 @@ enum MenuBarIconImage {
|
|
|
86
97
|
private static let preparingLogoImage: NSImage? = makePreparingLogoImage()
|
|
87
98
|
|
|
88
99
|
private static func makeRecordingLogoImage() -> NSImage? {
|
|
89
|
-
makeBadgedLogoImage(badgeColor: .systemRed, badgeDiameter: 7)
|
|
100
|
+
makeBadgedLogoImage(badgeColor: badgeColor(for: .recording) ?? .systemRed, badgeDiameter: 7)
|
|
90
101
|
}
|
|
91
102
|
|
|
92
103
|
private static func makePreparingLogoImage() -> NSImage? {
|
|
93
|
-
makeBadgedLogoImage(badgeColor: .
|
|
104
|
+
makeBadgedLogoImage(badgeColor: badgeColor(for: .preparing) ?? .systemBlue, badgeDiameter: 7)
|
|
94
105
|
}
|
|
95
106
|
|
|
96
107
|
private static func makeBadgedLogoImage(badgeColor: NSColor, badgeDiameter: CGFloat) -> NSImage? {
|
|
@@ -29,9 +29,12 @@ struct RecentTranscription: Equatable, Identifiable {
|
|
|
29
29
|
enum RecentTranscriptionReader {
|
|
30
30
|
static let defaultLimit = 20
|
|
31
31
|
static let defaultLogPath = "~/.config/agent-cli/transcriptions.jsonl"
|
|
32
|
+
static var defaultLogURL: URL {
|
|
33
|
+
URL(fileURLWithPath: NSString(string: defaultLogPath).expandingTildeInPath)
|
|
34
|
+
}
|
|
32
35
|
|
|
33
36
|
static func recentTranscriptions(limit: Int = defaultLimit) -> [RecentTranscription] {
|
|
34
|
-
recentTranscriptions(from: defaultLogURL
|
|
37
|
+
recentTranscriptions(from: defaultLogURL, limit: limit)
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
static func recentTranscriptions(from logURL: URL, limit: Int = defaultLimit) -> [RecentTranscription] {
|
|
@@ -54,10 +57,6 @@ enum RecentTranscriptionReader {
|
|
|
54
57
|
return entries
|
|
55
58
|
}
|
|
56
59
|
|
|
57
|
-
private static func defaultLogURL() -> URL {
|
|
58
|
-
URL(fileURLWithPath: NSString(string: defaultLogPath).expandingTildeInPath)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
60
|
private static func parseLine(_ line: String, lineIndex: Int) -> RecentTranscription? {
|
|
62
61
|
let trimmedLine = line.trimmingCharacters(in: .whitespacesAndNewlines)
|
|
63
62
|
guard !trimmedLine.isEmpty,
|
{agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/StatusMenuController.swift
RENAMED
|
@@ -113,6 +113,13 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
113
113
|
recentRecordingsMenu.removeAllItems()
|
|
114
114
|
recentActivityStatusRow = activityStatusRow(in: recentRecordingsMenu)
|
|
115
115
|
|
|
116
|
+
recentRecordingsMenu.addItem(actionItem(
|
|
117
|
+
"Open Transcription Log",
|
|
118
|
+
symbolName: "doc.text.magnifyingglass",
|
|
119
|
+
action: #selector(openTranscriptionLog)
|
|
120
|
+
))
|
|
121
|
+
recentRecordingsMenu.addItem(.separator())
|
|
122
|
+
|
|
116
123
|
let recentTranscriptions = RecentTranscriptionReader.recentTranscriptions()
|
|
117
124
|
if recentTranscriptions.isEmpty {
|
|
118
125
|
recentRecordingsMenu.addItem(disabledItem("No recent transcriptions"))
|
|
@@ -357,6 +364,10 @@ final class StatusMenuController: NSObject, NSMenuDelegate {
|
|
|
357
364
|
runner.statusMessage = "Copied recent transcription"
|
|
358
365
|
}
|
|
359
366
|
|
|
367
|
+
@objc private func openTranscriptionLog() {
|
|
368
|
+
runner.openTranscriptionLog()
|
|
369
|
+
}
|
|
370
|
+
|
|
360
371
|
@objc private func quit() {
|
|
361
372
|
NSApp.terminate(nil)
|
|
362
373
|
}
|
{agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Sources/AgentCLI/VoiceLevelOverlay.swift
RENAMED
|
@@ -4,6 +4,7 @@ import Foundation
|
|
|
4
4
|
import SwiftUI
|
|
5
5
|
|
|
6
6
|
struct VoiceLevelOverlayView: View {
|
|
7
|
+
@Environment(\.colorScheme) private var colorScheme
|
|
7
8
|
@ObservedObject var meter: VoiceLevelMeter
|
|
8
9
|
|
|
9
10
|
var body: some View {
|
|
@@ -13,8 +14,8 @@ struct VoiceLevelOverlayView: View {
|
|
|
13
14
|
.fill(
|
|
14
15
|
LinearGradient(
|
|
15
16
|
colors: [
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
barGradientStart,
|
|
18
|
+
barGradientEnd
|
|
18
19
|
],
|
|
19
20
|
startPoint: .bottom,
|
|
20
21
|
endPoint: .top
|
|
@@ -25,14 +26,41 @@ struct VoiceLevelOverlayView: View {
|
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
.frame(width: 147, height: 38)
|
|
28
|
-
.background(
|
|
29
|
+
.background(
|
|
30
|
+
Capsule()
|
|
31
|
+
.fill(backgroundColor)
|
|
32
|
+
)
|
|
29
33
|
.overlay(
|
|
30
34
|
Capsule()
|
|
31
|
-
.stroke(
|
|
35
|
+
.stroke(borderColor, lineWidth: 1)
|
|
32
36
|
)
|
|
33
|
-
.shadow(color:
|
|
37
|
+
.shadow(color: shadowColor, radius: 13, y: 6)
|
|
34
38
|
.accessibilityLabel(Text("Voice level"))
|
|
35
39
|
}
|
|
40
|
+
|
|
41
|
+
private var isLightMode: Bool {
|
|
42
|
+
colorScheme == .light
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
private var backgroundColor: Color {
|
|
46
|
+
isLightMode ? Color.white.opacity(0.88) : Color.black.opacity(0.42)
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
private var borderColor: Color {
|
|
50
|
+
isLightMode ? Color.black.opacity(0.12) : Color.white.opacity(0.22)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private var shadowColor: Color {
|
|
54
|
+
Color.black.opacity(isLightMode ? 0.16 : 0.24)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
private var barGradientStart: Color {
|
|
58
|
+
isLightMode ? Color(red: 0.04, green: 0.45, blue: 0.95) : Color(red: 0.18, green: 0.82, blue: 0.92)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
private var barGradientEnd: Color {
|
|
62
|
+
isLightMode ? Color(red: 0.07, green: 0.72, blue: 0.68) : Color(red: 0.64, green: 0.96, blue: 0.58)
|
|
63
|
+
}
|
|
36
64
|
}
|
|
37
65
|
|
|
38
66
|
final class VoiceLevelOverlayController {
|
{agent_cli-0.96.5 → agent_cli-0.96.7}/macos/AgentCLI/Tests/AgentCLITests/AgentCommandTests.swift
RENAMED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#if canImport(XCTest)
|
|
2
|
+
import AppKit
|
|
2
3
|
import XCTest
|
|
3
4
|
@testable import AgentCLI
|
|
4
5
|
|
|
@@ -314,6 +315,12 @@ final class AgentCommandTests: XCTestCase {
|
|
|
314
315
|
XCTAssertEqual(MenuBarIconState.current(isPreparing: true, isRecording: true), .preparing)
|
|
315
316
|
}
|
|
316
317
|
|
|
318
|
+
func testMenuBarIconUsesFixedSetupAndRecordingBadgeColors() {
|
|
319
|
+
XCTAssertNil(MenuBarIconImage.badgeColor(for: .idle))
|
|
320
|
+
XCTAssertEqual(MenuBarIconImage.badgeColor(for: .preparing), .systemBlue)
|
|
321
|
+
XCTAssertEqual(MenuBarIconImage.badgeColor(for: .recording), .systemRed)
|
|
322
|
+
}
|
|
323
|
+
|
|
317
324
|
func testMenuActivityStatusFormatsActiveWorkWithSpinnerAndElapsedCounter() {
|
|
318
325
|
let startedAt = Date(timeIntervalSinceReferenceDate: 1_000)
|
|
319
326
|
let now = Date(timeIntervalSinceReferenceDate: 1_125)
|
|
@@ -3,6 +3,13 @@ import XCTest
|
|
|
3
3
|
@testable import AgentCLI
|
|
4
4
|
|
|
5
5
|
final class RecentTranscriptionReaderTests: XCTestCase {
|
|
6
|
+
func testDefaultLogURLExpandsConfiguredTranscriptionLogPath() {
|
|
7
|
+
XCTAssertEqual(
|
|
8
|
+
RecentTranscriptionReader.defaultLogURL.path,
|
|
9
|
+
NSString(string: "~/.config/agent-cli/transcriptions.jsonl").expandingTildeInPath
|
|
10
|
+
)
|
|
11
|
+
}
|
|
12
|
+
|
|
6
13
|
func testRecentTranscriptionsPreferProcessedTextNewestFirst() throws {
|
|
7
14
|
let logURL = FileManager.default.temporaryDirectory
|
|
8
15
|
.appendingPathComponent(UUID().uuidString)
|
|
@@ -4,6 +4,40 @@
|
|
|
4
4
|
<title>Agent CLI Updates</title>
|
|
5
5
|
<link>https://github.com/basnijholt/agent-cli</link>
|
|
6
6
|
<description>Signed Agent CLI macOS app updates.</description>
|
|
7
|
+
<item>
|
|
8
|
+
<title>0.96.6</title>
|
|
9
|
+
<pubDate>Fri, 29 May 2026 16:58:43 +0000</pubDate>
|
|
10
|
+
<link>https://github.com/basnijholt/agent-cli</link>
|
|
11
|
+
<sparkle:version>180</sparkle:version>
|
|
12
|
+
<sparkle:shortVersionString>0.96.6</sparkle:shortVersionString>
|
|
13
|
+
<sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
|
|
14
|
+
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
|
|
15
|
+
<description sparkle:format="markdown"><![CDATA[## What's Changed
|
|
16
|
+
* Fix macOS setup badge color and light overlay by @marcellaholm in https://github.com/basnijholt/agent-cli/pull/557
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
**Full Changelog**: https://github.com/basnijholt/agent-cli/compare/v0.96.5...v0.96.6
|
|
20
|
+
]]></description>
|
|
21
|
+
<enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.96.6/AgentCLI.zip" length="22742441" type="application/octet-stream" sparkle:edSignature="DriNk09uSrq9l20Pu7S+y34r4LvO+rfTHGOm1gsPDOd94FQZXqgDZxbVYYfTGgJ6eWSb0l3ljQokW6VQhJ97DQ=="/>
|
|
22
|
+
</item>
|
|
23
|
+
<item>
|
|
24
|
+
<title>0.96.5</title>
|
|
25
|
+
<pubDate>Fri, 29 May 2026 16:40:33 +0000</pubDate>
|
|
26
|
+
<link>https://github.com/basnijholt/agent-cli</link>
|
|
27
|
+
<sparkle:version>179</sparkle:version>
|
|
28
|
+
<sparkle:shortVersionString>0.96.5</sparkle:shortVersionString>
|
|
29
|
+
<sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
|
|
30
|
+
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
|
|
31
|
+
<description sparkle:format="markdown"><![CDATA[## What’s Changed
|
|
32
|
+
|
|
33
|
+
* Fix bare Fn shortcut detection on macOS (#554) @marcellaholm
|
|
34
|
+
* Fix macOS setup menu bar icon (#555) @marcellaholm
|
|
35
|
+
* Use purr for recording release sound (#556) @basnijholt
|
|
36
|
+
* Boost quiet waveform levels (#553) @basnijholt
|
|
37
|
+
|
|
38
|
+
]]></description>
|
|
39
|
+
<enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.96.5/AgentCLI.zip" length="22738995" type="application/octet-stream" sparkle:edSignature="Jf0aoWxUGvOR6idZhELnlGf61IHrf8Kw92tcH5Xk4wC8chn3mO3OgeE+8+P2orbHC0VhszHgjMNzsGN3bZPwCg=="/>
|
|
40
|
+
</item>
|
|
7
41
|
<item>
|
|
8
42
|
<title>0.96.4</title>
|
|
9
43
|
<pubDate>Fri, 29 May 2026 14:59:58 +0000</pubDate>
|
|
@@ -133,36 +167,5 @@
|
|
|
133
167
|
]]></description>
|
|
134
168
|
<enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.13/AgentCLI.zip" length="22740098" type="application/octet-stream" sparkle:edSignature="jwY09RkyDWyFtWoKky+KXPs8XDzGHHhdGPHLEwIpcpFLIHvuzdYESXyYn5hanqHf0ORq6bPe9poGFHrIQQLUAw=="/>
|
|
135
169
|
</item>
|
|
136
|
-
<item>
|
|
137
|
-
<title>0.95.12</title>
|
|
138
|
-
<pubDate>Fri, 29 May 2026 03:55:23 +0000</pubDate>
|
|
139
|
-
<link>https://github.com/basnijholt/agent-cli</link>
|
|
140
|
-
<sparkle:version>170</sparkle:version>
|
|
141
|
-
<sparkle:shortVersionString>0.95.12</sparkle:shortVersionString>
|
|
142
|
-
<sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
|
|
143
|
-
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
|
|
144
|
-
<description sparkle:format="markdown"><![CDATA[## What’s Changed
|
|
145
|
-
|
|
146
|
-
* Restore macOS voice status menu row (#536) @basnijholt
|
|
147
|
-
* Document macOS app Homebrew install (#537) @basnijholt
|
|
148
|
-
|
|
149
|
-
]]></description>
|
|
150
|
-
<enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.12/AgentCLI.zip" length="22740085" type="application/octet-stream" sparkle:edSignature="xEGGr5pe1Szdx6xzcX1GiA6eUkCGOStwODelm0y4zcDyy7d/Lq+9QHV4NAA7QzexIVvup3jwGPJy8Sn/ROnvAA=="/>
|
|
151
|
-
</item>
|
|
152
|
-
<item>
|
|
153
|
-
<title>0.95.11</title>
|
|
154
|
-
<pubDate>Fri, 29 May 2026 03:31:10 +0000</pubDate>
|
|
155
|
-
<link>https://github.com/basnijholt/agent-cli</link>
|
|
156
|
-
<sparkle:version>169</sparkle:version>
|
|
157
|
-
<sparkle:shortVersionString>0.95.11</sparkle:shortVersionString>
|
|
158
|
-
<sparkle:minimumSystemVersion>13.0</sparkle:minimumSystemVersion>
|
|
159
|
-
<sparkle:hardwareRequirements>arm64</sparkle:hardwareRequirements>
|
|
160
|
-
<description sparkle:format="markdown"><![CDATA[## What’s Changed
|
|
161
|
-
|
|
162
|
-
* Fix macOS bootstrap menu refresh (#535) @basnijholt
|
|
163
|
-
|
|
164
|
-
]]></description>
|
|
165
|
-
<enclosure url="https://github.com/basnijholt/agent-cli/releases/download/v0.95.11/AgentCLI.zip" length="22741421" type="application/octet-stream" sparkle:edSignature="fiMYQqjgxOE/xrXIaa47hP4YHwVvGrq1dy81hMmRCaFGWoU4T6ECg1pmLIt4JY1+JzmCJMC0enXkVTAipBVaCw=="/>
|
|
166
|
-
</item>
|
|
167
170
|
</channel>
|
|
168
171
|
</rss>
|
|
@@ -93,6 +93,23 @@ def test_macos_app_has_swift_unit_test_target() -> None:
|
|
|
93
93
|
assert "swift test --package-path macos/AgentCLI --enable-xctest" in workflow
|
|
94
94
|
|
|
95
95
|
|
|
96
|
+
def test_macos_app_exposes_transcription_log_from_menu() -> None:
|
|
97
|
+
"""Recorded transcriptions should be logged and the log should be openable."""
|
|
98
|
+
command = (SWIFT_SOURCE_DIR / "AgentCommand.swift").read_text(encoding="utf-8")
|
|
99
|
+
reader = (SWIFT_SOURCE_DIR / "RecentTranscriptionReader.swift").read_text(encoding="utf-8")
|
|
100
|
+
runner = (SWIFT_SOURCE_DIR / "AgentCommandRunner.swift").read_text(encoding="utf-8")
|
|
101
|
+
menu = (SWIFT_SOURCE_DIR / "StatusMenuController.swift").read_text(encoding="utf-8")
|
|
102
|
+
|
|
103
|
+
assert '"--transcription-log"' in command
|
|
104
|
+
assert "RecentTranscriptionReader.defaultLogPath" in command
|
|
105
|
+
assert 'static let defaultLogPath = "~/.config/agent-cli/transcriptions.jsonl"' in reader
|
|
106
|
+
assert "static var defaultLogURL: URL" in reader
|
|
107
|
+
assert "func openTranscriptionLog()" in runner
|
|
108
|
+
assert "RecentTranscriptionReader.defaultLogURL" in runner
|
|
109
|
+
assert '"Open Transcription Log"' in menu
|
|
110
|
+
assert "#selector(openTranscriptionLog)" in menu
|
|
111
|
+
|
|
112
|
+
|
|
96
113
|
def test_macos_info_plist_declares_menu_bar_agent_app() -> None:
|
|
97
114
|
"""The app bundle should be installable and hidden from the Dock."""
|
|
98
115
|
with (MACOS_APP / "Resources" / "Info.plist").open("rb") as f:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|