tau-coding-agent 0.7.4__tar.gz → 0.7.6__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.4/tau_coding_agent.egg-info → tau_coding_agent-0.7.6}/PKG-INFO +4 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/README.md +2 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/cli-reference.md +19 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/pyproject.toml +2 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/builder.py +11 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/service.py +20 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/types.py +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/sandbox_tool.py +1 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/__init__.py +31 -8
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/todo_tool.py +4 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/text.py +84 -66
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/text.py +39 -3
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/edit.py +3 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/glob.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/grep.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/ls.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/read.py +56 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/terminal.py +1 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/utils.py +20 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/write.py +3 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/cli.py +9 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/service.py +18 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_claude_code.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_messages.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_vertex.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/gemini_generate.py +24 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/github_copilot_chat.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/google_antigravity.py +12 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/google_vertex.py +28 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/mistral_chat.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/ollama_chat.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_codex_responses.py +98 -8
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_completions.py +0 -4
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_responses.py +5 -5
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_vertex.py +0 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/utils.py +120 -56
- tau_coding_agent-0.7.6/tau/inference/model/local/__init__.py +64 -0
- tau_coding_agent-0.7.6/tau/inference/model/local/llamacpp.py +96 -0
- tau_coding_agent-0.7.6/tau/inference/model/local/lmstudio.py +99 -0
- tau_coding_agent-0.7.6/tau/inference/model/local/ollama.py +129 -0
- tau_coding_agent-0.7.6/tau/inference/model/local/vllm.py +95 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/types.py +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/utils.py +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/types.py +95 -13
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/utils.py +60 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/message_list.py +61 -6
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/input_handler.py +239 -43
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/ui_context.py +10 -13
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/service.py +20 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/types.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/types.py +126 -12
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6/tau_coding_agent.egg-info}/PKG-INFO +4 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/SOURCES.txt +12 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/requires.txt +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_error_utils.py +6 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_utils.py +22 -0
- tau_coding_agent-0.7.6/tests/test_input_handler_paste.py +495 -0
- tau_coding_agent-0.7.6/tests/test_local_model_discovery.py +450 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_types.py +148 -5
- tau_coding_agent-0.7.6/tests/test_model_audio_modality.py +127 -0
- tau_coding_agent-0.7.6/tests/test_model_file_modality.py +103 -0
- tau_coding_agent-0.7.6/tests/test_openai_codex_responses_lite.py +170 -0
- tau_coding_agent-0.7.6/tests/test_provider_audio_content.py +152 -0
- tau_coding_agent-0.7.6/tests/test_provider_file_content.py +186 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_runtime_sdk.py +23 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/LICENSE +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/MANIFEST.in +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/architecture.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/auth.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/creating-tools.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/development.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/docs.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/engine.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/extension-settings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/extensions.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/http-proxy.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/index.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/inference-providers.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/inference.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/installation.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/keybindings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/messages.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/project-context.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/project-structure.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/prompts.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/python-api.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/quickstart.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/sessions.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/settings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/skills.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/themes.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/tools.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/tui.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/usage.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/setup.cfg +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/embedded.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/clear.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/compact.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/reload.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/component.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/btw/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/git.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/header/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/README.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/dispatch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/duration.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/state.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/todo_schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/watch/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/fetch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/search.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/runner.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/store.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/commit.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/docs.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/explain.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/fix.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/refactor.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/review.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/test.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/code-review/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/debug/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/git-commit/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/ayu-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/catppuccin.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/dracula.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/everforest.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/gruvbox.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/horizon.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/kanagawa.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/light.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/material-ocean.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/monokai.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/night-owl.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/nord.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/one-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/rose-pine.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/solarized-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/tokyo-night.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/auth.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/packages.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/update.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/core/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/core/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/runtime.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/settings.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/inference.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/runtime.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/tui.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/gemini_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/openai_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/sarvam_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/availability.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/gemini_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/openai_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/openrouter.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/dialect.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/xai_responses.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/fal_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/openrouter_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/zai_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/github_copilot.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/google_antigravity.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/openai_codex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/pkce.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/xai_grok.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/agent_hooks.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/app.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/appearance.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/auth.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/extensions.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/misc.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/command_palette.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/config_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/extension_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/file_picker.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/layout.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/model_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/oauth_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/overlays.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/selector_controller.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/session_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/settings_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/theme_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/thinking_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/tree_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/trust_screen.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/voice_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/print/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/mode.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/expand.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/dependencies.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/branch_summarization.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/paths.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/ansi_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/autocomplete.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/backend.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/buffer.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/component.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/box.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/editor.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/select_list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/simple_picker.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/spinner.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/text_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/widget_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/frame.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/geometry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/keybinding_hints.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/layout.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/markdown.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/palette.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/style.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/terminal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/testing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/text.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/theme.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widget.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/barchart.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/block.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/calendar.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/canvas.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/chart.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/clear.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/gauge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/paragraph.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/scrollbar.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/sparkline.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/symbols.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/table.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/tabs.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/format.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/http_proxy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/image_processing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/secrets.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/version_check.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/entry_points.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/top_level.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_hooks.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_prompt.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ansi.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ansi_bridge_legacy_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_anthropic_tool_history.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ask_user_extension.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_audio_transcription_apis.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_command.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_autocomplete_modifiers.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_branch_navigation.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_branch_summarization.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_builtin_tools.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_builtin_watch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_cli_inputs.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_cmd_copy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_command_execution_policy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_command_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_component_buffer_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_diff.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_editor_protocol.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_execution.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_length_and_live_tools.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_steering.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_escape_behavior.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_extension_api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_extension_lifecycle.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_footer_model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_footer_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_fuzzy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_gemini_generate.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_google_antigravity.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_google_vertex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_http_proxy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_image_processing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_api_text_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_dialect.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_keybindings.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_layout_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_markdown.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_list_frozen.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_availability.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_command.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_selector_modal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_oauth_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_package_resources.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_packages_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_peer_extension.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_pkce.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_expand.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_provider_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_resource_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_rpc_mode.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_scrollback_raw_writes.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_scrollback_terminal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_secrets.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_select_list_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_selector_controller.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_trust_persist.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_paths.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_skills_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_skills_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_strip_control_chars.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_subagent_context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_telemetry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_input_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_llm_invoke.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_llm_model_resolution.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_theme_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_themes_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_thinking_render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tool_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tool_render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tree_branch_restore.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_trust_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_trust_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_capabilities.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_child_rows.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_layout_sizing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_public_api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_renderer.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_select_list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_theme.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ui_context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_utils_hashline.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_version_check.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/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.6
|
|
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
|
|
@@ -32,6 +32,7 @@ Requires-Dist: arrow==1.4.0
|
|
|
32
32
|
Requires-Dist: kiwisolver==1.5.0
|
|
33
33
|
Requires-Dist: tiktoken==0.13.0
|
|
34
34
|
Requires-Dist: rapidfuzz==3.14.3
|
|
35
|
+
Requires-Dist: pyxclip==0.2.3
|
|
35
36
|
Provides-Extra: tools
|
|
36
37
|
Requires-Dist: ripgrep>=14.0.0; extra == "tools"
|
|
37
38
|
Dynamic: license-file
|
|
@@ -108,6 +109,7 @@ tau --resume # Resume the latest session
|
|
|
108
109
|
tau --resume abc123 # Resume a specific session by ID
|
|
109
110
|
tau --model claude-sonnet-4-6 # Start with a specific model
|
|
110
111
|
tau --model groq/llama-3.3-70b-versatile # provider/model shorthand
|
|
112
|
+
tau --base-url http://localhost:8000/v1 --provider vllm # point at a local/proxy endpoint
|
|
111
113
|
tau --print "Summarize this repository" # Run once and print the result
|
|
112
114
|
tau --mode json --prompt "Summarize this repo" # Emit structured JSON events
|
|
113
115
|
tau --mode rpc # Start JSON-RPC mode for IDE clients
|
|
@@ -123,6 +125,7 @@ Common flags:
|
|
|
123
125
|
| `--mode` | | `interactive` (default), `print`, `json`, `rpc` |
|
|
124
126
|
| `--provider` | | Provider to use, e.g. `anthropic`, `openai`, `groq` |
|
|
125
127
|
| `--model` | | Model ID, or `provider/model` shorthand |
|
|
128
|
+
| `--base-url URL` | | Temporarily override the provider's base URL for this run (not persisted) |
|
|
126
129
|
| `--resume [ID]` | `-r` | Resume the most recent or a specified session |
|
|
127
130
|
| `--fork ID` | | Fork a specified session at startup |
|
|
128
131
|
| `--ephemeral` | `-e` | Don't save this session to disk |
|
|
@@ -70,6 +70,7 @@ tau --resume # Resume the latest session
|
|
|
70
70
|
tau --resume abc123 # Resume a specific session by ID
|
|
71
71
|
tau --model claude-sonnet-4-6 # Start with a specific model
|
|
72
72
|
tau --model groq/llama-3.3-70b-versatile # provider/model shorthand
|
|
73
|
+
tau --base-url http://localhost:8000/v1 --provider vllm # point at a local/proxy endpoint
|
|
73
74
|
tau --print "Summarize this repository" # Run once and print the result
|
|
74
75
|
tau --mode json --prompt "Summarize this repo" # Emit structured JSON events
|
|
75
76
|
tau --mode rpc # Start JSON-RPC mode for IDE clients
|
|
@@ -85,6 +86,7 @@ Common flags:
|
|
|
85
86
|
| `--mode` | | `interactive` (default), `print`, `json`, `rpc` |
|
|
86
87
|
| `--provider` | | Provider to use, e.g. `anthropic`, `openai`, `groq` |
|
|
87
88
|
| `--model` | | Model ID, or `provider/model` shorthand |
|
|
89
|
+
| `--base-url URL` | | Temporarily override the provider's base URL for this run (not persisted) |
|
|
88
90
|
| `--resume [ID]` | `-r` | Resume the most recent or a specified session |
|
|
89
91
|
| `--fork ID` | | Fork a specified session at startup |
|
|
90
92
|
| `--ephemeral` | `-e` | Don't save this session to disk |
|
|
@@ -21,6 +21,7 @@ augment it.
|
|
|
21
21
|
| `--quiet` | `-q` | Hide the non-interactive spinner |
|
|
22
22
|
| `--provider` | | Provider to use, e.g. `anthropic`, `openai`, `groq` |
|
|
23
23
|
| `--model` | | Model ID, or `provider/model` shorthand (e.g. `groq/llama-3.3-70b-versatile`) |
|
|
24
|
+
| `--base-url URL` | | Temporarily override the resolved provider's base URL for this run only (not persisted) |
|
|
24
25
|
| `--theme` | `-t` | UI theme: `dark`, `light`, or an installed custom theme |
|
|
25
26
|
| `--resume [ID]` | `-r` | Resume the most recent or a specified session |
|
|
26
27
|
| `--fork ID` | | Fork a specified session at startup |
|
|
@@ -347,6 +348,24 @@ tau --model anthropic/claude-sonnet-4-6
|
|
|
347
348
|
|
|
348
349
|
An explicit `--provider` always overrides the inferred provider.
|
|
349
350
|
|
|
351
|
+
## Base URL Override
|
|
352
|
+
|
|
353
|
+
`--base-url` temporarily points the resolved provider at a different endpoint
|
|
354
|
+
for the current run — a proxy, gateway, or self-hosted deployment. It applies
|
|
355
|
+
to whichever provider ends up in use, whether set via `--provider`, inferred
|
|
356
|
+
from `provider/model` shorthand, or picked up from the saved/default model —
|
|
357
|
+
`--provider` is not required alongside it.
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
tau --base-url http://localhost:8000/v1 --provider vllm
|
|
361
|
+
tau --model groq/llama-3.3-70b-versatile --base-url https://gateway.internal/v1
|
|
362
|
+
tau --base-url https://proxy.example.com/v1 # applies to the saved/default model
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
The override is in-memory only for that run — it is never written to
|
|
366
|
+
`settings.json` or `auth.json`, and there is no persistent equivalent; pass
|
|
367
|
+
`--base-url` again on the next run.
|
|
368
|
+
|
|
350
369
|
## Session Options
|
|
351
370
|
|
|
352
371
|
```bash
|
|
@@ -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.6"
|
|
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"
|
|
@@ -36,6 +36,7 @@ dependencies = [
|
|
|
36
36
|
"kiwisolver==1.5.0",
|
|
37
37
|
"tiktoken==0.13.0",
|
|
38
38
|
"rapidfuzz==3.14.3",
|
|
39
|
+
"pyxclip==0.2.3",
|
|
39
40
|
]
|
|
40
41
|
|
|
41
42
|
[project.scripts]
|
|
@@ -146,6 +146,11 @@ _GENERAL_GUIDELINES = [
|
|
|
146
146
|
"Prioritize accuracy over agreement — investigate before confirming, and "
|
|
147
147
|
"disagree when the evidence calls for it."
|
|
148
148
|
),
|
|
149
|
+
(
|
|
150
|
+
"When asked a question, to explain something, or to review or report on status, "
|
|
151
|
+
"inspect the relevant files, code, or state before answering — give an "
|
|
152
|
+
"evidence-backed response, not one from assumption or memory."
|
|
153
|
+
),
|
|
149
154
|
(
|
|
150
155
|
"Verify before reporting a task done: run the tests, build, or command that "
|
|
151
156
|
"exercises the change. Don't present untested, partial, or stubbed-out work as complete."
|
|
@@ -158,6 +163,12 @@ _GENERAL_GUIDELINES = [
|
|
|
158
163
|
"Treat git history as shared: never force-push, amend a commit that isn't yours, "
|
|
159
164
|
"or skip hooks (--no-verify) without the user's explicit go-ahead."
|
|
160
165
|
),
|
|
166
|
+
(
|
|
167
|
+
"A new user message that arrives while you're still working may replace the "
|
|
168
|
+
"active request or add to it — judge from intent. If it replaces, drop the "
|
|
169
|
+
"prior work; if it adds, address both; if it's just a status question, answer "
|
|
170
|
+
"it and keep going."
|
|
171
|
+
)
|
|
161
172
|
]
|
|
162
173
|
|
|
163
174
|
_PRECEDENCE_GUIDELINES = """\
|
|
@@ -75,6 +75,7 @@ class Agent:
|
|
|
75
75
|
self._engine.options.before_tool_call = self._before_tool_call
|
|
76
76
|
self._engine.options.after_tool_call = self._after_tool_call
|
|
77
77
|
self._engine.options.transform_context = self._transform_context
|
|
78
|
+
self._engine.options.ephemeral_injection = self._ephemeral_injection
|
|
78
79
|
|
|
79
80
|
# -------------------------------------------------------------------------
|
|
80
81
|
# Public interface
|
|
@@ -270,6 +271,24 @@ class Agent:
|
|
|
270
271
|
llm_messages = _to_llm_messages(session_ctx.messages)
|
|
271
272
|
return strip_unusable_trailing_assistant(llm_messages, self._session_manager)
|
|
272
273
|
|
|
274
|
+
async def _ephemeral_injection(self) -> list[UserMessage]:
|
|
275
|
+
"""Collect per-turn ephemeral messages from extensions via the "context" hook.
|
|
276
|
+
|
|
277
|
+
Called before every LLM inference (see Engine._run). Results are appended
|
|
278
|
+
to that single request's context only — never persisted to the session —
|
|
279
|
+
so extensions can keep the model up to date on live state (e.g. a todo
|
|
280
|
+
list) without that state needing to survive compaction.
|
|
281
|
+
"""
|
|
282
|
+
from tau.hooks.engine import ContextEvent, ContextEventResult
|
|
283
|
+
|
|
284
|
+
session_ctx = self._session_manager.build_session_context()
|
|
285
|
+
results = await self.hooks.emit(ContextEvent(messages=list(session_ctx.messages)))
|
|
286
|
+
ephemeral: list[UserMessage] = []
|
|
287
|
+
for result in results:
|
|
288
|
+
if isinstance(result, ContextEventResult):
|
|
289
|
+
ephemeral.extend(result.ephemeral_messages)
|
|
290
|
+
return ephemeral
|
|
291
|
+
|
|
273
292
|
# -------------------------------------------------------------------------
|
|
274
293
|
# Internal helpers
|
|
275
294
|
# -------------------------------------------------------------------------
|
|
@@ -674,6 +693,7 @@ class Agent:
|
|
|
674
693
|
list(opts.images) if opts.images else None,
|
|
675
694
|
list(opts.audio) if opts.audio else None,
|
|
676
695
|
list(opts.video) if opts.video else None,
|
|
696
|
+
list(opts.file) if opts.file else None,
|
|
677
697
|
)
|
|
678
698
|
self._session_manager.append_message(user_message, meta=opts.meta)
|
|
679
699
|
|
{tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/sandbox_tool.py
RENAMED
|
@@ -45,7 +45,7 @@ def _render_result(content: str, opts: Any) -> list[str]:
|
|
|
45
45
|
metadata = opts.metadata or {}
|
|
46
46
|
exit_code = metadata.get("exit_code", 0)
|
|
47
47
|
timed_out = metadata.get("timed_out", False)
|
|
48
|
-
failed = timed_out or exit_code != 0
|
|
48
|
+
failed = opts.is_error or timed_out or exit_code != 0
|
|
49
49
|
|
|
50
50
|
if timed_out:
|
|
51
51
|
return [f"{RED}Timed out{RESET}"]
|
|
@@ -6,9 +6,9 @@ rebuilt by replaying the session's custom entries (so it naturally follows
|
|
|
6
6
|
branch/fork navigation), plus a `/todos` command for a quick look.
|
|
7
7
|
|
|
8
8
|
The task list itself is surfaced through a board widget above the input box
|
|
9
|
-
rather than the tool call/result in the transcript — the board
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
rather than the tool call/result in the transcript — the board appears as
|
|
10
|
+
soon as a task exists and stays up (showing done/failed tasks too) until the
|
|
11
|
+
list is explicitly cleared or every task is deleted.
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
14
|
from __future__ import annotations
|
|
@@ -60,7 +60,7 @@ class TodoBoard:
|
|
|
60
60
|
|
|
61
61
|
def _lines(self, theme: Any) -> list[str]:
|
|
62
62
|
from tau.modes.interactive.components.message_list import apply_render_shell
|
|
63
|
-
from tau.tui.style import apply_style
|
|
63
|
+
from tau.tui.style import Style, apply_style
|
|
64
64
|
|
|
65
65
|
glyphs = {
|
|
66
66
|
"pending": ("☐", theme.muted),
|
|
@@ -73,16 +73,15 @@ class TodoBoard:
|
|
|
73
73
|
glyph, style = glyphs[item.status]
|
|
74
74
|
subject = item.subject
|
|
75
75
|
if item.status == "done":
|
|
76
|
-
subject = apply_style(
|
|
76
|
+
subject = apply_style(theme.muted.patch(Style().dim().strikethrough()), subject)
|
|
77
77
|
items.append(f"{apply_style(style, glyph)} {item.id}. {subject}")
|
|
78
|
-
return apply_render_shell(items, theme)
|
|
78
|
+
return apply_render_shell(items, theme.message)
|
|
79
79
|
|
|
80
80
|
def sync(self, ctx: ExtensionContext) -> None:
|
|
81
81
|
ui = ctx.ui
|
|
82
82
|
if ui is None:
|
|
83
83
|
return
|
|
84
|
-
|
|
85
|
-
if not pending:
|
|
84
|
+
if not self._state.items:
|
|
86
85
|
if self._shown:
|
|
87
86
|
ui.remove_widget(WIDGET_KEY)
|
|
88
87
|
self._shown = False
|
|
@@ -132,6 +131,30 @@ def register(tau: ExtensionAPI) -> None:
|
|
|
132
131
|
|
|
133
132
|
tau.on("session_shutdown", _on_shutdown)
|
|
134
133
|
|
|
134
|
+
def _inject_todo_state(_event: Any, _ctx: ExtensionContext) -> Any:
|
|
135
|
+
"""Re-assert the live todo list into context on every turn.
|
|
136
|
+
|
|
137
|
+
Old `todo` tool calls/results fall out of view once compaction (or
|
|
138
|
+
just enough turns) pushes them out of the kept window, and the
|
|
139
|
+
board is TUI-only — the LLM otherwise has no way to recover the
|
|
140
|
+
list. Injecting it fresh, ephemerally, each turn means it never
|
|
141
|
+
depends on surviving compaction or being noticed by the
|
|
142
|
+
summarizer: it's simply re-told every time, so it's never stale.
|
|
143
|
+
"""
|
|
144
|
+
from tau.hooks.engine import ContextEventResult
|
|
145
|
+
from tau.message.types import UserMessage
|
|
146
|
+
|
|
147
|
+
remaining = state.remaining()
|
|
148
|
+
if not remaining:
|
|
149
|
+
return None
|
|
150
|
+
lines = "\n".join(f"- #{i.id} [{i.status}] {i.subject}" for i in remaining)
|
|
151
|
+
reminder = UserMessage.from_text(
|
|
152
|
+
f"[Todo list reminder — not from the user, injected each turn]\n{lines}"
|
|
153
|
+
)
|
|
154
|
+
return ContextEventResult(ephemeral_messages=[reminder])
|
|
155
|
+
|
|
156
|
+
tau.on("context", _inject_todo_state)
|
|
157
|
+
|
|
135
158
|
tau.register_tool(TodoTool(state, tau._runtime_ref, on_mutate=board.sync))
|
|
136
159
|
|
|
137
160
|
async def cmd_todos(ctx: ExtensionContext, _args: list[str]) -> None:
|
|
@@ -305,7 +305,10 @@ class TodoTool(Tool):
|
|
|
305
305
|
"for one task (requires 'id'); 'delete' removes a task (requires 'id'); "
|
|
306
306
|
"'clear' removes every task. The list is shown to the user in a board above "
|
|
307
307
|
"the input, not in the transcript, so don't repeat task contents back to the "
|
|
308
|
-
"user after calling this tool.
|
|
308
|
+
"user after calling this tool. The board stays visible — even once every task "
|
|
309
|
+
"is 'done'/'failed' — until 'clear' is called, so once the whole plan is "
|
|
310
|
+
"complete, call 'clear' to dismiss it instead of leaving it up. State persists "
|
|
311
|
+
"across branches and restarts. "
|
|
309
312
|
"Never tell the user a task was created, updated, or completed unless you "
|
|
310
313
|
"actually made the matching 'create'/'update' call in this turn — calling "
|
|
311
314
|
"'list' alone does not change anything. If it's unclear which task or field "
|