tau-coding-agent 0.7.0__tar.gz → 0.7.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tau_coding_agent-0.7.0/tau_coding_agent.egg-info → tau_coding_agent-0.7.2}/PKG-INFO +1 -1
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/pyproject.toml +1 -1
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/models/text.py +88 -26
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/commands/update.py +57 -2
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/anthropic_claude_code.py +123 -6
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/google_antigravity.py +106 -9
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/utils.py +13 -7
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/anthropic_claude_code.py +8 -14
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2/tau_coding_agent.egg-info}/PKG-INFO +1 -1
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_google_antigravity.py +53 -2
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/LICENSE +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/MANIFEST.in +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/README.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/architecture.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/auth.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/cli-reference.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/creating-tools.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/development.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/docs.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/engine.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/extension-settings.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/extensions.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/http-proxy.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/index.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/inference-providers.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/inference.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/installation.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/keybindings.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/messages.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/project-context.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/project-structure.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/prompts.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/python-api.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/quickstart.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/sessions.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/settings.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/skills.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/themes.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/tools.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/tui.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/docs/usage.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/setup.cfg +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/embedded.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/prompt/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/prompt/builder.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/prompt/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/agent/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/auth/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/auth/storage.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/auth/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/commands/clear.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/commands/compact.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/commands/reload.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/commands/session.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/ask_user/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/ask_user/component.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/ask_user/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/ask_user/schema.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/ask_user/tool.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/btw/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/footer/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/footer/git.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/footer/model.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/footer/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/header/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/loop/README.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/loop/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/loop/dispatch.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/loop/duration.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/loop/state.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/sandbox/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/sandbox/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/sandbox/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/sandbox/sandbox_tool.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/agents.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/todo/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/todo/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/todo/todo_schema.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/todo/todo_tool.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/watch/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/base.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/tools/fetch.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/web/tools/search.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/manifest.json +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/model.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/runner.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/extensions/workflow/store.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/models/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/models/audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/models/image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/models/video.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/commit.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/docs.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/explain.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/fix.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/refactor.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/review.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/prompts/test.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/providers/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/providers/audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/providers/image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/providers/text.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/providers/video.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/skills/code-review/SKILL.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/skills/debug/SKILL.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/skills/git-commit/SKILL.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/ayu-dark.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/catppuccin.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/dark.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/dracula.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/everforest.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/gruvbox.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/horizon.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/kanagawa.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/light.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/material-ocean.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/monokai.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/night-owl.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/nord.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/one-dark.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/rose-pine.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/solarized-dark.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/themes/tokyo-night.yaml +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/edit.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/glob.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/grep.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/ls.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/read.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/terminal.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/builtins/tools/write.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/commands/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/commands/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/cli.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/commands/auth.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/console/commands/packages.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/core/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/core/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/engine/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/engine/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/engine/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/api.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/context.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/runtime.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/extensions/settings.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/engine.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/inference.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/runtime.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/session.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/tui.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/hooks/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/base.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/builtins.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/gemini_audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/openai_audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/sarvam_audio.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/audio/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/availability.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/base.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/builtins.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/gemini_image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/openai_image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/openrouter.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/image/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/anthropic_messages.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/anthropic_vertex.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/base.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/builtins.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/dialect.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/gemini_generate.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/github_copilot_chat.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/google_vertex.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/mistral_chat.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/ollama_chat.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/openai_codex_responses.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/openai_completions.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/openai_responses.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/openai_vertex.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/xai_responses.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/base.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/builtins.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/fal_video.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/openrouter_video.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/video/zai_video.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/model/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/model/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/model/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/github_copilot.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/google_antigravity.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/openai_codex.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/pkce.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/oauth/xai_grok.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/provider/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/message/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/message/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/message/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/agent_hooks.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/app.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/appearance.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/auth.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/context.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/extensions.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/misc.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/model.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/commands/session.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/command_palette.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/config_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/extension_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/file_picker.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/layout.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/message_list.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/model_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/oauth_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/overlays.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/selector_controller.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/session_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/settings_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/theme_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/thinking_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/tree_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/trust_screen.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/components/voice_selector.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/input_handler.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/interactive/ui_context.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/print/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/rpc/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/rpc/mode.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/modes/rpc/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/packages/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/packages/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/packages/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/packages/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/prompts/expand.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/prompts/loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/prompts/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/prompts/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/resources/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/resources/loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/resources/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/runtime/dependencies.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/runtime/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/runtime/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/session/branch_summarization.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/session/compaction.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/session/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/session/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/session/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/settings/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/settings/paths.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/settings/storage.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/settings/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/settings/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/skills/loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/skills/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/skills/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/telemetry/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/telemetry/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/telemetry/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/themes/loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/themes/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/themes/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tool/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tool/registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tool/render.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tool/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/trust/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/trust/manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/trust/types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/trust/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/ansi_bridge.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/autocomplete.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/backend.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/buffer.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/component.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/box.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/editor.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/select_list.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/simple_picker.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/spinner.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/text_input.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/components/widget_bridge.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/frame.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/geometry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/input.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/keybinding_hints.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/layout.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/markdown.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/palette.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/service.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/style.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/terminal.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/testing.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/text.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/theme.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widget.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/barchart.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/block.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/calendar.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/canvas.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/chart.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/clear.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/gauge.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/list.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/paragraph.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/scrollbar.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/sparkline.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/symbols.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/table.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/tui/widgets/tabs.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/__init__.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/format.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/http_proxy.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/image_processing.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/secrets.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/utils/version_check.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau_coding_agent.egg-info/SOURCES.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau_coding_agent.egg-info/entry_points.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau_coding_agent.egg-info/requires.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau_coding_agent.egg-info/top_level.txt +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_agent_compaction.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_agent_hooks.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_agent_prompt.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_agent_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_ansi.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_ansi_bridge_legacy_image.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_anthropic_tool_history.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_ask_user_extension.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_audio_transcription_apis.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_auth_command.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_auth_manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_auth_storage.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_autocomplete_modifiers.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_branch_navigation.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_branch_summarization.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_builtin_tools.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_builtin_watch.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_cli_inputs.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_cmd_copy.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_command_execution_policy.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_command_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_compaction.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_component_buffer_bridge.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_diff.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_editor_protocol.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_engine_execution.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_engine_length_and_live_tools.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_engine_steering.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_engine_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_escape_behavior.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_extension_api.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_extension_lifecycle.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_footer_model.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_footer_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_fuzzy.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_gemini_generate.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_google_vertex.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_http_proxy.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_image_processing.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_inference_api_text_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_inference_dialect.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_inference_error_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_inference_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_inference_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_keybindings.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_layout_render_cells.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_markdown.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_message_list_frozen.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_message_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_message_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_model_availability.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_model_command.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_model_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_model_selector_modal.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_model_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_oauth_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_package_resources.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_packages_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_peer_extension.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_pkce.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_prompts_expand.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_prompts_loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_prompts_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_provider_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_resource_loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_rpc_mode.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_runtime_sdk.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_scrollback_raw_writes.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_scrollback_terminal.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_secrets.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_select_list_render_cells.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_selector_controller.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_session_manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_session_trust_persist.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_session_types.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_session_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_settings_manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_settings_paths.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_settings_storage.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_settings_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_skills_loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_skills_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_strip_control_chars.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_subagent_context.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_telemetry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_text_input.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_text_input_render_cells.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_text_llm_invoke.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_text_llm_model_resolution.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_theme_loader.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_themes_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_thinking_render.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tool_registry.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tool_render.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tree_branch_restore.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_trust_manager.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_trust_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_capabilities.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_child_rows.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_input.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_layout_sizing.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_public_api.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_renderer.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_select_list.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_theme.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_tui_utils.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_ui_context.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_utils_hashline.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tests/test_version_check.py +0 -0
- {tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/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.2
|
|
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
|
|
@@ -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.2"
|
|
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"
|
|
@@ -75,13 +75,33 @@ models = [
|
|
|
75
75
|
output=_TEXT,
|
|
76
76
|
),
|
|
77
77
|
# Anthropic Claude Code (OAuth)
|
|
78
|
+
Model(
|
|
79
|
+
id="claude-fable-5",
|
|
80
|
+
name="Claude Fable 5",
|
|
81
|
+
provider="anthropic-claude-code",
|
|
82
|
+
cost=Cost(),
|
|
83
|
+
thinking=True,
|
|
84
|
+
context_window=1_048_576,
|
|
85
|
+
input=_TEXT_IMAGE,
|
|
86
|
+
output=_TEXT,
|
|
87
|
+
),
|
|
88
|
+
Model(
|
|
89
|
+
id="claude-opus-4-8",
|
|
90
|
+
name="Claude Opus 4.8",
|
|
91
|
+
provider="anthropic-claude-code",
|
|
92
|
+
cost=Cost(),
|
|
93
|
+
thinking=True,
|
|
94
|
+
context_window=1_048_576,
|
|
95
|
+
input=_TEXT_IMAGE,
|
|
96
|
+
output=_TEXT,
|
|
97
|
+
),
|
|
78
98
|
Model(
|
|
79
99
|
id="claude-opus-4-7",
|
|
80
100
|
name="Claude Opus 4.7",
|
|
81
101
|
provider="anthropic-claude-code",
|
|
82
102
|
cost=Cost(),
|
|
83
103
|
thinking=True,
|
|
84
|
-
context_window=
|
|
104
|
+
context_window=1_048_576,
|
|
85
105
|
input=_TEXT_IMAGE,
|
|
86
106
|
output=_TEXT,
|
|
87
107
|
),
|
|
@@ -91,7 +111,7 @@ models = [
|
|
|
91
111
|
provider="anthropic-claude-code",
|
|
92
112
|
cost=Cost(),
|
|
93
113
|
thinking=True,
|
|
94
|
-
context_window=
|
|
114
|
+
context_window=1_048_576,
|
|
95
115
|
input=_TEXT_IMAGE,
|
|
96
116
|
output=_TEXT,
|
|
97
117
|
),
|
|
@@ -101,6 +121,16 @@ models = [
|
|
|
101
121
|
provider="anthropic-claude-code",
|
|
102
122
|
cost=Cost(),
|
|
103
123
|
thinking=True,
|
|
124
|
+
context_window=1_048_576,
|
|
125
|
+
input=_TEXT_IMAGE,
|
|
126
|
+
output=_TEXT,
|
|
127
|
+
),
|
|
128
|
+
Model(
|
|
129
|
+
id="claude-sonnet-4-5-20250929",
|
|
130
|
+
name="Claude Sonnet 4.5",
|
|
131
|
+
provider="anthropic-claude-code",
|
|
132
|
+
cost=Cost(),
|
|
133
|
+
thinking=True,
|
|
104
134
|
context_window=200_000,
|
|
105
135
|
input=_TEXT_IMAGE,
|
|
106
136
|
output=_TEXT,
|
|
@@ -122,26 +152,29 @@ models = [
|
|
|
122
152
|
cost=Cost(),
|
|
123
153
|
thinking=True,
|
|
124
154
|
context_window=1_048_576,
|
|
155
|
+
max_output_tokens=65_536,
|
|
125
156
|
input=_TEXT_IMAGE_VIDEO,
|
|
126
157
|
output=_TEXT,
|
|
127
158
|
),
|
|
128
159
|
Model(
|
|
129
|
-
id="gemini-3.1-pro-
|
|
130
|
-
name="Gemini 3.1 Pro",
|
|
160
|
+
id="gemini-3.1-pro-high",
|
|
161
|
+
name="Gemini 3.1 Pro (High)",
|
|
131
162
|
provider="google-antigravity",
|
|
132
163
|
cost=Cost(),
|
|
133
164
|
thinking=True,
|
|
134
165
|
context_window=1_048_576,
|
|
166
|
+
max_output_tokens=65_535,
|
|
135
167
|
input=_TEXT_IMAGE_VIDEO,
|
|
136
168
|
output=_TEXT,
|
|
137
169
|
),
|
|
138
170
|
Model(
|
|
139
|
-
id="gemini-3-flash-
|
|
140
|
-
name="Gemini 3 Flash
|
|
171
|
+
id="gemini-3-flash-agent",
|
|
172
|
+
name="Gemini 3.5 Flash (High)",
|
|
141
173
|
provider="google-antigravity",
|
|
142
174
|
cost=Cost(),
|
|
143
175
|
thinking=True,
|
|
144
176
|
context_window=1_048_576,
|
|
177
|
+
max_output_tokens=65_536,
|
|
145
178
|
input=_TEXT_IMAGE_VIDEO,
|
|
146
179
|
output=_TEXT,
|
|
147
180
|
),
|
|
@@ -151,6 +184,7 @@ models = [
|
|
|
151
184
|
provider="google-antigravity",
|
|
152
185
|
cost=Cost(),
|
|
153
186
|
context_window=1_048_576,
|
|
187
|
+
max_output_tokens=65_535,
|
|
154
188
|
input=_TEXT_IMAGE_VIDEO,
|
|
155
189
|
output=_TEXT,
|
|
156
190
|
),
|
|
@@ -161,6 +195,7 @@ models = [
|
|
|
161
195
|
cost=Cost(),
|
|
162
196
|
thinking=True,
|
|
163
197
|
context_window=1_048_576,
|
|
198
|
+
max_output_tokens=65_535,
|
|
164
199
|
input=_TEXT_IMAGE_VIDEO,
|
|
165
200
|
output=_TEXT,
|
|
166
201
|
),
|
|
@@ -171,6 +206,7 @@ models = [
|
|
|
171
206
|
cost=Cost(),
|
|
172
207
|
thinking=True,
|
|
173
208
|
context_window=1_048_576,
|
|
209
|
+
max_output_tokens=65_535,
|
|
174
210
|
input=_TEXT_IMAGE_VIDEO,
|
|
175
211
|
output=_TEXT,
|
|
176
212
|
),
|
|
@@ -180,36 +216,41 @@ models = [
|
|
|
180
216
|
provider="google-antigravity",
|
|
181
217
|
cost=Cost(),
|
|
182
218
|
context_window=1_048_576,
|
|
219
|
+
max_output_tokens=65_535,
|
|
183
220
|
input=_TEXT_IMAGE_VIDEO,
|
|
184
221
|
output=_TEXT,
|
|
185
222
|
),
|
|
186
223
|
Model(
|
|
187
|
-
id="claude-sonnet-4-
|
|
224
|
+
id="claude-sonnet-4-6",
|
|
188
225
|
name="Claude Sonnet 4.6 (Thinking)",
|
|
189
226
|
provider="google-antigravity",
|
|
190
227
|
cost=Cost(),
|
|
191
228
|
thinking=True,
|
|
192
|
-
context_window=
|
|
229
|
+
context_window=250_000,
|
|
230
|
+
max_output_tokens=64_000,
|
|
193
231
|
input=_TEXT_IMAGE,
|
|
194
232
|
output=_TEXT,
|
|
195
233
|
),
|
|
196
234
|
Model(
|
|
197
|
-
id="claude-opus-4-
|
|
235
|
+
id="claude-opus-4-6-thinking",
|
|
198
236
|
name="Claude Opus 4.6 (Thinking)",
|
|
199
237
|
provider="google-antigravity",
|
|
200
238
|
cost=Cost(),
|
|
201
239
|
thinking=True,
|
|
202
|
-
context_window=
|
|
240
|
+
context_window=250_000,
|
|
241
|
+
max_output_tokens=64_000,
|
|
203
242
|
input=_TEXT_IMAGE,
|
|
204
243
|
output=_TEXT,
|
|
205
244
|
),
|
|
206
245
|
Model(
|
|
207
|
-
id="gpt-oss-
|
|
208
|
-
name="GPT-OSS
|
|
246
|
+
id="gpt-oss-120b-medium",
|
|
247
|
+
name="GPT-OSS 120B (Medium)",
|
|
209
248
|
provider="google-antigravity",
|
|
210
249
|
cost=Cost(),
|
|
211
|
-
|
|
212
|
-
|
|
250
|
+
thinking=True,
|
|
251
|
+
context_window=131_072,
|
|
252
|
+
max_output_tokens=32_768,
|
|
253
|
+
input=_TEXT,
|
|
213
254
|
output=_TEXT,
|
|
214
255
|
),
|
|
215
256
|
# Google AI Studio (Gemini Developer API — API key)
|
|
@@ -370,7 +411,7 @@ models = [
|
|
|
370
411
|
id="claude-fable-5",
|
|
371
412
|
name="Claude Fable 5",
|
|
372
413
|
provider="anthropic-vertex",
|
|
373
|
-
cost=Cost(input=
|
|
414
|
+
cost=Cost(input=10.0, output=50.0, cache_read=1.0),
|
|
374
415
|
thinking=True,
|
|
375
416
|
context_window=1_048_576,
|
|
376
417
|
input=_TEXT_IMAGE,
|
|
@@ -380,7 +421,7 @@ models = [
|
|
|
380
421
|
id="claude-opus-4-8",
|
|
381
422
|
name="Claude Opus 4.8",
|
|
382
423
|
provider="anthropic-vertex",
|
|
383
|
-
cost=Cost(input=
|
|
424
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5),
|
|
384
425
|
thinking=True,
|
|
385
426
|
context_window=1_048_576,
|
|
386
427
|
input=_TEXT_IMAGE,
|
|
@@ -390,7 +431,7 @@ models = [
|
|
|
390
431
|
id="claude-opus-4-7",
|
|
391
432
|
name="Claude Opus 4.7",
|
|
392
433
|
provider="anthropic-vertex",
|
|
393
|
-
cost=Cost(input=
|
|
434
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5),
|
|
394
435
|
thinking=True,
|
|
395
436
|
context_window=1_048_576,
|
|
396
437
|
input=_TEXT_IMAGE,
|
|
@@ -400,7 +441,7 @@ models = [
|
|
|
400
441
|
id="claude-opus-4-6",
|
|
401
442
|
name="Claude Opus 4.6",
|
|
402
443
|
provider="anthropic-vertex",
|
|
403
|
-
cost=Cost(input=
|
|
444
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5),
|
|
404
445
|
thinking=True,
|
|
405
446
|
context_window=1_048_576,
|
|
406
447
|
input=_TEXT_IMAGE,
|
|
@@ -430,7 +471,7 @@ models = [
|
|
|
430
471
|
id="claude-opus-4-5@20251101",
|
|
431
472
|
name="Claude Opus 4.5",
|
|
432
473
|
provider="anthropic-vertex",
|
|
433
|
-
cost=Cost(input=
|
|
474
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5),
|
|
434
475
|
thinking=True,
|
|
435
476
|
context_window=200_000,
|
|
436
477
|
input=_TEXT_IMAGE,
|
|
@@ -449,7 +490,7 @@ models = [
|
|
|
449
490
|
id="claude-haiku-4-5@20251001",
|
|
450
491
|
name="Claude Haiku 4.5",
|
|
451
492
|
provider="anthropic-vertex",
|
|
452
|
-
cost=Cost(input=0
|
|
493
|
+
cost=Cost(input=1.0, output=5.0, cache_read=0.10),
|
|
453
494
|
context_window=200_000,
|
|
454
495
|
input=_TEXT_IMAGE,
|
|
455
496
|
output=_TEXT,
|
|
@@ -620,13 +661,33 @@ models = [
|
|
|
620
661
|
output=_TEXT,
|
|
621
662
|
),
|
|
622
663
|
# Anthropic (API key)
|
|
664
|
+
Model(
|
|
665
|
+
id="claude-fable-5",
|
|
666
|
+
name="Claude Fable 5",
|
|
667
|
+
provider="anthropic",
|
|
668
|
+
cost=Cost(input=10.0, output=50.0, cache_read=1.0, cache_write=12.5),
|
|
669
|
+
thinking=True,
|
|
670
|
+
context_window=1_048_576,
|
|
671
|
+
input=_TEXT_IMAGE,
|
|
672
|
+
output=_TEXT,
|
|
673
|
+
),
|
|
674
|
+
Model(
|
|
675
|
+
id="claude-opus-4-8",
|
|
676
|
+
name="Claude Opus 4.8",
|
|
677
|
+
provider="anthropic",
|
|
678
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5, cache_write=6.25),
|
|
679
|
+
thinking=True,
|
|
680
|
+
context_window=1_048_576,
|
|
681
|
+
input=_TEXT_IMAGE,
|
|
682
|
+
output=_TEXT,
|
|
683
|
+
),
|
|
623
684
|
Model(
|
|
624
685
|
id="claude-opus-4-7",
|
|
625
686
|
name="Claude Opus 4.7",
|
|
626
687
|
provider="anthropic",
|
|
627
|
-
cost=Cost(input=
|
|
688
|
+
cost=Cost(input=5.0, output=25.0, cache_read=0.5, cache_write=6.25),
|
|
628
689
|
thinking=True,
|
|
629
|
-
context_window=
|
|
690
|
+
context_window=1_048_576,
|
|
630
691
|
input=_TEXT_IMAGE,
|
|
631
692
|
output=_TEXT,
|
|
632
693
|
),
|
|
@@ -634,9 +695,10 @@ models = [
|
|
|
634
695
|
id="claude-sonnet-5",
|
|
635
696
|
name="Claude Sonnet 5",
|
|
636
697
|
provider="anthropic",
|
|
637
|
-
|
|
698
|
+
# Introductory pricing through 2026-08-31; standard rate is $3/$15 after.
|
|
699
|
+
cost=Cost(input=2.0, output=10.0, cache_read=0.20, cache_write=2.5),
|
|
638
700
|
thinking=True,
|
|
639
|
-
context_window=
|
|
701
|
+
context_window=1_048_576,
|
|
640
702
|
input=_TEXT_IMAGE,
|
|
641
703
|
output=_TEXT,
|
|
642
704
|
),
|
|
@@ -646,7 +708,7 @@ models = [
|
|
|
646
708
|
provider="anthropic",
|
|
647
709
|
cost=Cost(input=3.0, output=15.0, cache_read=0.30, cache_write=3.75),
|
|
648
710
|
thinking=True,
|
|
649
|
-
context_window=
|
|
711
|
+
context_window=1_048_576,
|
|
650
712
|
input=_TEXT_IMAGE,
|
|
651
713
|
output=_TEXT,
|
|
652
714
|
),
|
|
@@ -654,7 +716,7 @@ models = [
|
|
|
654
716
|
id="claude-haiku-4-5-20251001",
|
|
655
717
|
name="Claude Haiku 4.5",
|
|
656
718
|
provider="anthropic",
|
|
657
|
-
cost=Cost(input=0
|
|
719
|
+
cost=Cost(input=1.0, output=5.0, cache_read=0.10, cache_write=1.25),
|
|
658
720
|
context_window=200_000,
|
|
659
721
|
input=_TEXT_IMAGE,
|
|
660
722
|
output=_TEXT,
|
|
@@ -2,11 +2,17 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import sys
|
|
5
|
+
import threading
|
|
6
|
+
from collections.abc import Callable, Iterator
|
|
7
|
+
from contextlib import contextmanager
|
|
5
8
|
from pathlib import Path
|
|
6
9
|
from typing import TYPE_CHECKING
|
|
7
10
|
|
|
8
11
|
import click
|
|
9
12
|
|
|
13
|
+
from tau.tui.style import RESET, Style
|
|
14
|
+
from tau.tui.widgets.symbols import FILL_HORIZONTAL
|
|
15
|
+
|
|
10
16
|
if TYPE_CHECKING:
|
|
11
17
|
from tau.packages.manager import PackageManager
|
|
12
18
|
from tau.settings.manager import SettingsManager
|
|
@@ -88,7 +94,6 @@ def _update_tau() -> None:
|
|
|
88
94
|
from tau.settings.paths import get_app_name, get_package_name
|
|
89
95
|
|
|
90
96
|
app = get_package_name()
|
|
91
|
-
click.echo(f"Updating {get_app_name()}…")
|
|
92
97
|
|
|
93
98
|
# Pick the upgrade tool that matches how this copy was installed, inferred
|
|
94
99
|
# from the venv it runs in, so we upgrade the right managed environment.
|
|
@@ -103,8 +108,58 @@ def _update_tau() -> None:
|
|
|
103
108
|
else:
|
|
104
109
|
cmd = [sys.executable, "-m", "pip", "install", "--upgrade", app]
|
|
105
110
|
|
|
106
|
-
|
|
111
|
+
with _progress_bar(f"Updating {get_app_name()}…"):
|
|
112
|
+
result = subprocess.run(cmd, capture_output=True, text=True)
|
|
113
|
+
|
|
107
114
|
if result.returncode == 0:
|
|
108
115
|
click.echo(click.style(f"✓ {get_app_name()} updated successfully", fg="green"))
|
|
109
116
|
else:
|
|
110
117
|
raise click.ClickException(result.stderr.strip() or "Update failed.")
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
# Width of the sweep track and the highlighted window within it, in cells.
|
|
121
|
+
_BAR_WIDTH = 24
|
|
122
|
+
_SWEEP_WIDTH = 8
|
|
123
|
+
_FRAME_INTERVAL = 0.08
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def _sweep_frame(frame: int) -> str:
|
|
127
|
+
"""Render one frame of an indeterminate progress bar: a filled window that
|
|
128
|
+
bounces back and forth across the track, built from the same fill glyph
|
|
129
|
+
and Style the tui's own ``LineGauge`` widget uses (tau/tui/widgets/gauge.py)."""
|
|
130
|
+
track_len = max(1, _BAR_WIDTH - _SWEEP_WIDTH)
|
|
131
|
+
period = track_len * 2
|
|
132
|
+
t = frame % period
|
|
133
|
+
pos = t if t <= track_len else period - t
|
|
134
|
+
fill = FILL_HORIZONTAL[-1]
|
|
135
|
+
cells = [fill if pos <= i < pos + _SWEEP_WIDTH else " " for i in range(_BAR_WIDTH)]
|
|
136
|
+
style = Style().with_fg("bright_cyan")
|
|
137
|
+
return f"[{style.sgr()}{''.join(cells)}{RESET}]"
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
@contextmanager
|
|
141
|
+
def _progress_bar(message: str) -> Iterator[Callable[[], None]]:
|
|
142
|
+
"""Show an indeterminate sweep bar on stderr while a blocking call runs.
|
|
143
|
+
|
|
144
|
+
``subprocess.run(capture_output=True)`` gives no feedback until it
|
|
145
|
+
returns, which can be tens of seconds for an installer download — animate
|
|
146
|
+
on a background thread so the terminal doesn't look hung, then erase it
|
|
147
|
+
in favor of the caller's own result line.
|
|
148
|
+
"""
|
|
149
|
+
stop = threading.Event()
|
|
150
|
+
|
|
151
|
+
def _animate() -> None:
|
|
152
|
+
frame = 0
|
|
153
|
+
while not stop.is_set():
|
|
154
|
+
click.echo(f"\r{_sweep_frame(frame)} {message}", nl=False, err=True)
|
|
155
|
+
frame += 1
|
|
156
|
+
stop.wait(_FRAME_INTERVAL)
|
|
157
|
+
click.echo("\r" + " " * (_BAR_WIDTH + len(message) + 3) + "\r", nl=False, err=True)
|
|
158
|
+
|
|
159
|
+
thread = threading.Thread(target=_animate, daemon=True)
|
|
160
|
+
thread.start()
|
|
161
|
+
try:
|
|
162
|
+
yield stop.set
|
|
163
|
+
finally:
|
|
164
|
+
stop.set()
|
|
165
|
+
thread.join()
|
{tau_coding_agent-0.7.0 → tau_coding_agent-0.7.2}/tau/inference/api/text/anthropic_claude_code.py
RENAMED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import hashlib
|
|
4
|
+
import os
|
|
3
5
|
from collections.abc import AsyncGenerator
|
|
4
6
|
from typing import TYPE_CHECKING, Any
|
|
5
7
|
|
|
@@ -55,11 +57,127 @@ _DEFAULT_MAX_TOKENS = 8096
|
|
|
55
57
|
|
|
56
58
|
|
|
57
59
|
_OAUTH_HEADERS = {
|
|
58
|
-
"anthropic-beta": "oauth-2025-04-20",
|
|
59
60
|
"x-app": "cli",
|
|
60
61
|
"User-Agent": "claude-cli/2.1.122 (external, sdk-cli)",
|
|
61
62
|
}
|
|
62
63
|
|
|
64
|
+
# System identity that Anthropic's API requires as its own system[] entry for
|
|
65
|
+
# OAuth-authenticated (Claude Pro/Max) requests to be accepted and billed
|
|
66
|
+
# against the subscription rather than rejected with a 400.
|
|
67
|
+
_SYSTEM_IDENTITY = "You are Claude Code, Anthropic's official CLI for Claude."
|
|
68
|
+
|
|
69
|
+
_CC_VERSION = "2.1.185"
|
|
70
|
+
_BILLING_SALT = "59cf53e54c78"
|
|
71
|
+
|
|
72
|
+
# Beta flags Claude Code itself sends on every OAuth request.
|
|
73
|
+
_BASE_BETAS = [
|
|
74
|
+
"claude-code-20250219",
|
|
75
|
+
"oauth-2025-04-20",
|
|
76
|
+
"interleaved-thinking-2025-05-14",
|
|
77
|
+
"prompt-caching-scope-2026-01-05",
|
|
78
|
+
"context-management-2025-06-27",
|
|
79
|
+
"advisor-tool-2026-03-01",
|
|
80
|
+
"thinking-token-count-2026-05-13",
|
|
81
|
+
"extended-cache-ttl-2025-04-11",
|
|
82
|
+
"effort-2025-11-24",
|
|
83
|
+
]
|
|
84
|
+
|
|
85
|
+
# Per-model beta overrides, matched by substring against the lowercased model id.
|
|
86
|
+
_MODEL_BETA_OVERRIDES: dict[str, dict[str, list[str]]] = {
|
|
87
|
+
"haiku": {"exclude": ["interleaved-thinking-2025-05-14"]},
|
|
88
|
+
"4-6": {"add": ["effort-2025-11-24"]},
|
|
89
|
+
"4-7": {"add": ["effort-2025-11-24"]},
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _model_betas(model_id: str) -> list[str]:
|
|
94
|
+
"""Return the anthropic-beta flags for `model_id`, applying per-model overrides."""
|
|
95
|
+
betas = list(_BASE_BETAS)
|
|
96
|
+
lower = model_id.lower()
|
|
97
|
+
for pattern, override in _MODEL_BETA_OVERRIDES.items():
|
|
98
|
+
if pattern in lower:
|
|
99
|
+
exclude = override.get("exclude", [])
|
|
100
|
+
betas = [b for b in betas if b not in exclude]
|
|
101
|
+
for b in override.get("add", []):
|
|
102
|
+
if b not in betas:
|
|
103
|
+
betas.append(b)
|
|
104
|
+
break
|
|
105
|
+
return betas
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def _first_user_message_text(messages: list[dict[str, Any]]) -> str:
|
|
109
|
+
"""Extract the text of the first user message's first text block."""
|
|
110
|
+
for message in messages:
|
|
111
|
+
if message.get("role") != "user":
|
|
112
|
+
continue
|
|
113
|
+
content = message.get("content")
|
|
114
|
+
if isinstance(content, str):
|
|
115
|
+
return content
|
|
116
|
+
if isinstance(content, list):
|
|
117
|
+
for block in content:
|
|
118
|
+
if isinstance(block, dict) and block.get("type") == "text":
|
|
119
|
+
return block.get("text", "")
|
|
120
|
+
return ""
|
|
121
|
+
return ""
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def _billing_header_value(messages: list[dict[str, Any]], entrypoint: str) -> str:
|
|
125
|
+
"""Build the `x-anthropic-billing-header` value Claude Code embeds as system[0].
|
|
126
|
+
|
|
127
|
+
Mirrors Claude Code's internal cch/version-suffix computation so OAuth
|
|
128
|
+
requests are billed against the subscription instead of being rejected.
|
|
129
|
+
"""
|
|
130
|
+
text = _first_user_message_text(messages)
|
|
131
|
+
version = os.environ.get("ANTHROPIC_CLI_VERSION", _CC_VERSION)
|
|
132
|
+
sampled = "".join(text[i] if i < len(text) else "0" for i in (4, 7, 20))
|
|
133
|
+
suffix = hashlib.sha256(f"{_BILLING_SALT}{sampled}{version}".encode()).hexdigest()[:3]
|
|
134
|
+
cch = hashlib.sha256(text.encode()).hexdigest()[:5]
|
|
135
|
+
return (
|
|
136
|
+
f"x-anthropic-billing-header: cc_version={version}.{suffix}; "
|
|
137
|
+
f"cc_entrypoint={entrypoint}; cch={cch};"
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
def _build_system_blocks(
|
|
142
|
+
system_text: str | None, messages: list[dict[str, Any]]
|
|
143
|
+
) -> tuple[list[dict[str, Any]], list[dict[str, Any]]]:
|
|
144
|
+
"""Split the system prompt for OAuth requests.
|
|
145
|
+
|
|
146
|
+
Anthropic's API validates the system[] array for OAuth-authenticated
|
|
147
|
+
requests: only the billing header and the Claude Code identity string may
|
|
148
|
+
live there. Any other system content triggers a 400 ("out of extra
|
|
149
|
+
usage"). Everything else is relocated to the front of the first user
|
|
150
|
+
message, which is functionally equivalent for the model.
|
|
151
|
+
|
|
152
|
+
Returns (system_blocks, patched_messages).
|
|
153
|
+
"""
|
|
154
|
+
entrypoint = os.environ.get("CLAUDE_CODE_ENTRYPOINT", "sdk-cli")
|
|
155
|
+
system_blocks: list[dict[str, Any]] = [
|
|
156
|
+
{"type": "text", "text": _billing_header_value(messages, entrypoint)},
|
|
157
|
+
{"type": "text", "text": _SYSTEM_IDENTITY, "cache_control": {"type": "ephemeral"}},
|
|
158
|
+
]
|
|
159
|
+
|
|
160
|
+
if not system_text:
|
|
161
|
+
return system_blocks, messages
|
|
162
|
+
|
|
163
|
+
patched = list(messages)
|
|
164
|
+
prefix = system_text
|
|
165
|
+
for i, message in enumerate(patched):
|
|
166
|
+
if message.get("role") != "user":
|
|
167
|
+
continue
|
|
168
|
+
content = message.get("content")
|
|
169
|
+
if isinstance(content, str):
|
|
170
|
+
patched[i] = {**message, "content": f"{prefix}\n\n{content}"}
|
|
171
|
+
elif isinstance(content, list):
|
|
172
|
+
patched[i] = {
|
|
173
|
+
**message,
|
|
174
|
+
"content": [{"type": "text", "text": prefix}, *content],
|
|
175
|
+
}
|
|
176
|
+
else:
|
|
177
|
+
patched[i] = {**message, "content": prefix}
|
|
178
|
+
break
|
|
179
|
+
return system_blocks, patched
|
|
180
|
+
|
|
63
181
|
|
|
64
182
|
class AnthropicClaudeCodeAPI(BaseAPI):
|
|
65
183
|
"""Anthropic Messages API using OAuth token auth (Claude Pro/Max).
|
|
@@ -100,10 +218,8 @@ class AnthropicClaudeCodeAPI(BaseAPI):
|
|
|
100
218
|
}
|
|
101
219
|
if not _suppress_temp:
|
|
102
220
|
params["temperature"] = self.options.temperature
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
{"type": "text", "text": system, "cache_control": {"type": "ephemeral"}}
|
|
106
|
-
]
|
|
221
|
+
system_blocks, params["messages"] = _build_system_blocks(system, params["messages"])
|
|
222
|
+
params["system"] = system_blocks
|
|
107
223
|
if (
|
|
108
224
|
self.options.thinking_level is not None
|
|
109
225
|
and self.options.thinking_level != ThinkingLevel.Off
|
|
@@ -186,7 +302,8 @@ class AnthropicClaudeCodeAPI(BaseAPI):
|
|
|
186
302
|
|
|
187
303
|
yield StartEvent()
|
|
188
304
|
|
|
189
|
-
|
|
305
|
+
extra_headers = {"anthropic-beta": ",".join(_model_betas(model.id))}
|
|
306
|
+
async with self._client.messages.stream(**params, extra_headers=extra_headers) as stream:
|
|
190
307
|
async for event in stream:
|
|
191
308
|
if self._cancelled():
|
|
192
309
|
yield ErrorEvent(reason=StopReason.Abort, error="Cancelled")
|