tau-coding-agent 0.7.0__tar.gz → 0.7.2__tar.gz

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