tau-coding-agent 0.7.7__tar.gz → 0.7.8__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 (564) hide show
  1. {tau_coding_agent-0.7.7/tau_coding_agent.egg-info → tau_coding_agent-0.7.8}/PKG-INFO +7 -6
  2. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/README.md +6 -5
  3. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/cli-reference.md +19 -0
  4. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/installation.md +11 -0
  5. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/pyproject.toml +2 -1
  6. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/__init__.py +20 -11
  7. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/desktop/service.py +8 -3
  8. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/manifest.json +8 -0
  9. tau_coding_agent-0.7.8/tau/builtins/extensions/computer_use/state.py +53 -0
  10. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/types.py +9 -2
  11. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/desktop/service.py +18 -9
  12. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/footer/model.py +8 -6
  13. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/cli.py +22 -0
  14. tau_coding_agent-0.7.8/tau/console/commands/doctor.py +647 -0
  15. tau_coding_agent-0.7.8/tau/console/commands/serve.py +41 -0
  16. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/openai_codex_responses.py +11 -4
  17. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/openai_responses.py +32 -2
  18. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/utils.py +16 -0
  19. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/session.py +7 -2
  20. tau_coding_agent-0.7.8/tau/modes/serve/mode.py +72 -0
  21. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/packages/manager.py +12 -1
  22. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/runtime/types.py +7 -0
  23. tau_coding_agent-0.7.8/tau/utils/__init__.py +0 -0
  24. tau_coding_agent-0.7.8/tau/utils/timing.py +58 -0
  25. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8/tau_coding_agent.egg-info}/PKG-INFO +7 -6
  26. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau_coding_agent.egg-info/SOURCES.txt +9 -0
  27. tau_coding_agent-0.7.8/tests/test_doctor.py +629 -0
  28. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_openai_codex_responses_lite.py +15 -1
  29. tau_coding_agent-0.7.8/tests/test_openai_responses_extra_body.py +43 -0
  30. tau_coding_agent-0.7.8/tests/test_package_manager_venv.py +70 -0
  31. tau_coding_agent-0.7.8/tests/test_startup_timing.py +95 -0
  32. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/state.py +0 -28
  33. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/LICENSE +0 -0
  34. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/MANIFEST.in +0 -0
  35. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/architecture.md +0 -0
  36. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/auth.md +0 -0
  37. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/creating-tools.md +0 -0
  38. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/development.md +0 -0
  39. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/docs.json +0 -0
  40. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/engine.md +0 -0
  41. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/extension-settings.md +0 -0
  42. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/extensions.md +0 -0
  43. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/http-proxy.md +0 -0
  44. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/index.md +0 -0
  45. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/inference-providers.md +0 -0
  46. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/inference.md +0 -0
  47. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/keybindings.md +0 -0
  48. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/messages.md +0 -0
  49. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/project-context.md +0 -0
  50. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/project-structure.md +0 -0
  51. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/prompts.md +0 -0
  52. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/python-api.md +0 -0
  53. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/quickstart.md +0 -0
  54. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/sessions.md +0 -0
  55. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/settings.md +0 -0
  56. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/skills.md +0 -0
  57. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/themes.md +0 -0
  58. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/tools.md +0 -0
  59. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/tui.md +0 -0
  60. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/docs/usage.md +0 -0
  61. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/setup.cfg +0 -0
  62. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/__init__.py +0 -0
  63. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/__init__.py +0 -0
  64. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/embedded.py +0 -0
  65. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/prompt/__init__.py +0 -0
  66. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/prompt/builder.py +0 -0
  67. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/prompt/types.py +0 -0
  68. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/service.py +0 -0
  69. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/agent/types.py +0 -0
  70. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/auth/manager.py +0 -0
  71. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/auth/storage.py +0 -0
  72. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/auth/types.py +0 -0
  73. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/__init__.py +0 -0
  74. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/commands/__init__.py +0 -0
  75. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/commands/clear.py +0 -0
  76. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/commands/compact.py +0 -0
  77. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/commands/reload.py +0 -0
  78. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/commands/session.py +0 -0
  79. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/ask_user/__init__.py +0 -0
  80. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/ask_user/component.py +0 -0
  81. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/ask_user/manifest.json +0 -0
  82. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/ask_user/schema.py +0 -0
  83. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/ask_user/tool.py +0 -0
  84. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/btw/__init__.py +0 -0
  85. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/computer.py +0 -0
  86. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/README.md +0 -0
  87. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/__init__.py +0 -0
  88. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/controls.py +0 -0
  89. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/core.py +0 -0
  90. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/enums.py +0 -0
  91. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/events.py +0 -0
  92. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/patterns.py +0 -0
  93. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/ax/py.typed +0 -0
  94. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/desktop/__init__.py +0 -0
  95. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/desktop/config.py +0 -0
  96. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/tree/__init__.py +0 -0
  97. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/tree/config.py +0 -0
  98. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/tree/service.py +0 -0
  99. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/tree/views.py +0 -0
  100. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/watchdog/__init__.py +0 -0
  101. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/macos/watchdog/service.py +0 -0
  102. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/router.py +0 -0
  103. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/desktop/__init__.py +0 -0
  104. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/__init__.py +0 -0
  105. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/cache_utils.py +0 -0
  106. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/config.py +0 -0
  107. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/service.py +0 -0
  108. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/utils.py +0 -0
  109. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/tree/views.py +0 -0
  110. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/__init__.py +0 -0
  111. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/controls.py +0 -0
  112. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/core.py +0 -0
  113. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/enums.py +0 -0
  114. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/events.py +0 -0
  115. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/exceptions.py +0 -0
  116. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/uia/patterns.py +0 -0
  117. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/watchdog/__init__.py +0 -0
  118. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/watchdog/event_handlers.py +0 -0
  119. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/computer_use/windows/watchdog/service.py +0 -0
  120. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/footer/__init__.py +0 -0
  121. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/footer/git.py +0 -0
  122. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/footer/utils.py +0 -0
  123. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/header/__init__.py +0 -0
  124. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/loop/README.md +0 -0
  125. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/loop/__init__.py +0 -0
  126. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/loop/dispatch.py +0 -0
  127. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/loop/duration.py +0 -0
  128. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/loop/state.py +0 -0
  129. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/sandbox/__init__.py +0 -0
  130. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/sandbox/manager.py +0 -0
  131. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/sandbox/manifest.json +0 -0
  132. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/sandbox/sandbox_tool.py +0 -0
  133. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/__init__.py +0 -0
  134. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
  135. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
  136. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
  137. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
  138. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
  139. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
  140. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
  141. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
  142. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/agents.py +0 -0
  143. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/manifest.json +0 -0
  144. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
  145. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
  146. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/todo/__init__.py +0 -0
  147. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/todo/manifest.json +0 -0
  148. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/todo/todo_schema.py +0 -0
  149. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/todo/todo_tool.py +0 -0
  150. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/watch/__init__.py +0 -0
  151. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/__init__.py +0 -0
  152. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/__init__.py +0 -0
  153. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/base.py +0 -0
  154. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -0
  155. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
  156. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
  157. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/engines/tavily_engine.py +0 -0
  158. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/manifest.json +0 -0
  159. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/tools/__init__.py +0 -0
  160. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/tools/fetch.py +0 -0
  161. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/web/tools/search.py +0 -0
  162. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/__init__.py +0 -0
  163. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
  164. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/manifest.json +0 -0
  165. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/model.py +0 -0
  166. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/runner.py +0 -0
  167. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
  168. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/extensions/workflow/store.py +0 -0
  169. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/models/__init__.py +0 -0
  170. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/models/audio.py +0 -0
  171. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/models/image.py +0 -0
  172. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/models/text.py +0 -0
  173. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/models/video.py +0 -0
  174. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/commit.md +0 -0
  175. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/docs.md +0 -0
  176. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/explain.md +0 -0
  177. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/fix.md +0 -0
  178. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/refactor.md +0 -0
  179. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/review.md +0 -0
  180. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/prompts/test.md +0 -0
  181. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/providers/__init__.py +0 -0
  182. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/providers/audio.py +0 -0
  183. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/providers/image.py +0 -0
  184. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/providers/text.py +0 -0
  185. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/providers/video.py +0 -0
  186. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/skills/code-review/SKILL.md +0 -0
  187. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/skills/debug/SKILL.md +0 -0
  188. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/skills/git-commit/SKILL.md +0 -0
  189. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
  190. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
  191. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/ayu-dark.yaml +0 -0
  192. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/catppuccin.yaml +0 -0
  193. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/dark.yaml +0 -0
  194. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/dracula.yaml +0 -0
  195. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/everforest.yaml +0 -0
  196. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/gruvbox.yaml +0 -0
  197. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/horizon.yaml +0 -0
  198. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/kanagawa.yaml +0 -0
  199. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/light.yaml +0 -0
  200. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/material-ocean.yaml +0 -0
  201. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/monokai.yaml +0 -0
  202. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/night-owl.yaml +0 -0
  203. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/nord.yaml +0 -0
  204. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/one-dark.yaml +0 -0
  205. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/rose-pine.yaml +0 -0
  206. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/solarized-dark.yaml +0 -0
  207. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/themes/tokyo-night.yaml +0 -0
  208. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/__init__.py +0 -0
  209. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/edit.py +0 -0
  210. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/glob.py +0 -0
  211. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/grep.py +0 -0
  212. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/ls.py +0 -0
  213. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/read.py +0 -0
  214. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/terminal.py +0 -0
  215. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/utils.py +0 -0
  216. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/builtins/tools/write.py +0 -0
  217. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/commands/__init__.py +0 -0
  218. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/commands/registry.py +0 -0
  219. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/commands/types.py +0 -0
  220. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/__init__.py +0 -0
  221. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/commands/__init__.py +0 -0
  222. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/commands/auth.py +0 -0
  223. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/commands/packages.py +0 -0
  224. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/console/commands/update.py +0 -0
  225. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/core/__init__.py +0 -0
  226. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/core/registry.py +0 -0
  227. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/engine/__init__.py +0 -0
  228. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/engine/service.py +0 -0
  229. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/engine/types.py +0 -0
  230. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/__init__.py +0 -0
  231. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/api.py +0 -0
  232. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/context.py +0 -0
  233. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/loader.py +0 -0
  234. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/runtime.py +0 -0
  235. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/extensions/settings.py +0 -0
  236. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/__init__.py +0 -0
  237. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/engine.py +0 -0
  238. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/inference.py +0 -0
  239. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/runtime.py +0 -0
  240. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/service.py +0 -0
  241. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/session.py +0 -0
  242. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/tui.py +0 -0
  243. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/hooks/types.py +0 -0
  244. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/__init__.py +0 -0
  245. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/__init__.py +0 -0
  246. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/__init__.py +0 -0
  247. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/base.py +0 -0
  248. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/builtins.py +0 -0
  249. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
  250. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/gemini_audio.py +0 -0
  251. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/openai_audio.py +0 -0
  252. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/registry.py +0 -0
  253. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/sarvam_audio.py +0 -0
  254. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/service.py +0 -0
  255. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/audio/utils.py +0 -0
  256. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/availability.py +0 -0
  257. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/__init__.py +0 -0
  258. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/base.py +0 -0
  259. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/builtins.py +0 -0
  260. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/gemini_image.py +0 -0
  261. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/openai_image.py +0 -0
  262. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/openrouter.py +0 -0
  263. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/registry.py +0 -0
  264. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/image/service.py +0 -0
  265. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/registry.py +0 -0
  266. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/__init__.py +0 -0
  267. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/anthropic_claude_code.py +0 -0
  268. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/anthropic_messages.py +0 -0
  269. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/anthropic_vertex.py +0 -0
  270. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/base.py +0 -0
  271. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/builtins.py +0 -0
  272. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/dialect.py +0 -0
  273. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/gemini_generate.py +0 -0
  274. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/github_copilot_chat.py +0 -0
  275. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/google_antigravity.py +0 -0
  276. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/google_vertex.py +0 -0
  277. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/mistral_chat.py +0 -0
  278. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/ollama_chat.py +0 -0
  279. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/openai_completions.py +0 -0
  280. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/openai_vertex.py +0 -0
  281. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/registry.py +0 -0
  282. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/service.py +0 -0
  283. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/types.py +0 -0
  284. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/text/xai_responses.py +0 -0
  285. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/__init__.py +0 -0
  286. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/base.py +0 -0
  287. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/builtins.py +0 -0
  288. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/fal_video.py +0 -0
  289. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/openrouter_video.py +0 -0
  290. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/registry.py +0 -0
  291. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/service.py +0 -0
  292. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/api/video/zai_video.py +0 -0
  293. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/__init__.py +0 -0
  294. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/local/__init__.py +0 -0
  295. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/local/llamacpp.py +0 -0
  296. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/local/lmstudio.py +0 -0
  297. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/local/ollama.py +0 -0
  298. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/local/vllm.py +0 -0
  299. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/registry.py +0 -0
  300. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/model/types.py +0 -0
  301. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/__init__.py +0 -0
  302. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/__init__.py +0 -0
  303. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
  304. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/github_copilot.py +0 -0
  305. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/google_antigravity.py +0 -0
  306. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/openai_codex.py +0 -0
  307. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/pkce.py +0 -0
  308. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/types.py +0 -0
  309. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/utils.py +0 -0
  310. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/oauth/xai_grok.py +0 -0
  311. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/registry.py +0 -0
  312. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/provider/types.py +0 -0
  313. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/types.py +0 -0
  314. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/inference/utils.py +0 -0
  315. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/message/__init__.py +0 -0
  316. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/message/types.py +0 -0
  317. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/message/utils.py +0 -0
  318. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/__init__.py +0 -0
  319. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/__init__.py +0 -0
  320. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/agent_hooks.py +0 -0
  321. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/app.py +0 -0
  322. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/__init__.py +0 -0
  323. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/appearance.py +0 -0
  324. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/auth.py +0 -0
  325. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/context.py +0 -0
  326. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/extensions.py +0 -0
  327. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/misc.py +0 -0
  328. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/commands/model.py +0 -0
  329. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/__init__.py +0 -0
  330. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/command_palette.py +0 -0
  331. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/config_selector.py +0 -0
  332. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/extension_selector.py +0 -0
  333. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/file_picker.py +0 -0
  334. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/layout.py +0 -0
  335. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/message_list.py +0 -0
  336. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/model_selector.py +0 -0
  337. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/oauth_selector.py +0 -0
  338. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/overlays.py +0 -0
  339. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/selector_controller.py +0 -0
  340. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/session_selector.py +0 -0
  341. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/settings_selector.py +0 -0
  342. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/theme_selector.py +0 -0
  343. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/thinking_selector.py +0 -0
  344. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/tree_selector.py +0 -0
  345. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/trust_screen.py +0 -0
  346. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/components/voice_selector.py +0 -0
  347. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/input_handler.py +0 -0
  348. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/interactive/ui_context.py +0 -0
  349. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/print/__init__.py +0 -0
  350. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/rpc/__init__.py +0 -0
  351. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/rpc/mode.py +0 -0
  352. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/modes/rpc/types.py +0 -0
  353. {tau_coding_agent-0.7.7/tau/tui/components → tau_coding_agent-0.7.8/tau/modes/serve}/__init__.py +0 -0
  354. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/packages/__init__.py +0 -0
  355. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/packages/types.py +0 -0
  356. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/packages/utils.py +0 -0
  357. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/prompts/expand.py +0 -0
  358. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/prompts/loader.py +0 -0
  359. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/prompts/registry.py +0 -0
  360. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/prompts/types.py +0 -0
  361. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/resources/__init__.py +0 -0
  362. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/resources/loader.py +0 -0
  363. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/resources/types.py +0 -0
  364. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/runtime/dependencies.py +0 -0
  365. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/runtime/service.py +0 -0
  366. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/session/branch_summarization.py +0 -0
  367. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/session/compaction.py +0 -0
  368. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/session/manager.py +0 -0
  369. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/session/types.py +0 -0
  370. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/session/utils.py +0 -0
  371. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/settings/manager.py +0 -0
  372. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/settings/paths.py +0 -0
  373. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/settings/storage.py +0 -0
  374. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/settings/types.py +0 -0
  375. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/settings/utils.py +0 -0
  376. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/skills/loader.py +0 -0
  377. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/skills/registry.py +0 -0
  378. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/skills/types.py +0 -0
  379. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/telemetry/__init__.py +0 -0
  380. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/telemetry/service.py +0 -0
  381. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/telemetry/types.py +0 -0
  382. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/themes/loader.py +0 -0
  383. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/themes/registry.py +0 -0
  384. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/themes/types.py +0 -0
  385. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tool/__init__.py +0 -0
  386. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tool/registry.py +0 -0
  387. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tool/render.py +0 -0
  388. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tool/types.py +0 -0
  389. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/trust/__init__.py +0 -0
  390. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/trust/manager.py +0 -0
  391. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/trust/types.py +0 -0
  392. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/trust/utils.py +0 -0
  393. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/__init__.py +0 -0
  394. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/ansi_bridge.py +0 -0
  395. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/autocomplete.py +0 -0
  396. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/backend.py +0 -0
  397. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/buffer.py +0 -0
  398. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/component.py +0 -0
  399. {tau_coding_agent-0.7.7/tau/utils → tau_coding_agent-0.7.8/tau/tui/components}/__init__.py +0 -0
  400. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/box.py +0 -0
  401. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/editor.py +0 -0
  402. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/image.py +0 -0
  403. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/select_list.py +0 -0
  404. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/simple_picker.py +0 -0
  405. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/spinner.py +0 -0
  406. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/text_input.py +0 -0
  407. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/components/widget_bridge.py +0 -0
  408. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/frame.py +0 -0
  409. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/geometry.py +0 -0
  410. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/input.py +0 -0
  411. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/keybinding_hints.py +0 -0
  412. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/layout.py +0 -0
  413. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/markdown.py +0 -0
  414. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/palette.py +0 -0
  415. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/service.py +0 -0
  416. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/style.py +0 -0
  417. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/terminal.py +0 -0
  418. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/testing.py +0 -0
  419. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/text.py +0 -0
  420. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/theme.py +0 -0
  421. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/utils.py +0 -0
  422. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widget.py +0 -0
  423. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/__init__.py +0 -0
  424. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/barchart.py +0 -0
  425. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/block.py +0 -0
  426. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/calendar.py +0 -0
  427. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/canvas.py +0 -0
  428. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/chart.py +0 -0
  429. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/clear.py +0 -0
  430. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/gauge.py +0 -0
  431. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/list.py +0 -0
  432. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/paragraph.py +0 -0
  433. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/scrollbar.py +0 -0
  434. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/sparkline.py +0 -0
  435. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/symbols.py +0 -0
  436. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/table.py +0 -0
  437. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/tui/widgets/tabs.py +0 -0
  438. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/format.py +0 -0
  439. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/http_proxy.py +0 -0
  440. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/image_processing.py +0 -0
  441. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/logging.py +0 -0
  442. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/secrets.py +0 -0
  443. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau/utils/version_check.py +0 -0
  444. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
  445. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau_coding_agent.egg-info/entry_points.txt +0 -0
  446. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau_coding_agent.egg-info/requires.txt +0 -0
  447. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tau_coding_agent.egg-info/top_level.txt +0 -0
  448. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_agent_compaction.py +0 -0
  449. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_agent_hooks.py +0 -0
  450. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_agent_prompt.py +0 -0
  451. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_agent_types.py +0 -0
  452. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_ansi.py +0 -0
  453. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_ansi_bridge_legacy_image.py +0 -0
  454. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_anthropic_tool_history.py +0 -0
  455. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_ask_user_extension.py +0 -0
  456. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_audio_transcription_apis.py +0 -0
  457. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_auth_command.py +0 -0
  458. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_auth_manager.py +0 -0
  459. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_auth_storage.py +0 -0
  460. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_autocomplete_modifiers.py +0 -0
  461. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_branch_navigation.py +0 -0
  462. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_branch_summarization.py +0 -0
  463. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_builtin_tools.py +0 -0
  464. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_builtin_watch.py +0 -0
  465. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_cli_inputs.py +0 -0
  466. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_cmd_copy.py +0 -0
  467. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_command_execution_policy.py +0 -0
  468. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_command_registry.py +0 -0
  469. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_compaction.py +0 -0
  470. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_component_buffer_bridge.py +0 -0
  471. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_diff.py +0 -0
  472. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_editor_protocol.py +0 -0
  473. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_engine_execution.py +0 -0
  474. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_engine_length_and_live_tools.py +0 -0
  475. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_engine_steering.py +0 -0
  476. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_engine_types.py +0 -0
  477. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_escape_behavior.py +0 -0
  478. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_extension_api.py +0 -0
  479. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_extension_lifecycle.py +0 -0
  480. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_footer_model.py +0 -0
  481. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_footer_utils.py +0 -0
  482. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_fuzzy.py +0 -0
  483. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_gemini_generate.py +0 -0
  484. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_google_antigravity.py +0 -0
  485. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_google_vertex.py +0 -0
  486. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_http_proxy.py +0 -0
  487. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_image_processing.py +0 -0
  488. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_inference_api_text_utils.py +0 -0
  489. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_inference_dialect.py +0 -0
  490. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_inference_error_utils.py +0 -0
  491. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_inference_types.py +0 -0
  492. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_inference_utils.py +0 -0
  493. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_input_handler_paste.py +0 -0
  494. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_keybindings.py +0 -0
  495. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_layout_render_cells.py +0 -0
  496. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_local_model_discovery.py +0 -0
  497. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_markdown.py +0 -0
  498. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_message_list_frozen.py +0 -0
  499. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_message_types.py +0 -0
  500. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_message_utils.py +0 -0
  501. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_audio_modality.py +0 -0
  502. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_availability.py +0 -0
  503. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_command.py +0 -0
  504. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_file_modality.py +0 -0
  505. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_registry.py +0 -0
  506. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_selector_modal.py +0 -0
  507. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_model_types.py +0 -0
  508. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_oauth_utils.py +0 -0
  509. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_package_resources.py +0 -0
  510. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_packages_utils.py +0 -0
  511. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_peer_extension.py +0 -0
  512. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_pkce.py +0 -0
  513. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_prompts_expand.py +0 -0
  514. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_prompts_loader.py +0 -0
  515. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_prompts_registry.py +0 -0
  516. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_provider_audio_content.py +0 -0
  517. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_provider_file_content.py +0 -0
  518. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_provider_registry.py +0 -0
  519. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_resource_loader.py +0 -0
  520. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_rpc_mode.py +0 -0
  521. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_runtime_sdk.py +0 -0
  522. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_scrollback_raw_writes.py +0 -0
  523. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_scrollback_terminal.py +0 -0
  524. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_secrets.py +0 -0
  525. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_select_list_render_cells.py +0 -0
  526. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_selector_controller.py +0 -0
  527. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_session_manager.py +0 -0
  528. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_session_trust_persist.py +0 -0
  529. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_session_types.py +0 -0
  530. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_session_utils.py +0 -0
  531. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_settings_manager.py +0 -0
  532. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_settings_paths.py +0 -0
  533. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_settings_storage.py +0 -0
  534. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_settings_utils.py +0 -0
  535. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_skills_loader.py +0 -0
  536. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_skills_registry.py +0 -0
  537. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_strip_control_chars.py +0 -0
  538. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_subagent_context.py +0 -0
  539. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_telemetry.py +0 -0
  540. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_text_input.py +0 -0
  541. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_text_input_render_cells.py +0 -0
  542. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_text_llm_invoke.py +0 -0
  543. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_text_llm_model_resolution.py +0 -0
  544. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_theme_loader.py +0 -0
  545. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_themes_registry.py +0 -0
  546. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_thinking_render.py +0 -0
  547. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tool_registry.py +0 -0
  548. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tool_render.py +0 -0
  549. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tree_branch_restore.py +0 -0
  550. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_trust_manager.py +0 -0
  551. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_trust_utils.py +0 -0
  552. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_capabilities.py +0 -0
  553. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_child_rows.py +0 -0
  554. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_input.py +0 -0
  555. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_layout_sizing.py +0 -0
  556. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_public_api.py +0 -0
  557. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_renderer.py +0 -0
  558. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_select_list.py +0 -0
  559. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_theme.py +0 -0
  560. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_tui_utils.py +0 -0
  561. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_ui_context.py +0 -0
  562. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_utils_hashline.py +0 -0
  563. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/tests/test_version_check.py +0 -0
  564. {tau_coding_agent-0.7.7 → tau_coding_agent-0.7.8}/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.7
3
+ Version: 0.7.8
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
@@ -141,11 +141,12 @@ Full flag list, environment variables, and exit codes: [CLI reference](docs/cli-
141
141
  ### Subcommands
142
142
 
143
143
  ```bash
144
- tau auth # Manage provider credentials (login/logout, list)
145
- tau install # Install a package (extension/skill/theme)
146
- tau remove # Remove an installed package
147
- tau list # List installed packages
148
- tau update # Update installed packages
144
+ tau auth # Manage provider credentials (login/logout, list)
145
+ tau doctor # Diagnose config, auth, models, extensions, sessions, packages (--fix to repair)
146
+ tau install # Install a package (extension/skill/theme)
147
+ tau remove # Remove an installed package
148
+ tau list # List installed packages
149
+ tau update # Update installed packages
149
150
  ```
150
151
 
151
152
  ### Interactive slash commands
@@ -102,11 +102,12 @@ Full flag list, environment variables, and exit codes: [CLI reference](docs/cli-
102
102
  ### Subcommands
103
103
 
104
104
  ```bash
105
- tau auth # Manage provider credentials (login/logout, list)
106
- tau install # Install a package (extension/skill/theme)
107
- tau remove # Remove an installed package
108
- tau list # List installed packages
109
- tau update # Update installed packages
105
+ tau auth # Manage provider credentials (login/logout, list)
106
+ tau doctor # Diagnose config, auth, models, extensions, sessions, packages (--fix to repair)
107
+ tau install # Install a package (extension/skill/theme)
108
+ tau remove # Remove an installed package
109
+ tau list # List installed packages
110
+ tau update # Update installed packages
110
111
  ```
111
112
 
112
113
  ### Interactive slash commands
@@ -15,6 +15,7 @@ augment it.
15
15
  |--------|-------|-------------|
16
16
  | `--version` | `-v` | Print the installed version |
17
17
  | `--debug` | `-d` | Enable debug logging |
18
+ | `--startup` | | Print per-phase startup timing diagnostics to stderr (settings, model/LLM, session manager, resources, extensions, agent) |
18
19
  | `--cwd PATH` | `-c` | Set the working directory |
19
20
  | `--prompt` | `-p` | Run a non-interactive prompt |
20
21
  | `--output-format` | `-f` | Non-interactive output: `text` or `json` |
@@ -384,6 +385,24 @@ Manage provider credentials.
384
385
  tau auth --help
385
386
  ```
386
387
 
388
+ ### `tau doctor`
389
+
390
+ Diagnose Tau's configuration, credentials, model setup, extensions, session
391
+ storage, logs, environment, and installed packages. Reports each check as
392
+ pass/warn/fail; exits non-zero if anything failed.
393
+
394
+ ```bash
395
+ tau doctor # report only
396
+ tau doctor --json # machine-readable output
397
+ tau doctor --fix # apply safe, reversible repairs:
398
+ # - refresh expired OAuth tokens
399
+ # - remove dangling extension entries
400
+ # - quarantine corrupt session files into .corrupt/
401
+ ```
402
+
403
+ `--fix` never rewrites `settings.json`/`auth.json` directly, reinstalls
404
+ packages, or touches anything that isn't easily reversible.
405
+
387
406
  Package management is available through `tau install`, `tau remove`,
388
407
  `tau list`, and `tau update`.
389
408
 
@@ -154,6 +154,17 @@ This removes the tau command but leaves configuration and session data in `~/.ta
154
154
 
155
155
  ## Troubleshooting
156
156
 
157
+ Run `tau doctor` first — it checks settings/auth file integrity, credential
158
+ status (including whether stored OAuth tokens are still valid), model/provider
159
+ resolution, extensions, session storage, logs, and installed packages in one
160
+ pass. Add `--fix` to auto-repair the safe, reversible cases (expired OAuth
161
+ tokens, dangling extension entries, corrupt session files).
162
+
163
+ ```bash
164
+ tau doctor
165
+ tau doctor --fix
166
+ ```
167
+
157
168
  ### No Models Found
158
169
 
159
170
  Check that your API key is set correctly:
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tau-coding-agent"
7
- version = "0.7.7"
7
+ version = "0.7.8"
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"
@@ -84,4 +84,5 @@ dev = [
84
84
  "ruff>=0.4.0",
85
85
  "mypy==1.19.1",
86
86
  "pyright>=1.1.360",
87
+ "pytest-asyncio==1.3.0",
87
88
  ]
@@ -16,13 +16,20 @@ extensions.list settings.
16
16
  }
17
17
 
18
18
  While the desktop session is open (after a computer action='open' call), a
19
- compact desktop-state summary focused/open windows plus the accessible
20
- interactive elements on screen (see state.py) is injected ephemerally into
21
- LLM context at the start of every turn, the same way the todo extension
22
- re-asserts its live list: via the "context" hook returning
19
+ compact desktop-state summary is injected ephemerally into LLM context at the
20
+ start of every turn, the same way the todo extension re-asserts its live
21
+ list: via the "context" hook returning
23
22
  ContextEventResult(ephemeral_messages=[...]). It is never written to session
24
23
  history, so it always reflects the current screen rather than a stale
25
24
  snapshot from whenever the model last looked.
25
+
26
+ The `mode` setting (see manifest.json) controls what that summary contains:
27
+ "screenshot" (an image of the screen), "accessibility_tree" (the default —
28
+ focused/open windows plus accessible interactive elements, see state.py), or
29
+ "both". The screenshot is only ever included if the active model actually
30
+ accepts image input (checked fresh every turn against Modality.Image, since
31
+ /model can switch models mid-session); otherwise the accessibility tree is
32
+ used instead so the turn still gets a usable observation.
26
33
  """
27
34
 
28
35
  from __future__ import annotations
@@ -49,14 +56,16 @@ def register(tau: ExtensionAPI) -> None:
49
56
 
50
57
  tau.register_tool(ComputerTool(desktop))
51
58
 
59
+ mode = config.get("mode", "accessibility_tree")
60
+
52
61
  def _inject_desktop_state(_event, _ctx: ExtensionContext):
53
- text = build_state_message(desktop)
54
- if text is not None:
55
- from tau.hooks.engine import ContextEventResult
56
- from tau.message.types import UserMessage
57
- message = UserMessage.from_text(text)
58
- return ContextEventResult(ephemeral_messages=[message])
59
- return ContextEventResult(ephemeral_messages=[])
62
+ from tau.hooks.engine import ContextEventResult
63
+ from tau.inference.model.types import Modality
64
+
65
+ model = getattr(_ctx.llm, "model", None)
66
+ supports_image = model is not None and Modality.Image in model.input
67
+ message = build_state_message(desktop, mode, supports_image)
68
+ return ContextEventResult(ephemeral_messages=[message] if message is not None else [])
60
69
 
61
70
  tau.on("context", _inject_desktop_state)
62
71
 
@@ -73,13 +73,18 @@ class Desktop(DesktopBase):
73
73
 
74
74
  # -- State / inspection ---------------------------------------------------
75
75
 
76
- def get_state(self, as_bytes: bool = False) -> DesktopState:
76
+ def get_state(
77
+ self,
78
+ as_bytes: bool = False,
79
+ use_screenshot: bool = True,
80
+ use_accessibility: bool = True,
81
+ ) -> DesktopState:
77
82
  active_window = self.get_foreground_window()
78
83
  return DesktopState(
79
84
  active_window=active_window,
80
85
  windows=self.get_windows(),
81
- screenshot=self.get_screenshot(as_bytes=as_bytes),
82
- tree_state=self._tree.get_state(active_window),
86
+ screenshot=self.get_screenshot(as_bytes=as_bytes) if use_screenshot else None,
87
+ tree_state=self._tree.get_state(active_window) if use_accessibility else None,
83
88
  )
84
89
 
85
90
  def get_screen_size(self) -> Size:
@@ -18,6 +18,14 @@
18
18
  "type": "bool",
19
19
  "default": false,
20
20
  "description": "Register the computer tool, letting the agent control the real mouse, keyboard, and application windows on this machine."
21
+ },
22
+ {
23
+ "key": "mode",
24
+ "label": "Observation Mode",
25
+ "type": "enum",
26
+ "values": ["screenshot", "accessibility_tree", "both"],
27
+ "default": "accessibility_tree",
28
+ "description": "What desktop state is injected into context each turn: a screenshot image, the accessibility tree of interactive elements, or both."
21
29
  }
22
30
  ]
23
31
  }
@@ -0,0 +1,53 @@
1
+ """Builds the compact desktop-state summary injected ephemerally into LLM
2
+ context each turn while the computer tool's desktop session is open."""
3
+
4
+ from __future__ import annotations
5
+
6
+ from typing import TYPE_CHECKING, Literal
7
+
8
+ from tau.message.types import UserMessage
9
+
10
+ if TYPE_CHECKING:
11
+ from .types import Desktop
12
+
13
+ ObservationMode = Literal["screenshot", "accessibility_tree", "both"]
14
+
15
+
16
+ def build_state_message(
17
+ desktop: Desktop, mode: ObservationMode = "accessibility_tree", supports_image: bool = True
18
+ ) -> UserMessage | None:
19
+ """Live desktop summary: focused/open windows, plus a screenshot and/or
20
+ the accessible interactive elements currently on screen, per `mode`.
21
+ None while the desktop is closed, so nothing gets injected before
22
+ action='open' is called.
23
+
24
+ `supports_image` gates the screenshot on the active model's actual
25
+ modality support — set from `Modality.Image in ctx.llm.model.input`,
26
+ checked fresh every call since the model can change mid-session via
27
+ /model. When a screenshot was requested but the model can't take images,
28
+ the accessibility tree is included instead so the turn isn't left with
29
+ no usable observation at all.
30
+ """
31
+ if not desktop.is_open:
32
+ return None
33
+
34
+ wants_screenshot = mode in ("screenshot", "both")
35
+ wants_accessibility = mode in ("accessibility_tree", "both")
36
+ use_screenshot = wants_screenshot and supports_image
37
+ use_accessibility = wants_accessibility or (wants_screenshot and not supports_image)
38
+ state = desktop.get_state(
39
+ as_bytes=True, use_screenshot=use_screenshot, use_accessibility=use_accessibility
40
+ )
41
+ parts = [state.to_string()]
42
+
43
+ if use_accessibility:
44
+ elements_to_string = getattr(state.tree_state, "interactive_elements_to_string", None)
45
+ if callable(elements_to_string):
46
+ elements = elements_to_string()
47
+ if elements:
48
+ parts.append(f"Interactive elements (click at the given coords):\n{elements}")
49
+
50
+ text = "\n\n".join(parts)
51
+ if use_screenshot and state.screenshot is not None:
52
+ return UserMessage.with_images(text, [state.screenshot])
53
+ return UserMessage.from_text(text)
@@ -104,8 +104,15 @@ class Desktop(ABC):
104
104
  # -- State / inspection ------------------------------------------------
105
105
 
106
106
  @abstractmethod
107
- def get_state(self, as_bytes: bool = False) -> DesktopState:
108
- """Return a full snapshot of the current desktop."""
107
+ def get_state(
108
+ self,
109
+ as_bytes: bool = False,
110
+ use_screenshot: bool = True,
111
+ use_accessibility: bool = True,
112
+ ) -> DesktopState:
113
+ """Return a snapshot of the current desktop. Skips capturing the
114
+ screenshot/accessibility tree when the corresponding flag is False,
115
+ so callers that only need one can avoid paying for the other."""
109
116
 
110
117
  @abstractmethod
111
118
  def get_screen_size(self) -> Size:
@@ -86,19 +86,28 @@ class Desktop(DesktopBase):
86
86
 
87
87
  # -- State / inspection ---------------------------------------------------
88
88
 
89
- def get_state(self, as_bytes: bool = False) -> DesktopState:
89
+ def get_state(
90
+ self,
91
+ as_bytes: bool = False,
92
+ use_screenshot: bool = True,
93
+ use_accessibility: bool = True,
94
+ ) -> DesktopState:
90
95
  active_window = self.get_foreground_window()
91
- active_handle = active_window.native_handle if active_window else None
92
- other_handles = [
93
- control.NativeWindowHandle
94
- for control in uia.GetRootControl().GetChildren()
95
- if control.NativeWindowHandle and control.NativeWindowHandle != active_handle
96
- ]
96
+ screenshot = self.get_screenshot(as_bytes=as_bytes) if use_screenshot else None
97
+ tree_state = None
98
+ if use_accessibility:
99
+ active_handle = active_window.native_handle if active_window else None
100
+ other_handles = [
101
+ control.NativeWindowHandle
102
+ for control in uia.GetRootControl().GetChildren()
103
+ if control.NativeWindowHandle and control.NativeWindowHandle != active_handle
104
+ ]
105
+ tree_state = self._tree.get_state(active_handle, other_handles)
97
106
  return DesktopState(
98
107
  active_window=active_window,
99
108
  windows=self.get_windows(),
100
- screenshot=self.get_screenshot(as_bytes=as_bytes),
101
- tree_state=self._tree.get_state(active_handle, other_handles),
109
+ screenshot=screenshot,
110
+ tree_state=tree_state,
102
111
  )
103
112
 
104
113
  def get_screen_size(self) -> Size:
@@ -78,16 +78,18 @@ class ModelBadge(Component):
78
78
  self.update_context_from_ctx(ctx)
79
79
  return
80
80
 
81
- cache_read = (
82
- 0
83
- if getattr(usage, "input_tokens_include_cache_read", False)
84
- else getattr(usage, "cache_read_tokens", 0) or 0
85
- )
81
+ # When input_tokens already folds in the cache read/write breakdown
82
+ # (OpenAI Responses/Chat Completions, Gemini), adding them again here
83
+ # would double-count; only add them for providers that report cache
84
+ # tokens as fully separate from input_tokens (Anthropic).
85
+ includes_cache = getattr(usage, "input_tokens_include_cache_read", False)
86
+ cache_read = 0 if includes_cache else getattr(usage, "cache_read_tokens", 0) or 0
87
+ cache_write = 0 if includes_cache else getattr(usage, "cache_write_tokens", 0) or 0
86
88
  tokens = (
87
89
  (getattr(usage, "input_tokens", 0) or 0)
88
90
  + (getattr(usage, "output_tokens", 0) or 0)
89
91
  + cache_read
90
- + (getattr(usage, "cache_write_tokens", 0) or 0)
92
+ + cache_write
91
93
  )
92
94
  context = getattr(ctx, "get_context_usage", lambda: None)()
93
95
  window = (context or {}).get("context_window") or self._context_window
@@ -10,7 +10,9 @@ from typing import TYPE_CHECKING
10
10
  import click
11
11
 
12
12
  from tau.console.commands.auth import auth
13
+ from tau.console.commands.doctor import doctor
13
14
  from tau.console.commands.packages import install, list_packages, remove
15
+ from tau.console.commands.serve import serve
14
16
  from tau.console.commands.update import update
15
17
  from tau.settings.paths import get_app_version
16
18
 
@@ -43,6 +45,13 @@ def resolve_model(model: str | None, provider: str | None) -> tuple[str | None,
43
45
  @click.group(invoke_without_command=True, context_settings={"help_option_names": ["-h", "--help"]})
44
46
  @click.option("--version", "-v", is_flag=True, default=False, help="Print version and exit.")
45
47
  @click.option("--debug", "-d", is_flag=True, default=False, help="Enable debug logging.")
48
+ @click.option(
49
+ "--startup",
50
+ is_flag=True,
51
+ default=False,
52
+ help="Print per-phase startup timing diagnostics to stderr "
53
+ "(settings, model/LLM, session manager, resources, extensions, agent).",
54
+ )
46
55
  @click.option("--cwd", "-c", default=None, metavar="PATH", help="Set the working directory.")
47
56
  @click.option(
48
57
  "--prompt",
@@ -153,6 +162,7 @@ def cli(
153
162
  ctx: click.Context,
154
163
  version: bool,
155
164
  debug: bool,
165
+ startup: bool,
156
166
  cwd: str | None,
157
167
  prompt: str | None,
158
168
  output_format: str,
@@ -183,6 +193,11 @@ def cli(
183
193
  if debug:
184
194
  logging.basicConfig(level=logging.DEBUG, format="%(levelname)s %(name)s: %(message)s")
185
195
 
196
+ if startup:
197
+ from tau.utils import timing
198
+
199
+ timing.enable()
200
+
186
201
  if cwd:
187
202
  os.chdir(cwd)
188
203
 
@@ -279,6 +294,11 @@ async def _start(opts: dict) -> None:
279
294
  )
280
295
 
281
296
  runtime = await Runtime.create(config)
297
+
298
+ from tau.utils import timing
299
+
300
+ timing.print_report()
301
+
282
302
  if opts.get("session_name"):
283
303
  runtime.session_manager.append_session_info(opts["session_name"])
284
304
 
@@ -435,9 +455,11 @@ async def _run_json(runtime: Runtime, message: str | None, quiet: bool = False)
435
455
 
436
456
 
437
457
  cli.add_command(auth)
458
+ cli.add_command(doctor)
438
459
  cli.add_command(install)
439
460
  cli.add_command(remove)
440
461
  cli.add_command(update)
462
+ cli.add_command(serve)
441
463
  cli.add_command(list_packages, name="list")
442
464
 
443
465