tau-coding-agent 0.7.7__tar.gz → 0.7.9__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.
- {tau_coding_agent-0.7.7/tau_coding_agent.egg-info → tau_coding_agent-0.7.9}/PKG-INFO +7 -6
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/README.md +6 -5
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/auth.md +1 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/cli-reference.md +19 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/inference-providers.md +32 -2
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/installation.md +11 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/pyproject.toml +2 -1
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/__init__.py +20 -11
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/desktop/service.py +8 -3
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/manifest.json +8 -0
- tau_coding_agent-0.7.9/tau/builtins/extensions/computer_use/state.py +53 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/types.py +9 -2
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/desktop/service.py +18 -9
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/footer/model.py +8 -6
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/todo/__init__.py +1 -1
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/models/text.py +15 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/providers/text.py +9 -18
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/cli.py +22 -0
- tau_coding_agent-0.7.9/tau/console/commands/doctor.py +647 -0
- tau_coding_agent-0.7.9/tau/console/commands/serve.py +41 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/openai_codex_responses.py +11 -4
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/openai_responses.py +32 -2
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/service.py +11 -8
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/utils.py +16 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/agent_hooks.py +59 -6
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/session.py +7 -2
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/message_list.py +58 -5
- tau_coding_agent-0.7.9/tau/modes/serve/mode.py +72 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/packages/manager.py +12 -1
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/runtime/types.py +7 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/markdown.py +123 -2
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/service.py +108 -11
- tau_coding_agent-0.7.9/tau/utils/__init__.py +0 -0
- tau_coding_agent-0.7.9/tau/utils/timing.py +58 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9/tau_coding_agent.egg-info}/PKG-INFO +7 -6
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau_coding_agent.egg-info/SOURCES.txt +11 -0
- tau_coding_agent-0.7.9/tests/test_doctor.py +629 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_markdown.py +60 -1
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_message_list_frozen.py +9 -9
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_openai_codex_responses_lite.py +15 -1
- tau_coding_agent-0.7.9/tests/test_openai_responses_extra_body.py +43 -0
- tau_coding_agent-0.7.9/tests/test_package_manager_venv.py +70 -0
- tau_coding_agent-0.7.9/tests/test_startup_timing.py +95 -0
- tau_coding_agent-0.7.9/tests/test_subconscious_provider.py +27 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_text_llm_invoke.py +17 -0
- tau_coding_agent-0.7.9/tests/test_tui_frozen_row_cache.py +170 -0
- tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/state.py +0 -28
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/LICENSE +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/MANIFEST.in +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/architecture.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/creating-tools.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/development.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/docs.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/engine.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/extension-settings.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/extensions.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/http-proxy.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/index.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/inference.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/keybindings.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/messages.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/project-context.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/project-structure.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/prompts.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/python-api.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/quickstart.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/sessions.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/settings.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/skills.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/themes.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/tools.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/tui.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/docs/usage.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/setup.cfg +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/embedded.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/prompt/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/prompt/builder.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/prompt/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/agent/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/auth/manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/auth/storage.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/auth/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/commands/clear.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/commands/compact.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/commands/reload.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/commands/session.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/ask_user/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/ask_user/component.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/ask_user/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/ask_user/schema.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/ask_user/tool.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/btw/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/computer.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/README.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/controls.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/core.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/enums.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/events.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/patterns.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/ax/py.typed +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/desktop/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/desktop/config.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/tree/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/tree/config.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/tree/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/tree/views.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/watchdog/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/macos/watchdog/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/router.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/desktop/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/cache_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/config.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/tree/views.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/controls.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/core.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/enums.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/events.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/exceptions.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/uia/patterns.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/watchdog/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/watchdog/event_handlers.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/windows/watchdog/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/footer/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/footer/git.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/footer/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/header/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/loop/README.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/loop/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/loop/dispatch.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/loop/duration.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/loop/state.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/sandbox/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/sandbox/manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/sandbox/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/sandbox/sandbox_tool.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/agents.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/todo/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/todo/todo_schema.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/todo/todo_tool.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/watch/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/base.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/tools/fetch.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/web/tools/search.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/manifest.json +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/model.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/runner.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/workflow/store.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/models/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/models/audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/models/image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/models/video.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/commit.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/docs.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/explain.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/fix.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/refactor.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/review.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/prompts/test.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/providers/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/providers/audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/providers/image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/providers/video.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/skills/code-review/SKILL.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/skills/debug/SKILL.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/skills/git-commit/SKILL.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/ayu-dark.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/catppuccin.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/dark.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/dracula.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/everforest.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/gruvbox.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/horizon.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/kanagawa.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/light.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/material-ocean.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/monokai.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/night-owl.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/nord.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/one-dark.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/rose-pine.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/solarized-dark.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/themes/tokyo-night.yaml +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/edit.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/glob.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/grep.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/ls.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/read.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/terminal.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/tools/write.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/commands/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/commands/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/commands/auth.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/commands/packages.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/console/commands/update.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/core/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/core/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/engine/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/engine/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/engine/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/api.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/context.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/runtime.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/extensions/settings.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/engine.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/inference.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/runtime.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/session.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/tui.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/hooks/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/base.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/builtins.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/gemini_audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/openai_audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/sarvam_audio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/audio/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/availability.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/base.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/builtins.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/gemini_image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/openai_image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/openrouter.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/image/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/anthropic_claude_code.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/anthropic_messages.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/anthropic_vertex.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/base.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/builtins.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/dialect.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/gemini_generate.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/github_copilot_chat.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/google_antigravity.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/google_vertex.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/mistral_chat.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/ollama_chat.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/openai_completions.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/openai_vertex.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/text/xai_responses.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/base.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/builtins.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/fal_video.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/openrouter_video.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/api/video/zai_video.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/local/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/local/llamacpp.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/local/lmstudio.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/local/ollama.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/local/vllm.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/model/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/github_copilot.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/google_antigravity.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/openai_codex.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/pkce.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/oauth/xai_grok.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/provider/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/inference/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/message/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/message/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/message/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/app.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/appearance.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/auth.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/context.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/extensions.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/misc.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/commands/model.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/command_palette.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/config_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/extension_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/file_picker.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/layout.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/model_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/oauth_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/overlays.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/selector_controller.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/session_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/settings_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/theme_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/thinking_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/tree_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/trust_screen.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/components/voice_selector.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/input_handler.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/interactive/ui_context.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/print/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/rpc/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/rpc/mode.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/modes/rpc/types.py +0 -0
- {tau_coding_agent-0.7.7/tau/tui/components → tau_coding_agent-0.7.9/tau/modes/serve}/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/packages/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/packages/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/packages/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/prompts/expand.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/prompts/loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/prompts/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/prompts/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/resources/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/resources/loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/resources/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/runtime/dependencies.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/runtime/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/session/branch_summarization.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/session/compaction.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/session/manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/session/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/session/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/settings/manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/settings/paths.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/settings/storage.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/settings/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/settings/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/skills/loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/skills/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/skills/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/telemetry/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/telemetry/service.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/telemetry/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/themes/loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/themes/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/themes/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tool/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tool/registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tool/render.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tool/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/trust/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/trust/manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/trust/types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/trust/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/ansi_bridge.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/autocomplete.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/backend.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/buffer.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/component.py +0 -0
- {tau_coding_agent-0.7.7/tau/utils → tau_coding_agent-0.7.9/tau/tui/components}/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/box.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/editor.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/select_list.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/simple_picker.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/spinner.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/text_input.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/components/widget_bridge.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/frame.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/geometry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/input.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/keybinding_hints.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/layout.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/palette.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/style.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/terminal.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/testing.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/text.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/theme.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widget.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/__init__.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/barchart.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/block.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/calendar.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/canvas.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/chart.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/clear.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/gauge.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/list.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/paragraph.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/scrollbar.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/sparkline.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/symbols.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/table.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/tui/widgets/tabs.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/format.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/http_proxy.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/image_processing.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/logging.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/secrets.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/utils/version_check.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau_coding_agent.egg-info/entry_points.txt +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau_coding_agent.egg-info/requires.txt +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau_coding_agent.egg-info/top_level.txt +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_agent_compaction.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_agent_hooks.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_agent_prompt.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_agent_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_ansi.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_ansi_bridge_legacy_image.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_anthropic_tool_history.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_ask_user_extension.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_audio_transcription_apis.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_auth_command.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_auth_manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_auth_storage.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_autocomplete_modifiers.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_branch_navigation.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_branch_summarization.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_builtin_tools.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_builtin_watch.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_cli_inputs.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_cmd_copy.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_command_execution_policy.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_command_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_compaction.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_component_buffer_bridge.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_diff.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_editor_protocol.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_engine_execution.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_engine_length_and_live_tools.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_engine_steering.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_engine_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_escape_behavior.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_extension_api.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_extension_lifecycle.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_footer_model.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_footer_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_fuzzy.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_gemini_generate.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_google_antigravity.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_google_vertex.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_http_proxy.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_image_processing.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_inference_api_text_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_inference_dialect.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_inference_error_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_inference_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_inference_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_input_handler_paste.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_keybindings.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_layout_render_cells.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_local_model_discovery.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_message_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_message_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_audio_modality.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_availability.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_command.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_file_modality.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_selector_modal.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_model_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_oauth_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_package_resources.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_packages_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_peer_extension.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_pkce.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_prompts_expand.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_prompts_loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_prompts_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_provider_audio_content.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_provider_file_content.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_provider_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_resource_loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_rpc_mode.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_runtime_sdk.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_scrollback_raw_writes.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_scrollback_terminal.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_secrets.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_select_list_render_cells.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_selector_controller.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_session_manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_session_trust_persist.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_session_types.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_session_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_settings_manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_settings_paths.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_settings_storage.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_settings_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_skills_loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_skills_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_strip_control_chars.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_subagent_context.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_telemetry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_text_input.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_text_input_render_cells.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_text_llm_model_resolution.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_theme_loader.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_themes_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_thinking_render.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tool_registry.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tool_render.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tree_branch_restore.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_trust_manager.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_trust_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_capabilities.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_child_rows.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_input.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_layout_sizing.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_public_api.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_renderer.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_select_list.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_theme.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_tui_utils.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_ui_context.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_utils_hashline.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_version_check.py +0 -0
- {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tests/test_voice_selector.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tau-coding-agent
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.9
|
|
4
4
|
Summary: A self-extensible agent CLI with terminal UI, multi-provider LLM support, session management with branching, and a plugin system for tools and commands
|
|
5
5
|
Requires-Python: >=3.12
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
@@ -141,11 +141,12 @@ Full flag list, environment variables, and exit codes: [CLI reference](docs/cli-
|
|
|
141
141
|
### Subcommands
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
tau auth
|
|
145
|
-
tau
|
|
146
|
-
tau
|
|
147
|
-
tau
|
|
148
|
-
tau
|
|
144
|
+
tau auth # Manage provider credentials (login/logout, list)
|
|
145
|
+
tau doctor # Diagnose config, auth, models, extensions, sessions, packages (--fix to repair)
|
|
146
|
+
tau install # Install a package (extension/skill/theme)
|
|
147
|
+
tau remove # Remove an installed package
|
|
148
|
+
tau list # List installed packages
|
|
149
|
+
tau update # Update installed packages
|
|
149
150
|
```
|
|
150
151
|
|
|
151
152
|
### Interactive slash commands
|
|
@@ -102,11 +102,12 @@ Full flag list, environment variables, and exit codes: [CLI reference](docs/cli-
|
|
|
102
102
|
### Subcommands
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
|
-
tau auth
|
|
106
|
-
tau
|
|
107
|
-
tau
|
|
108
|
-
tau
|
|
109
|
-
tau
|
|
105
|
+
tau auth # Manage provider credentials (login/logout, list)
|
|
106
|
+
tau doctor # Diagnose config, auth, models, extensions, sessions, packages (--fix to repair)
|
|
107
|
+
tau install # Install a package (extension/skill/theme)
|
|
108
|
+
tau remove # Remove an installed package
|
|
109
|
+
tau list # List installed packages
|
|
110
|
+
tau update # Update installed packages
|
|
110
111
|
```
|
|
111
112
|
|
|
112
113
|
### Interactive slash commands
|
|
@@ -145,6 +145,7 @@ The provider ID used as the key in `auth.json` and the `{PROVIDER}_API_KEY` env
|
|
|
145
145
|
| Mistral | `mistral` | `MISTRAL_API_KEY` |
|
|
146
146
|
| Fireworks AI | `fireworks` | `FIREWORKS_API_KEY` |
|
|
147
147
|
| Hugging Face | `huggingface` | `HUGGINGFACE_API_KEY` |
|
|
148
|
+
| Subconscious | `subconscious` | `SUBCONSCIOUS_API_KEY` |
|
|
148
149
|
| Ollama | `ollama` | None required (local server, default `http://localhost:11434`) |
|
|
149
150
|
|
|
150
151
|
## Next Steps
|
|
@@ -15,6 +15,7 @@ augment it.
|
|
|
15
15
|
|--------|-------|-------------|
|
|
16
16
|
| `--version` | `-v` | Print the installed version |
|
|
17
17
|
| `--debug` | `-d` | Enable debug logging |
|
|
18
|
+
| `--startup` | | Print per-phase startup timing diagnostics to stderr (settings, model/LLM, session manager, resources, extensions, agent) |
|
|
18
19
|
| `--cwd PATH` | `-c` | Set the working directory |
|
|
19
20
|
| `--prompt` | `-p` | Run a non-interactive prompt |
|
|
20
21
|
| `--output-format` | `-f` | Non-interactive output: `text` or `json` |
|
|
@@ -384,6 +385,24 @@ Manage provider credentials.
|
|
|
384
385
|
tau auth --help
|
|
385
386
|
```
|
|
386
387
|
|
|
388
|
+
### `tau doctor`
|
|
389
|
+
|
|
390
|
+
Diagnose Tau's configuration, credentials, model setup, extensions, session
|
|
391
|
+
storage, logs, environment, and installed packages. Reports each check as
|
|
392
|
+
pass/warn/fail; exits non-zero if anything failed.
|
|
393
|
+
|
|
394
|
+
```bash
|
|
395
|
+
tau doctor # report only
|
|
396
|
+
tau doctor --json # machine-readable output
|
|
397
|
+
tau doctor --fix # apply safe, reversible repairs:
|
|
398
|
+
# - refresh expired OAuth tokens
|
|
399
|
+
# - remove dangling extension entries
|
|
400
|
+
# - quarantine corrupt session files into .corrupt/
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
`--fix` never rewrites `settings.json`/`auth.json` directly, reinstalls
|
|
404
|
+
packages, or touches anything that isn't easily reversible.
|
|
405
|
+
|
|
387
406
|
Package management is available through `tau install`, `tau remove`,
|
|
388
407
|
`tau list`, and `tau update`.
|
|
389
408
|
|
|
@@ -8,8 +8,8 @@ Tau supports the following inference providers:
|
|
|
8
8
|
|
|
9
9
|
Built-in API-key providers are `openai`, `anthropic`, `google`, `nvidia`,
|
|
10
10
|
`groq`, `openrouter`, `perplexity`, `xai`, `bedrock`, `kimi`, `minimax`,
|
|
11
|
-
`cerebras`, `deepseek`, `zai`, `kilocode`, `fireworks`, `huggingface`,
|
|
12
|
-
`mistral`.
|
|
11
|
+
`cerebras`, `deepseek`, `zai`, `kilocode`, `fireworks`, `huggingface`,
|
|
12
|
+
`subconscious`, and `mistral`.
|
|
13
13
|
|
|
14
14
|
Tau also includes local `ollama`, Google/Anthropic/OpenAI-compatible Vertex AI
|
|
15
15
|
providers, and OAuth providers for OpenAI Codex, Claude Code, GitHub Copilot,
|
|
@@ -161,6 +161,36 @@ tau --model huggingface/deepseek-ai/DeepSeek-V3-0324 -p "Say hello"
|
|
|
161
161
|
- Model IDs are Hugging Face Hub repo IDs (e.g. `meta-llama/Llama-3.3-70B-Instruct`)
|
|
162
162
|
- Built-in model entries are pinned to a specific backend with `<repo>:<provider>` (e.g. `openai/gpt-oss-120b:groq`) rather than the router's default `:fastest` routing, since unpinned routing can silently switch to a backend with different tool-calling behavior. You can still use any model/backend combination the router supports via `tau --model huggingface/<repo>[:<provider>]` even if it isn't in the built-in list.
|
|
163
163
|
|
|
164
|
+
## Subconscious
|
|
165
|
+
|
|
166
|
+
Subconscious provides hosted inference through OpenAI-compatible Chat Completions
|
|
167
|
+
and Anthropic-compatible Messages APIs. Tau uses Chat Completions because dashboard
|
|
168
|
+
keys with the documented `sky_` prefix authenticate through Bearer authorization on
|
|
169
|
+
that endpoint.
|
|
170
|
+
|
|
171
|
+
### Setup
|
|
172
|
+
|
|
173
|
+
1. Create an account at [Subconscious](https://www.subconscious.dev/)
|
|
174
|
+
2. Generate an API key in the dashboard
|
|
175
|
+
3. Set the environment variable:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
export SUBCONSCIOUS_API_KEY=...
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Verify
|
|
182
|
+
|
|
183
|
+
```bash
|
|
184
|
+
tau --model subconscious/subconscious/tim-qwen3.6-27b -p "Say hello"
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Notes
|
|
188
|
+
|
|
189
|
+
- The built-in model ID is `subconscious/tim-qwen3.6-27b`; the advertised `subconscious/glm-5.2` is omitted because the live API currently rejects it as an unknown model
|
|
190
|
+
- `TIM-Qwen3.6 27B` is published as multimodal with optional thinking; Tau enables its documented image modality and thinking selector
|
|
191
|
+
- Subconscious does not publish numeric context-window or maximum-output limits, so Tau leaves those fields unspecified rather than guessing
|
|
192
|
+
- Model availability and pricing come from the [official pricing page](https://www.subconscious.dev/pricing)
|
|
193
|
+
|
|
164
194
|
## Ollama (Local)
|
|
165
195
|
|
|
166
196
|
Run open-source models locally without API keys or internet.
|
|
@@ -154,6 +154,17 @@ This removes the tau command but leaves configuration and session data in `~/.ta
|
|
|
154
154
|
|
|
155
155
|
## Troubleshooting
|
|
156
156
|
|
|
157
|
+
Run `tau doctor` first — it checks settings/auth file integrity, credential
|
|
158
|
+
status (including whether stored OAuth tokens are still valid), model/provider
|
|
159
|
+
resolution, extensions, session storage, logs, and installed packages in one
|
|
160
|
+
pass. Add `--fix` to auto-repair the safe, reversible cases (expired OAuth
|
|
161
|
+
tokens, dangling extension entries, corrupt session files).
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
tau doctor
|
|
165
|
+
tau doctor --fix
|
|
166
|
+
```
|
|
167
|
+
|
|
157
168
|
### No Models Found
|
|
158
169
|
|
|
159
170
|
Check that your API key is set correctly:
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "tau-coding-agent"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.9"
|
|
8
8
|
description = "A self-extensible agent CLI with terminal UI, multi-provider LLM support, session management with branching, and a plugin system for tools and commands"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -84,4 +84,5 @@ dev = [
|
|
|
84
84
|
"ruff>=0.4.0",
|
|
85
85
|
"mypy==1.19.1",
|
|
86
86
|
"pyright>=1.1.360",
|
|
87
|
+
"pytest-asyncio==1.3.0",
|
|
87
88
|
]
|
{tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/__init__.py
RENAMED
|
@@ -16,13 +16,20 @@ extensions.list settings.
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
While the desktop session is open (after a computer action='open' call), a
|
|
19
|
-
compact desktop-state summary
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
re-asserts its live list: via the "context" hook returning
|
|
19
|
+
compact desktop-state summary is injected ephemerally into LLM context at the
|
|
20
|
+
start of every turn, the same way the todo extension re-asserts its live
|
|
21
|
+
list: via the "context" hook returning
|
|
23
22
|
ContextEventResult(ephemeral_messages=[...]). It is never written to session
|
|
24
23
|
history, so it always reflects the current screen rather than a stale
|
|
25
24
|
snapshot from whenever the model last looked.
|
|
25
|
+
|
|
26
|
+
The `mode` setting (see manifest.json) controls what that summary contains:
|
|
27
|
+
"screenshot" (an image of the screen), "accessibility_tree" (the default —
|
|
28
|
+
focused/open windows plus accessible interactive elements, see state.py), or
|
|
29
|
+
"both". The screenshot is only ever included if the active model actually
|
|
30
|
+
accepts image input (checked fresh every turn against Modality.Image, since
|
|
31
|
+
/model can switch models mid-session); otherwise the accessibility tree is
|
|
32
|
+
used instead so the turn still gets a usable observation.
|
|
26
33
|
"""
|
|
27
34
|
|
|
28
35
|
from __future__ import annotations
|
|
@@ -49,14 +56,16 @@ def register(tau: ExtensionAPI) -> None:
|
|
|
49
56
|
|
|
50
57
|
tau.register_tool(ComputerTool(desktop))
|
|
51
58
|
|
|
59
|
+
mode = config.get("mode", "accessibility_tree")
|
|
60
|
+
|
|
52
61
|
def _inject_desktop_state(_event, _ctx: ExtensionContext):
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return ContextEventResult(ephemeral_messages=[])
|
|
62
|
+
from tau.hooks.engine import ContextEventResult
|
|
63
|
+
from tau.inference.model.types import Modality
|
|
64
|
+
|
|
65
|
+
model = getattr(_ctx.llm, "model", None)
|
|
66
|
+
supports_image = model is not None and Modality.Image in model.input
|
|
67
|
+
message = build_state_message(desktop, mode, supports_image)
|
|
68
|
+
return ContextEventResult(ephemeral_messages=[message] if message is not None else [])
|
|
60
69
|
|
|
61
70
|
tau.on("context", _inject_desktop_state)
|
|
62
71
|
|
|
@@ -73,13 +73,18 @@ class Desktop(DesktopBase):
|
|
|
73
73
|
|
|
74
74
|
# -- State / inspection ---------------------------------------------------
|
|
75
75
|
|
|
76
|
-
def get_state(
|
|
76
|
+
def get_state(
|
|
77
|
+
self,
|
|
78
|
+
as_bytes: bool = False,
|
|
79
|
+
use_screenshot: bool = True,
|
|
80
|
+
use_accessibility: bool = True,
|
|
81
|
+
) -> DesktopState:
|
|
77
82
|
active_window = self.get_foreground_window()
|
|
78
83
|
return DesktopState(
|
|
79
84
|
active_window=active_window,
|
|
80
85
|
windows=self.get_windows(),
|
|
81
|
-
screenshot=self.get_screenshot(as_bytes=as_bytes),
|
|
82
|
-
tree_state=self._tree.get_state(active_window),
|
|
86
|
+
screenshot=self.get_screenshot(as_bytes=as_bytes) if use_screenshot else None,
|
|
87
|
+
tree_state=self._tree.get_state(active_window) if use_accessibility else None,
|
|
83
88
|
)
|
|
84
89
|
|
|
85
90
|
def get_screen_size(self) -> Size:
|
{tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/manifest.json
RENAMED
|
@@ -18,6 +18,14 @@
|
|
|
18
18
|
"type": "bool",
|
|
19
19
|
"default": false,
|
|
20
20
|
"description": "Register the computer tool, letting the agent control the real mouse, keyboard, and application windows on this machine."
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"key": "mode",
|
|
24
|
+
"label": "Observation Mode",
|
|
25
|
+
"type": "enum",
|
|
26
|
+
"values": ["screenshot", "accessibility_tree", "both"],
|
|
27
|
+
"default": "accessibility_tree",
|
|
28
|
+
"description": "What desktop state is injected into context each turn: a screenshot image, the accessibility tree of interactive elements, or both."
|
|
21
29
|
}
|
|
22
30
|
]
|
|
23
31
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Builds the compact desktop-state summary injected ephemerally into LLM
|
|
2
|
+
context each turn while the computer tool's desktop session is open."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
from typing import TYPE_CHECKING, Literal
|
|
7
|
+
|
|
8
|
+
from tau.message.types import UserMessage
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from .types import Desktop
|
|
12
|
+
|
|
13
|
+
ObservationMode = Literal["screenshot", "accessibility_tree", "both"]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def build_state_message(
|
|
17
|
+
desktop: Desktop, mode: ObservationMode = "accessibility_tree", supports_image: bool = True
|
|
18
|
+
) -> UserMessage | None:
|
|
19
|
+
"""Live desktop summary: focused/open windows, plus a screenshot and/or
|
|
20
|
+
the accessible interactive elements currently on screen, per `mode`.
|
|
21
|
+
None while the desktop is closed, so nothing gets injected before
|
|
22
|
+
action='open' is called.
|
|
23
|
+
|
|
24
|
+
`supports_image` gates the screenshot on the active model's actual
|
|
25
|
+
modality support — set from `Modality.Image in ctx.llm.model.input`,
|
|
26
|
+
checked fresh every call since the model can change mid-session via
|
|
27
|
+
/model. When a screenshot was requested but the model can't take images,
|
|
28
|
+
the accessibility tree is included instead so the turn isn't left with
|
|
29
|
+
no usable observation at all.
|
|
30
|
+
"""
|
|
31
|
+
if not desktop.is_open:
|
|
32
|
+
return None
|
|
33
|
+
|
|
34
|
+
wants_screenshot = mode in ("screenshot", "both")
|
|
35
|
+
wants_accessibility = mode in ("accessibility_tree", "both")
|
|
36
|
+
use_screenshot = wants_screenshot and supports_image
|
|
37
|
+
use_accessibility = wants_accessibility or (wants_screenshot and not supports_image)
|
|
38
|
+
state = desktop.get_state(
|
|
39
|
+
as_bytes=True, use_screenshot=use_screenshot, use_accessibility=use_accessibility
|
|
40
|
+
)
|
|
41
|
+
parts = [state.to_string()]
|
|
42
|
+
|
|
43
|
+
if use_accessibility:
|
|
44
|
+
elements_to_string = getattr(state.tree_state, "interactive_elements_to_string", None)
|
|
45
|
+
if callable(elements_to_string):
|
|
46
|
+
elements = elements_to_string()
|
|
47
|
+
if elements:
|
|
48
|
+
parts.append(f"Interactive elements (click at the given coords):\n{elements}")
|
|
49
|
+
|
|
50
|
+
text = "\n\n".join(parts)
|
|
51
|
+
if use_screenshot and state.screenshot is not None:
|
|
52
|
+
return UserMessage.with_images(text, [state.screenshot])
|
|
53
|
+
return UserMessage.from_text(text)
|
{tau_coding_agent-0.7.7 → tau_coding_agent-0.7.9}/tau/builtins/extensions/computer_use/types.py
RENAMED
|
@@ -104,8 +104,15 @@ class Desktop(ABC):
|
|
|
104
104
|
# -- State / inspection ------------------------------------------------
|
|
105
105
|
|
|
106
106
|
@abstractmethod
|
|
107
|
-
def get_state(
|
|
108
|
-
|
|
107
|
+
def get_state(
|
|
108
|
+
self,
|
|
109
|
+
as_bytes: bool = False,
|
|
110
|
+
use_screenshot: bool = True,
|
|
111
|
+
use_accessibility: bool = True,
|
|
112
|
+
) -> DesktopState:
|
|
113
|
+
"""Return a snapshot of the current desktop. Skips capturing the
|
|
114
|
+
screenshot/accessibility tree when the corresponding flag is False,
|
|
115
|
+
so callers that only need one can avoid paying for the other."""
|
|
109
116
|
|
|
110
117
|
@abstractmethod
|
|
111
118
|
def get_screen_size(self) -> Size:
|
|
@@ -86,19 +86,28 @@ class Desktop(DesktopBase):
|
|
|
86
86
|
|
|
87
87
|
# -- State / inspection ---------------------------------------------------
|
|
88
88
|
|
|
89
|
-
def get_state(
|
|
89
|
+
def get_state(
|
|
90
|
+
self,
|
|
91
|
+
as_bytes: bool = False,
|
|
92
|
+
use_screenshot: bool = True,
|
|
93
|
+
use_accessibility: bool = True,
|
|
94
|
+
) -> DesktopState:
|
|
90
95
|
active_window = self.get_foreground_window()
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
screenshot = self.get_screenshot(as_bytes=as_bytes) if use_screenshot else None
|
|
97
|
+
tree_state = None
|
|
98
|
+
if use_accessibility:
|
|
99
|
+
active_handle = active_window.native_handle if active_window else None
|
|
100
|
+
other_handles = [
|
|
101
|
+
control.NativeWindowHandle
|
|
102
|
+
for control in uia.GetRootControl().GetChildren()
|
|
103
|
+
if control.NativeWindowHandle and control.NativeWindowHandle != active_handle
|
|
104
|
+
]
|
|
105
|
+
tree_state = self._tree.get_state(active_handle, other_handles)
|
|
97
106
|
return DesktopState(
|
|
98
107
|
active_window=active_window,
|
|
99
108
|
windows=self.get_windows(),
|
|
100
|
-
screenshot=
|
|
101
|
-
tree_state=
|
|
109
|
+
screenshot=screenshot,
|
|
110
|
+
tree_state=tree_state,
|
|
102
111
|
)
|
|
103
112
|
|
|
104
113
|
def get_screen_size(self) -> Size:
|
|
@@ -78,16 +78,18 @@ class ModelBadge(Component):
|
|
|
78
78
|
self.update_context_from_ctx(ctx)
|
|
79
79
|
return
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
)
|
|
81
|
+
# When input_tokens already folds in the cache read/write breakdown
|
|
82
|
+
# (OpenAI Responses/Chat Completions, Gemini), adding them again here
|
|
83
|
+
# would double-count; only add them for providers that report cache
|
|
84
|
+
# tokens as fully separate from input_tokens (Anthropic).
|
|
85
|
+
includes_cache = getattr(usage, "input_tokens_include_cache_read", False)
|
|
86
|
+
cache_read = 0 if includes_cache else getattr(usage, "cache_read_tokens", 0) or 0
|
|
87
|
+
cache_write = 0 if includes_cache else getattr(usage, "cache_write_tokens", 0) or 0
|
|
86
88
|
tokens = (
|
|
87
89
|
(getattr(usage, "input_tokens", 0) or 0)
|
|
88
90
|
+ (getattr(usage, "output_tokens", 0) or 0)
|
|
89
91
|
+ cache_read
|
|
90
|
-
+
|
|
92
|
+
+ cache_write
|
|
91
93
|
)
|
|
92
94
|
context = getattr(ctx, "get_context_usage", lambda: None)()
|
|
93
95
|
window = (context or {}).get("context_window") or self._context_window
|
|
@@ -7349,4 +7349,19 @@ models = [
|
|
|
7349
7349
|
input=_TEXT_IMAGE,
|
|
7350
7350
|
output=_TEXT,
|
|
7351
7351
|
),
|
|
7352
|
+
# Subconscious. The provider publishes prices but not numeric context/output limits,
|
|
7353
|
+
# so leave context_window unknown (0) and retain Tau's conservative 16K output default.
|
|
7354
|
+
# Chat Completions is used because dashboard `sky_` keys authenticate through its
|
|
7355
|
+
# Bearer scheme; the same key is rejected by the Anthropic-compatible endpoint.
|
|
7356
|
+
Model(
|
|
7357
|
+
id="subconscious/tim-qwen3.6-27b",
|
|
7358
|
+
name="TIM-Qwen3.6 27B",
|
|
7359
|
+
provider="subconscious",
|
|
7360
|
+
cost=Cost(input=0.30, output=3.00, cache_read=0.15),
|
|
7361
|
+
thinking=True,
|
|
7362
|
+
thinking_format="chat-template",
|
|
7363
|
+
context_window=0,
|
|
7364
|
+
input=_TEXT_IMAGE,
|
|
7365
|
+
output=_TEXT,
|
|
7366
|
+
),
|
|
7352
7367
|
]
|
|
@@ -9,24 +9,9 @@ from tau.inference.provider.types import APIProvider
|
|
|
9
9
|
from tau.inference.types import AuthType, LLMOptions
|
|
10
10
|
|
|
11
11
|
api_providers = [
|
|
12
|
-
APIProvider(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
api="openai_responses",
|
|
16
|
-
options=LLMOptions()
|
|
17
|
-
),
|
|
18
|
-
APIProvider(
|
|
19
|
-
id="anthropic",
|
|
20
|
-
name="Anthropic",
|
|
21
|
-
api="anthropic_messages",
|
|
22
|
-
options=LLMOptions()
|
|
23
|
-
),
|
|
24
|
-
APIProvider(
|
|
25
|
-
id="google",
|
|
26
|
-
name="Google",
|
|
27
|
-
api="gemini_generate",
|
|
28
|
-
options=LLMOptions()
|
|
29
|
-
),
|
|
12
|
+
APIProvider(id="openai", name="OpenAI", api="openai_responses", options=LLMOptions()),
|
|
13
|
+
APIProvider(id="anthropic", name="Anthropic", api="anthropic_messages", options=LLMOptions()),
|
|
14
|
+
APIProvider(id="google", name="Google", api="gemini_generate", options=LLMOptions()),
|
|
30
15
|
APIProvider(
|
|
31
16
|
id="google-vertex",
|
|
32
17
|
name="Google Vertex AI",
|
|
@@ -136,6 +121,12 @@ api_providers = [
|
|
|
136
121
|
api="openai_completions",
|
|
137
122
|
options=LLMOptions(base_url="https://router.huggingface.co/v1"),
|
|
138
123
|
),
|
|
124
|
+
APIProvider(
|
|
125
|
+
id="subconscious",
|
|
126
|
+
name="Subconscious",
|
|
127
|
+
api="openai_completions",
|
|
128
|
+
options=LLMOptions(base_url="https://api.subconscious.dev/v1"),
|
|
129
|
+
),
|
|
139
130
|
APIProvider(id="mistral", name="Mistral", api="mistral_chat", options=LLMOptions()),
|
|
140
131
|
APIProvider(
|
|
141
132
|
id="ollama",
|
|
@@ -10,7 +10,9 @@ from typing import TYPE_CHECKING
|
|
|
10
10
|
import click
|
|
11
11
|
|
|
12
12
|
from tau.console.commands.auth import auth
|
|
13
|
+
from tau.console.commands.doctor import doctor
|
|
13
14
|
from tau.console.commands.packages import install, list_packages, remove
|
|
15
|
+
from tau.console.commands.serve import serve
|
|
14
16
|
from tau.console.commands.update import update
|
|
15
17
|
from tau.settings.paths import get_app_version
|
|
16
18
|
|
|
@@ -43,6 +45,13 @@ def resolve_model(model: str | None, provider: str | None) -> tuple[str | None,
|
|
|
43
45
|
@click.group(invoke_without_command=True, context_settings={"help_option_names": ["-h", "--help"]})
|
|
44
46
|
@click.option("--version", "-v", is_flag=True, default=False, help="Print version and exit.")
|
|
45
47
|
@click.option("--debug", "-d", is_flag=True, default=False, help="Enable debug logging.")
|
|
48
|
+
@click.option(
|
|
49
|
+
"--startup",
|
|
50
|
+
is_flag=True,
|
|
51
|
+
default=False,
|
|
52
|
+
help="Print per-phase startup timing diagnostics to stderr "
|
|
53
|
+
"(settings, model/LLM, session manager, resources, extensions, agent).",
|
|
54
|
+
)
|
|
46
55
|
@click.option("--cwd", "-c", default=None, metavar="PATH", help="Set the working directory.")
|
|
47
56
|
@click.option(
|
|
48
57
|
"--prompt",
|
|
@@ -153,6 +162,7 @@ def cli(
|
|
|
153
162
|
ctx: click.Context,
|
|
154
163
|
version: bool,
|
|
155
164
|
debug: bool,
|
|
165
|
+
startup: bool,
|
|
156
166
|
cwd: str | None,
|
|
157
167
|
prompt: str | None,
|
|
158
168
|
output_format: str,
|
|
@@ -183,6 +193,11 @@ def cli(
|
|
|
183
193
|
if debug:
|
|
184
194
|
logging.basicConfig(level=logging.DEBUG, format="%(levelname)s %(name)s: %(message)s")
|
|
185
195
|
|
|
196
|
+
if startup:
|
|
197
|
+
from tau.utils import timing
|
|
198
|
+
|
|
199
|
+
timing.enable()
|
|
200
|
+
|
|
186
201
|
if cwd:
|
|
187
202
|
os.chdir(cwd)
|
|
188
203
|
|
|
@@ -279,6 +294,11 @@ async def _start(opts: dict) -> None:
|
|
|
279
294
|
)
|
|
280
295
|
|
|
281
296
|
runtime = await Runtime.create(config)
|
|
297
|
+
|
|
298
|
+
from tau.utils import timing
|
|
299
|
+
|
|
300
|
+
timing.print_report()
|
|
301
|
+
|
|
282
302
|
if opts.get("session_name"):
|
|
283
303
|
runtime.session_manager.append_session_info(opts["session_name"])
|
|
284
304
|
|
|
@@ -435,9 +455,11 @@ async def _run_json(runtime: Runtime, message: str | None, quiet: bool = False)
|
|
|
435
455
|
|
|
436
456
|
|
|
437
457
|
cli.add_command(auth)
|
|
458
|
+
cli.add_command(doctor)
|
|
438
459
|
cli.add_command(install)
|
|
439
460
|
cli.add_command(remove)
|
|
440
461
|
cli.add_command(update)
|
|
462
|
+
cli.add_command(serve)
|
|
441
463
|
cli.add_command(list_packages, name="list")
|
|
442
464
|
|
|
443
465
|
|