tau-coding-agent 0.7.4__tar.gz → 0.7.5__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.5}/PKG-INFO +4 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/README.md +2 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/cli-reference.md +19 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/pyproject.toml +2 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/prompt/builder.py +11 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/service.py +20 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/types.py +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/todo/__init__.py +24 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/models/text.py +73 -66
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/providers/text.py +21 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/cli.py +9 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/engine/service.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/gemini_generate.py +24 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/google_antigravity.py +12 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/google_vertex.py +28 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/openai_codex_responses.py +98 -6
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/openai_responses.py +6 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/utils.py +112 -5
- tau_coding_agent-0.7.5/tau/inference/model/local/__init__.py +64 -0
- tau_coding_agent-0.7.5/tau/inference/model/local/llamacpp.py +96 -0
- tau_coding_agent-0.7.5/tau/inference/model/local/lmstudio.py +99 -0
- tau_coding_agent-0.7.5/tau/inference/model/local/ollama.py +129 -0
- tau_coding_agent-0.7.5/tau/inference/model/local/vllm.py +95 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/model/types.py +1 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/message/types.py +95 -13
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/message/utils.py +60 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/message_list.py +55 -5
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/input_handler.py +239 -43
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/ui_context.py +10 -13
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/runtime/service.py +20 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/runtime/types.py +3 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tool/types.py +125 -2
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5/tau_coding_agent.egg-info}/PKG-INFO +4 -1
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau_coding_agent.egg-info/SOURCES.txt +12 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau_coding_agent.egg-info/requires.txt +1 -0
- tau_coding_agent-0.7.5/tests/test_input_handler_paste.py +495 -0
- tau_coding_agent-0.7.5/tests/test_local_model_discovery.py +450 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_message_types.py +148 -5
- tau_coding_agent-0.7.5/tests/test_model_audio_modality.py +127 -0
- tau_coding_agent-0.7.5/tests/test_model_file_modality.py +103 -0
- tau_coding_agent-0.7.5/tests/test_openai_codex_responses_lite.py +170 -0
- tau_coding_agent-0.7.5/tests/test_provider_audio_content.py +152 -0
- tau_coding_agent-0.7.5/tests/test_provider_file_content.py +186 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_runtime_sdk.py +23 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/LICENSE +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/MANIFEST.in +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/architecture.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/auth.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/creating-tools.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/development.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/docs.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/engine.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/extension-settings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/extensions.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/http-proxy.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/index.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/inference-providers.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/inference.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/installation.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/keybindings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/messages.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/project-context.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/project-structure.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/prompts.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/python-api.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/quickstart.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/sessions.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/settings.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/skills.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/themes.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/tools.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/tui.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/docs/usage.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/setup.cfg +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/embedded.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/prompt/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/agent/prompt/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/auth/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/auth/storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/auth/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/commands/clear.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/commands/compact.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/commands/reload.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/commands/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/ask_user/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/ask_user/component.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/ask_user/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/ask_user/schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/ask_user/tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/btw/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/footer/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/footer/git.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/footer/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/footer/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/header/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/loop/README.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/loop/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/loop/dispatch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/loop/duration.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/loop/state.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/sandbox/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/sandbox/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/sandbox/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/sandbox/sandbox_tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/agents.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/todo/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/todo/todo_schema.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/todo/todo_tool.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/watch/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/tools/fetch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/web/tools/search.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/manifest.json +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/runner.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/extensions/workflow/store.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/models/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/models/audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/models/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/models/video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/commit.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/docs.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/explain.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/fix.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/refactor.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/review.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/prompts/test.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/providers/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/providers/audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/providers/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/providers/video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/skills/code-review/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/skills/debug/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/skills/git-commit/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/ayu-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/catppuccin.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/dracula.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/everforest.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/gruvbox.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/horizon.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/kanagawa.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/light.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/material-ocean.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/monokai.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/night-owl.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/nord.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/one-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/rose-pine.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/solarized-dark.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/themes/tokyo-night.yaml +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/edit.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/glob.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/grep.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/ls.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/read.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/terminal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/builtins/tools/write.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/commands/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/commands/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/commands/auth.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/commands/packages.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/console/commands/update.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/core/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/core/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/engine/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/engine/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/runtime.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/extensions/settings.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/engine.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/inference.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/runtime.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/tui.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/hooks/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/gemini_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/openai_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/sarvam_audio.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/audio/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/availability.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/gemini_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/openai_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/openrouter.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/image/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/anthropic_claude_code.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/anthropic_messages.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/anthropic_vertex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/dialect.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/github_copilot_chat.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/mistral_chat.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/ollama_chat.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/openai_completions.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/openai_vertex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/text/xai_responses.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/base.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/builtins.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/fal_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/openrouter_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/api/video/zai_video.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/model/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/model/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/github_copilot.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/google_antigravity.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/openai_codex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/pkce.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/oauth/xai_grok.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/provider/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/inference/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/message/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/agent_hooks.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/app.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/appearance.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/auth.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/extensions.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/misc.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/commands/session.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/command_palette.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/config_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/extension_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/file_picker.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/layout.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/model_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/oauth_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/overlays.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/selector_controller.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/session_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/settings_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/theme_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/thinking_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/tree_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/trust_screen.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/interactive/components/voice_selector.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/print/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/rpc/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/rpc/mode.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/modes/rpc/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/packages/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/packages/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/packages/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/packages/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/prompts/expand.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/prompts/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/prompts/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/prompts/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/resources/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/resources/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/resources/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/runtime/dependencies.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/session/branch_summarization.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/session/compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/session/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/session/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/session/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/settings/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/settings/paths.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/settings/storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/settings/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/settings/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/skills/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/skills/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/skills/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/telemetry/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/telemetry/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/telemetry/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/themes/loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/themes/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/themes/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tool/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tool/registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tool/render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/trust/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/trust/manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/trust/types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/trust/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/ansi_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/autocomplete.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/backend.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/buffer.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/component.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/box.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/editor.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/select_list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/simple_picker.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/spinner.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/text_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/components/widget_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/frame.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/geometry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/keybinding_hints.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/layout.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/markdown.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/palette.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/service.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/style.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/terminal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/testing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/text.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/theme.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widget.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/barchart.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/block.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/calendar.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/canvas.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/chart.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/clear.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/gauge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/paragraph.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/scrollbar.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/sparkline.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/symbols.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/table.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/tui/widgets/tabs.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/__init__.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/format.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/http_proxy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/image_processing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/secrets.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau/utils/version_check.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau_coding_agent.egg-info/entry_points.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tau_coding_agent.egg-info/top_level.txt +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_agent_compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_agent_hooks.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_agent_prompt.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_agent_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_ansi.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_ansi_bridge_legacy_image.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_anthropic_tool_history.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_ask_user_extension.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_audio_transcription_apis.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_auth_command.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_auth_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_auth_storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_autocomplete_modifiers.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_branch_navigation.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_branch_summarization.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_builtin_tools.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_builtin_watch.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_cli_inputs.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_cmd_copy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_command_execution_policy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_command_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_compaction.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_component_buffer_bridge.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_diff.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_editor_protocol.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_engine_execution.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_engine_length_and_live_tools.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_engine_steering.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_engine_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_escape_behavior.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_extension_api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_extension_lifecycle.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_footer_model.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_footer_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_fuzzy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_gemini_generate.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_google_antigravity.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_google_vertex.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_http_proxy.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_image_processing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_inference_api_text_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_inference_dialect.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_inference_error_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_inference_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_inference_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_keybindings.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_layout_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_markdown.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_message_list_frozen.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_message_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_model_availability.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_model_command.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_model_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_model_selector_modal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_model_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_oauth_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_package_resources.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_packages_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_peer_extension.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_pkce.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_prompts_expand.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_prompts_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_prompts_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_provider_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_resource_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_rpc_mode.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_scrollback_raw_writes.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_scrollback_terminal.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_secrets.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_select_list_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_selector_controller.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_session_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_session_trust_persist.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_session_types.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_session_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_settings_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_settings_paths.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_settings_storage.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_settings_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_skills_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_skills_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_strip_control_chars.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_subagent_context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_telemetry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_text_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_text_input_render_cells.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_text_llm_invoke.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_text_llm_model_resolution.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_theme_loader.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_themes_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_thinking_render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tool_registry.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tool_render.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tree_branch_restore.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_trust_manager.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_trust_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_capabilities.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_child_rows.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_input.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_layout_sizing.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_public_api.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_renderer.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_select_list.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_theme.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_tui_utils.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_ui_context.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_utils_hashline.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/tests/test_version_check.py +0 -0
- {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.5}/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.5
|
|
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.5"
|
|
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
|
|
|
@@ -132,6 +132,30 @@ def register(tau: ExtensionAPI) -> None:
|
|
|
132
132
|
|
|
133
133
|
tau.on("session_shutdown", _on_shutdown)
|
|
134
134
|
|
|
135
|
+
def _inject_todo_state(_event: Any, _ctx: ExtensionContext) -> Any:
|
|
136
|
+
"""Re-assert the live todo list into context on every turn.
|
|
137
|
+
|
|
138
|
+
Old `todo` tool calls/results fall out of view once compaction (or
|
|
139
|
+
just enough turns) pushes them out of the kept window, and the
|
|
140
|
+
board is TUI-only — the LLM otherwise has no way to recover the
|
|
141
|
+
list. Injecting it fresh, ephemerally, each turn means it never
|
|
142
|
+
depends on surviving compaction or being noticed by the
|
|
143
|
+
summarizer: it's simply re-told every time, so it's never stale.
|
|
144
|
+
"""
|
|
145
|
+
from tau.hooks.engine import ContextEventResult
|
|
146
|
+
from tau.message.types import UserMessage
|
|
147
|
+
|
|
148
|
+
remaining = state.remaining()
|
|
149
|
+
if not remaining:
|
|
150
|
+
return None
|
|
151
|
+
lines = "\n".join(f"- #{i.id} [{i.status}] {i.subject}" for i in remaining)
|
|
152
|
+
reminder = UserMessage.from_text(
|
|
153
|
+
f"[Todo list reminder — not from the user, injected each turn]\n{lines}"
|
|
154
|
+
)
|
|
155
|
+
return ContextEventResult(ephemeral_messages=[reminder])
|
|
156
|
+
|
|
157
|
+
tau.on("context", _inject_todo_state)
|
|
158
|
+
|
|
135
159
|
tau.register_tool(TodoTool(state, tau._runtime_ref, on_mutate=board.sync))
|
|
136
160
|
|
|
137
161
|
async def cmd_todos(ctx: ExtensionContext, _args: list[str]) -> None:
|