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.
Files changed (512) hide show
  1. {tau_coding_agent-0.7.4/tau_coding_agent.egg-info → tau_coding_agent-0.7.6}/PKG-INFO +4 -1
  2. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/README.md +2 -0
  3. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/cli-reference.md +19 -0
  4. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/pyproject.toml +2 -1
  5. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/builder.py +11 -0
  6. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/service.py +20 -0
  7. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/types.py +1 -0
  8. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/sandbox_tool.py +1 -1
  9. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/__init__.py +31 -8
  10. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/todo_tool.py +4 -1
  11. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/text.py +84 -66
  12. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/text.py +39 -3
  13. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/edit.py +3 -1
  14. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/glob.py +3 -0
  15. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/grep.py +3 -0
  16. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/ls.py +3 -0
  17. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/read.py +56 -2
  18. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/terminal.py +1 -1
  19. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/utils.py +20 -0
  20. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/write.py +3 -1
  21. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/cli.py +9 -0
  22. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/service.py +18 -2
  23. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_claude_code.py +0 -2
  24. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_messages.py +0 -2
  25. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/anthropic_vertex.py +0 -2
  26. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/gemini_generate.py +24 -2
  27. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/github_copilot_chat.py +0 -2
  28. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/google_antigravity.py +12 -2
  29. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/google_vertex.py +28 -1
  30. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/mistral_chat.py +0 -2
  31. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/ollama_chat.py +0 -2
  32. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_codex_responses.py +98 -8
  33. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_completions.py +0 -4
  34. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_responses.py +5 -5
  35. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/openai_vertex.py +0 -2
  36. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/utils.py +120 -56
  37. tau_coding_agent-0.7.6/tau/inference/model/local/__init__.py +64 -0
  38. tau_coding_agent-0.7.6/tau/inference/model/local/llamacpp.py +96 -0
  39. tau_coding_agent-0.7.6/tau/inference/model/local/lmstudio.py +99 -0
  40. tau_coding_agent-0.7.6/tau/inference/model/local/ollama.py +129 -0
  41. tau_coding_agent-0.7.6/tau/inference/model/local/vllm.py +95 -0
  42. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/types.py +1 -0
  43. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/utils.py +1 -0
  44. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/types.py +95 -13
  45. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/utils.py +60 -0
  46. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/message_list.py +61 -6
  47. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/input_handler.py +239 -43
  48. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/ui_context.py +10 -13
  49. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/service.py +20 -0
  50. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/types.py +3 -0
  51. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/types.py +126 -12
  52. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6/tau_coding_agent.egg-info}/PKG-INFO +4 -1
  53. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/SOURCES.txt +12 -0
  54. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/requires.txt +1 -0
  55. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_error_utils.py +6 -0
  56. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_utils.py +22 -0
  57. tau_coding_agent-0.7.6/tests/test_input_handler_paste.py +495 -0
  58. tau_coding_agent-0.7.6/tests/test_local_model_discovery.py +450 -0
  59. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_types.py +148 -5
  60. tau_coding_agent-0.7.6/tests/test_model_audio_modality.py +127 -0
  61. tau_coding_agent-0.7.6/tests/test_model_file_modality.py +103 -0
  62. tau_coding_agent-0.7.6/tests/test_openai_codex_responses_lite.py +170 -0
  63. tau_coding_agent-0.7.6/tests/test_provider_audio_content.py +152 -0
  64. tau_coding_agent-0.7.6/tests/test_provider_file_content.py +186 -0
  65. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_runtime_sdk.py +23 -0
  66. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/LICENSE +0 -0
  67. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/MANIFEST.in +0 -0
  68. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/architecture.md +0 -0
  69. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/auth.md +0 -0
  70. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/creating-tools.md +0 -0
  71. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/development.md +0 -0
  72. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/docs.json +0 -0
  73. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/engine.md +0 -0
  74. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/extension-settings.md +0 -0
  75. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/extensions.md +0 -0
  76. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/http-proxy.md +0 -0
  77. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/index.md +0 -0
  78. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/inference-providers.md +0 -0
  79. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/inference.md +0 -0
  80. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/installation.md +0 -0
  81. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/keybindings.md +0 -0
  82. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/messages.md +0 -0
  83. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/project-context.md +0 -0
  84. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/project-structure.md +0 -0
  85. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/prompts.md +0 -0
  86. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/python-api.md +0 -0
  87. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/quickstart.md +0 -0
  88. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/sessions.md +0 -0
  89. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/settings.md +0 -0
  90. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/skills.md +0 -0
  91. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/themes.md +0 -0
  92. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/tools.md +0 -0
  93. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/tui.md +0 -0
  94. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/docs/usage.md +0 -0
  95. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/setup.cfg +0 -0
  96. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/__init__.py +0 -0
  97. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/__init__.py +0 -0
  98. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/embedded.py +0 -0
  99. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/__init__.py +0 -0
  100. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/agent/prompt/types.py +0 -0
  101. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/manager.py +0 -0
  102. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/storage.py +0 -0
  103. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/auth/types.py +0 -0
  104. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/__init__.py +0 -0
  105. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/__init__.py +0 -0
  106. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/clear.py +0 -0
  107. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/compact.py +0 -0
  108. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/reload.py +0 -0
  109. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/commands/session.py +0 -0
  110. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/__init__.py +0 -0
  111. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/component.py +0 -0
  112. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/manifest.json +0 -0
  113. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/schema.py +0 -0
  114. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/ask_user/tool.py +0 -0
  115. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/btw/__init__.py +0 -0
  116. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/__init__.py +0 -0
  117. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/git.py +0 -0
  118. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/model.py +0 -0
  119. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/footer/utils.py +0 -0
  120. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/header/__init__.py +0 -0
  121. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/README.md +0 -0
  122. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/__init__.py +0 -0
  123. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/dispatch.py +0 -0
  124. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/duration.py +0 -0
  125. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/loop/state.py +0 -0
  126. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/__init__.py +0 -0
  127. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/manager.py +0 -0
  128. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/sandbox/manifest.json +0 -0
  129. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/__init__.py +0 -0
  130. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
  131. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
  132. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
  133. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
  134. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
  135. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
  136. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
  137. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
  138. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/agents.py +0 -0
  139. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/manifest.json +0 -0
  140. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
  141. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
  142. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/manifest.json +0 -0
  143. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/todo/todo_schema.py +0 -0
  144. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/watch/__init__.py +0 -0
  145. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/__init__.py +0 -0
  146. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/__init__.py +0 -0
  147. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/base.py +0 -0
  148. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
  149. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
  150. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
  151. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
  152. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/manifest.json +0 -0
  153. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/__init__.py +0 -0
  154. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/fetch.py +0 -0
  155. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/web/tools/search.py +0 -0
  156. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/__init__.py +0 -0
  157. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
  158. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/manifest.json +0 -0
  159. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/model.py +0 -0
  160. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/runner.py +0 -0
  161. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
  162. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/extensions/workflow/store.py +0 -0
  163. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/__init__.py +0 -0
  164. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/audio.py +0 -0
  165. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/image.py +0 -0
  166. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/models/video.py +0 -0
  167. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/commit.md +0 -0
  168. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/docs.md +0 -0
  169. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/explain.md +0 -0
  170. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/fix.md +0 -0
  171. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/refactor.md +0 -0
  172. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/review.md +0 -0
  173. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/prompts/test.md +0 -0
  174. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/__init__.py +0 -0
  175. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/audio.py +0 -0
  176. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/image.py +0 -0
  177. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/providers/video.py +0 -0
  178. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/code-review/SKILL.md +0 -0
  179. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/debug/SKILL.md +0 -0
  180. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/git-commit/SKILL.md +0 -0
  181. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
  182. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
  183. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/ayu-dark.yaml +0 -0
  184. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/catppuccin.yaml +0 -0
  185. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/dark.yaml +0 -0
  186. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/dracula.yaml +0 -0
  187. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/everforest.yaml +0 -0
  188. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/gruvbox.yaml +0 -0
  189. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/horizon.yaml +0 -0
  190. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/kanagawa.yaml +0 -0
  191. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/light.yaml +0 -0
  192. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/material-ocean.yaml +0 -0
  193. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/monokai.yaml +0 -0
  194. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/night-owl.yaml +0 -0
  195. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/nord.yaml +0 -0
  196. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/one-dark.yaml +0 -0
  197. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/rose-pine.yaml +0 -0
  198. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/solarized-dark.yaml +0 -0
  199. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/themes/tokyo-night.yaml +0 -0
  200. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/builtins/tools/__init__.py +0 -0
  201. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/__init__.py +0 -0
  202. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/registry.py +0 -0
  203. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/commands/types.py +0 -0
  204. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/__init__.py +0 -0
  205. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/__init__.py +0 -0
  206. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/auth.py +0 -0
  207. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/packages.py +0 -0
  208. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/console/commands/update.py +0 -0
  209. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/core/__init__.py +0 -0
  210. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/core/registry.py +0 -0
  211. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/__init__.py +0 -0
  212. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/engine/types.py +0 -0
  213. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/__init__.py +0 -0
  214. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/api.py +0 -0
  215. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/context.py +0 -0
  216. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/loader.py +0 -0
  217. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/runtime.py +0 -0
  218. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/extensions/settings.py +0 -0
  219. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/__init__.py +0 -0
  220. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/engine.py +0 -0
  221. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/inference.py +0 -0
  222. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/runtime.py +0 -0
  223. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/service.py +0 -0
  224. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/session.py +0 -0
  225. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/tui.py +0 -0
  226. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/hooks/types.py +0 -0
  227. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/__init__.py +0 -0
  228. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/__init__.py +0 -0
  229. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/__init__.py +0 -0
  230. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/base.py +0 -0
  231. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/builtins.py +0 -0
  232. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
  233. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/gemini_audio.py +0 -0
  234. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/openai_audio.py +0 -0
  235. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/registry.py +0 -0
  236. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/sarvam_audio.py +0 -0
  237. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/service.py +0 -0
  238. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/audio/utils.py +0 -0
  239. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/availability.py +0 -0
  240. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/__init__.py +0 -0
  241. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/base.py +0 -0
  242. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/builtins.py +0 -0
  243. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/gemini_image.py +0 -0
  244. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/openai_image.py +0 -0
  245. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/openrouter.py +0 -0
  246. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/registry.py +0 -0
  247. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/image/service.py +0 -0
  248. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/registry.py +0 -0
  249. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/__init__.py +0 -0
  250. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/base.py +0 -0
  251. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/builtins.py +0 -0
  252. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/dialect.py +0 -0
  253. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/registry.py +0 -0
  254. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/service.py +0 -0
  255. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/types.py +0 -0
  256. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/text/xai_responses.py +0 -0
  257. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/__init__.py +0 -0
  258. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/base.py +0 -0
  259. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/builtins.py +0 -0
  260. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/fal_video.py +0 -0
  261. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/openrouter_video.py +0 -0
  262. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/registry.py +0 -0
  263. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/service.py +0 -0
  264. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/api/video/zai_video.py +0 -0
  265. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/__init__.py +0 -0
  266. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/model/registry.py +0 -0
  267. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/__init__.py +0 -0
  268. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/__init__.py +0 -0
  269. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
  270. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/github_copilot.py +0 -0
  271. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/google_antigravity.py +0 -0
  272. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/openai_codex.py +0 -0
  273. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/pkce.py +0 -0
  274. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/types.py +0 -0
  275. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/utils.py +0 -0
  276. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/oauth/xai_grok.py +0 -0
  277. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/registry.py +0 -0
  278. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/provider/types.py +0 -0
  279. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/inference/types.py +0 -0
  280. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/message/__init__.py +0 -0
  281. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/__init__.py +0 -0
  282. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/__init__.py +0 -0
  283. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/agent_hooks.py +0 -0
  284. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/app.py +0 -0
  285. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/__init__.py +0 -0
  286. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/appearance.py +0 -0
  287. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/auth.py +0 -0
  288. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/context.py +0 -0
  289. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/extensions.py +0 -0
  290. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/misc.py +0 -0
  291. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/model.py +0 -0
  292. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/commands/session.py +0 -0
  293. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/__init__.py +0 -0
  294. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/command_palette.py +0 -0
  295. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/config_selector.py +0 -0
  296. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/extension_selector.py +0 -0
  297. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/file_picker.py +0 -0
  298. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/layout.py +0 -0
  299. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/model_selector.py +0 -0
  300. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/oauth_selector.py +0 -0
  301. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/overlays.py +0 -0
  302. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/selector_controller.py +0 -0
  303. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/session_selector.py +0 -0
  304. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/settings_selector.py +0 -0
  305. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/theme_selector.py +0 -0
  306. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/thinking_selector.py +0 -0
  307. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/tree_selector.py +0 -0
  308. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/trust_screen.py +0 -0
  309. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/interactive/components/voice_selector.py +0 -0
  310. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/print/__init__.py +0 -0
  311. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/__init__.py +0 -0
  312. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/mode.py +0 -0
  313. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/modes/rpc/types.py +0 -0
  314. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/__init__.py +0 -0
  315. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/manager.py +0 -0
  316. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/types.py +0 -0
  317. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/packages/utils.py +0 -0
  318. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/expand.py +0 -0
  319. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/loader.py +0 -0
  320. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/registry.py +0 -0
  321. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/prompts/types.py +0 -0
  322. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/__init__.py +0 -0
  323. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/loader.py +0 -0
  324. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/resources/types.py +0 -0
  325. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/runtime/dependencies.py +0 -0
  326. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/branch_summarization.py +0 -0
  327. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/compaction.py +0 -0
  328. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/manager.py +0 -0
  329. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/types.py +0 -0
  330. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/session/utils.py +0 -0
  331. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/manager.py +0 -0
  332. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/paths.py +0 -0
  333. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/storage.py +0 -0
  334. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/types.py +0 -0
  335. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/settings/utils.py +0 -0
  336. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/loader.py +0 -0
  337. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/registry.py +0 -0
  338. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/skills/types.py +0 -0
  339. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/__init__.py +0 -0
  340. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/service.py +0 -0
  341. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/telemetry/types.py +0 -0
  342. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/loader.py +0 -0
  343. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/registry.py +0 -0
  344. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/themes/types.py +0 -0
  345. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/__init__.py +0 -0
  346. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/registry.py +0 -0
  347. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tool/render.py +0 -0
  348. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/__init__.py +0 -0
  349. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/manager.py +0 -0
  350. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/types.py +0 -0
  351. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/trust/utils.py +0 -0
  352. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/__init__.py +0 -0
  353. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/ansi_bridge.py +0 -0
  354. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/autocomplete.py +0 -0
  355. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/backend.py +0 -0
  356. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/buffer.py +0 -0
  357. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/component.py +0 -0
  358. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/__init__.py +0 -0
  359. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/box.py +0 -0
  360. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/editor.py +0 -0
  361. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/image.py +0 -0
  362. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/select_list.py +0 -0
  363. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/simple_picker.py +0 -0
  364. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/spinner.py +0 -0
  365. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/text_input.py +0 -0
  366. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/components/widget_bridge.py +0 -0
  367. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/frame.py +0 -0
  368. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/geometry.py +0 -0
  369. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/input.py +0 -0
  370. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/keybinding_hints.py +0 -0
  371. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/layout.py +0 -0
  372. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/markdown.py +0 -0
  373. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/palette.py +0 -0
  374. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/service.py +0 -0
  375. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/style.py +0 -0
  376. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/terminal.py +0 -0
  377. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/testing.py +0 -0
  378. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/text.py +0 -0
  379. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/theme.py +0 -0
  380. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/utils.py +0 -0
  381. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widget.py +0 -0
  382. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/__init__.py +0 -0
  383. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/barchart.py +0 -0
  384. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/block.py +0 -0
  385. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/calendar.py +0 -0
  386. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/canvas.py +0 -0
  387. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/chart.py +0 -0
  388. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/clear.py +0 -0
  389. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/gauge.py +0 -0
  390. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/list.py +0 -0
  391. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/paragraph.py +0 -0
  392. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/scrollbar.py +0 -0
  393. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/sparkline.py +0 -0
  394. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/symbols.py +0 -0
  395. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/table.py +0 -0
  396. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/tui/widgets/tabs.py +0 -0
  397. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/__init__.py +0 -0
  398. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/format.py +0 -0
  399. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/http_proxy.py +0 -0
  400. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/image_processing.py +0 -0
  401. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/secrets.py +0 -0
  402. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau/utils/version_check.py +0 -0
  403. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
  404. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/entry_points.txt +0 -0
  405. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tau_coding_agent.egg-info/top_level.txt +0 -0
  406. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_compaction.py +0 -0
  407. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_hooks.py +0 -0
  408. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_prompt.py +0 -0
  409. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_agent_types.py +0 -0
  410. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ansi.py +0 -0
  411. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ansi_bridge_legacy_image.py +0 -0
  412. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_anthropic_tool_history.py +0 -0
  413. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ask_user_extension.py +0 -0
  414. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_audio_transcription_apis.py +0 -0
  415. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_command.py +0 -0
  416. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_manager.py +0 -0
  417. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_auth_storage.py +0 -0
  418. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_autocomplete_modifiers.py +0 -0
  419. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_branch_navigation.py +0 -0
  420. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_branch_summarization.py +0 -0
  421. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_builtin_tools.py +0 -0
  422. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_builtin_watch.py +0 -0
  423. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_cli_inputs.py +0 -0
  424. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_cmd_copy.py +0 -0
  425. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_command_execution_policy.py +0 -0
  426. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_command_registry.py +0 -0
  427. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_compaction.py +0 -0
  428. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_component_buffer_bridge.py +0 -0
  429. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_diff.py +0 -0
  430. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_editor_protocol.py +0 -0
  431. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_execution.py +0 -0
  432. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_length_and_live_tools.py +0 -0
  433. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_steering.py +0 -0
  434. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_engine_types.py +0 -0
  435. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_escape_behavior.py +0 -0
  436. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_extension_api.py +0 -0
  437. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_extension_lifecycle.py +0 -0
  438. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_footer_model.py +0 -0
  439. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_footer_utils.py +0 -0
  440. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_fuzzy.py +0 -0
  441. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_gemini_generate.py +0 -0
  442. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_google_antigravity.py +0 -0
  443. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_google_vertex.py +0 -0
  444. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_http_proxy.py +0 -0
  445. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_image_processing.py +0 -0
  446. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_api_text_utils.py +0 -0
  447. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_dialect.py +0 -0
  448. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_inference_types.py +0 -0
  449. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_keybindings.py +0 -0
  450. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_layout_render_cells.py +0 -0
  451. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_markdown.py +0 -0
  452. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_list_frozen.py +0 -0
  453. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_message_utils.py +0 -0
  454. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_availability.py +0 -0
  455. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_command.py +0 -0
  456. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_registry.py +0 -0
  457. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_selector_modal.py +0 -0
  458. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_model_types.py +0 -0
  459. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_oauth_utils.py +0 -0
  460. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_package_resources.py +0 -0
  461. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_packages_utils.py +0 -0
  462. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_peer_extension.py +0 -0
  463. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_pkce.py +0 -0
  464. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_expand.py +0 -0
  465. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_loader.py +0 -0
  466. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_prompts_registry.py +0 -0
  467. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_provider_registry.py +0 -0
  468. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_resource_loader.py +0 -0
  469. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_rpc_mode.py +0 -0
  470. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_scrollback_raw_writes.py +0 -0
  471. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_scrollback_terminal.py +0 -0
  472. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_secrets.py +0 -0
  473. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_select_list_render_cells.py +0 -0
  474. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_selector_controller.py +0 -0
  475. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_manager.py +0 -0
  476. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_trust_persist.py +0 -0
  477. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_types.py +0 -0
  478. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_session_utils.py +0 -0
  479. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_manager.py +0 -0
  480. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_paths.py +0 -0
  481. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_storage.py +0 -0
  482. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_settings_utils.py +0 -0
  483. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_skills_loader.py +0 -0
  484. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_skills_registry.py +0 -0
  485. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_strip_control_chars.py +0 -0
  486. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_subagent_context.py +0 -0
  487. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_telemetry.py +0 -0
  488. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_input.py +0 -0
  489. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_input_render_cells.py +0 -0
  490. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_llm_invoke.py +0 -0
  491. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_text_llm_model_resolution.py +0 -0
  492. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_theme_loader.py +0 -0
  493. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_themes_registry.py +0 -0
  494. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_thinking_render.py +0 -0
  495. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tool_registry.py +0 -0
  496. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tool_render.py +0 -0
  497. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tree_branch_restore.py +0 -0
  498. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_trust_manager.py +0 -0
  499. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_trust_utils.py +0 -0
  500. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_capabilities.py +0 -0
  501. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_child_rows.py +0 -0
  502. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_input.py +0 -0
  503. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_layout_sizing.py +0 -0
  504. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_public_api.py +0 -0
  505. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_renderer.py +0 -0
  506. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_select_list.py +0 -0
  507. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_theme.py +0 -0
  508. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_tui_utils.py +0 -0
  509. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_ui_context.py +0 -0
  510. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_utils_hashline.py +0 -0
  511. {tau_coding_agent-0.7.4 → tau_coding_agent-0.7.6}/tests/test_version_check.py +0 -0
  512. {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.4
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.4"
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
 
@@ -46,6 +46,7 @@ class PromptOptions(BaseModel):
46
46
  images: list[bytes] = []
47
47
  audio: list[bytes] = []
48
48
  video: list[bytes] = []
49
+ file: list[bytes] = []
49
50
 
50
51
 
51
52
  @dataclass
@@ -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 only appears
10
- while there is at least one pending task, and disappears once the list is
11
- empty or fully done.
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(style.patch(theme.strikethrough), subject)
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
- pending = self._state.remaining()
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. State persists across branches and restarts. "
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 "