tau-coding-agent 0.7.6__tar.gz → 0.7.7__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 (555) hide show
  1. {tau_coding_agent-0.7.6/tau_coding_agent.egg-info → tau_coding_agent-0.7.7}/PKG-INFO +1 -1
  2. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/pyproject.toml +1 -1
  3. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/__init__.py +66 -0
  4. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/computer.py +306 -0
  5. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/README.md +941 -0
  6. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/__init__.py +396 -0
  7. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/controls.py +2284 -0
  8. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/core.py +2056 -0
  9. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/enums.py +982 -0
  10. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/events.py +416 -0
  11. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/patterns.py +478 -0
  12. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/desktop/__init__.py +3 -0
  13. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/desktop/config.py +26 -0
  14. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/desktop/service.py +217 -0
  15. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/tree/__init__.py +12 -0
  16. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/tree/config.py +109 -0
  17. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/tree/service.py +410 -0
  18. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/tree/views.py +122 -0
  19. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/watchdog/__init__.py +3 -0
  20. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/watchdog/service.py +98 -0
  21. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/manifest.json +25 -0
  22. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/router.py +41 -0
  23. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/state.py +28 -0
  24. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/types.py +192 -0
  25. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/desktop/__init__.py +3 -0
  26. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/desktop/service.py +243 -0
  27. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/__init__.py +13 -0
  28. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/cache_utils.py +121 -0
  29. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/config.py +74 -0
  30. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/service.py +737 -0
  31. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/utils.py +18 -0
  32. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/tree/views.py +155 -0
  33. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/__init__.py +5 -0
  34. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/controls.py +5803 -0
  35. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/core.py +2575 -0
  36. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/enums.py +2120 -0
  37. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/events.py +84 -0
  38. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/exceptions.py +102 -0
  39. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/uia/patterns.py +2158 -0
  40. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/watchdog/__init__.py +1 -0
  41. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/watchdog/event_handlers.py +66 -0
  42. tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/windows/watchdog/service.py +236 -0
  43. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/__init__.py +4 -0
  44. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/engines/base.py +8 -0
  45. tau_coding_agent-0.7.7/tau/builtins/extensions/web/engines/ddgs_engine.py +166 -0
  46. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/engines/tavily_engine.py +5 -0
  47. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/console/cli.py +20 -0
  48. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/engine/service.py +1 -0
  49. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/settings/paths.py +12 -0
  50. tau_coding_agent-0.7.7/tau/utils/__init__.py +0 -0
  51. tau_coding_agent-0.7.7/tau/utils/logging.py +33 -0
  52. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7/tau_coding_agent.egg-info}/PKG-INFO +1 -1
  53. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau_coding_agent.egg-info/SOURCES.txt +42 -0
  54. tau_coding_agent-0.7.6/tau/builtins/extensions/web/engines/ddgs_engine.py +0 -146
  55. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/LICENSE +0 -0
  56. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/MANIFEST.in +0 -0
  57. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/README.md +0 -0
  58. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/architecture.md +0 -0
  59. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/auth.md +0 -0
  60. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/cli-reference.md +0 -0
  61. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/creating-tools.md +0 -0
  62. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/development.md +0 -0
  63. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/docs.json +0 -0
  64. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/engine.md +0 -0
  65. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/extension-settings.md +0 -0
  66. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/extensions.md +0 -0
  67. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/http-proxy.md +0 -0
  68. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/index.md +0 -0
  69. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/inference-providers.md +0 -0
  70. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/inference.md +0 -0
  71. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/installation.md +0 -0
  72. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/keybindings.md +0 -0
  73. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/messages.md +0 -0
  74. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/project-context.md +0 -0
  75. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/project-structure.md +0 -0
  76. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/prompts.md +0 -0
  77. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/python-api.md +0 -0
  78. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/quickstart.md +0 -0
  79. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/sessions.md +0 -0
  80. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/settings.md +0 -0
  81. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/skills.md +0 -0
  82. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/themes.md +0 -0
  83. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/tools.md +0 -0
  84. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/tui.md +0 -0
  85. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/docs/usage.md +0 -0
  86. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/setup.cfg +0 -0
  87. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/__init__.py +0 -0
  88. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/__init__.py +0 -0
  89. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/embedded.py +0 -0
  90. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/prompt/__init__.py +0 -0
  91. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/prompt/builder.py +0 -0
  92. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/prompt/types.py +0 -0
  93. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/service.py +0 -0
  94. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/agent/types.py +0 -0
  95. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/auth/manager.py +0 -0
  96. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/auth/storage.py +0 -0
  97. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/auth/types.py +0 -0
  98. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/__init__.py +0 -0
  99. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/commands/__init__.py +0 -0
  100. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/commands/clear.py +0 -0
  101. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/commands/compact.py +0 -0
  102. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/commands/reload.py +0 -0
  103. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/commands/session.py +0 -0
  104. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/ask_user/__init__.py +0 -0
  105. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/ask_user/component.py +0 -0
  106. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/ask_user/manifest.json +0 -0
  107. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/ask_user/schema.py +0 -0
  108. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/ask_user/tool.py +0 -0
  109. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/btw/__init__.py +0 -0
  110. /tau_coding_agent-0.7.6/tau/builtins/extensions/web/tools/__init__.py → /tau_coding_agent-0.7.7/tau/builtins/extensions/computer_use/macos/ax/py.typed +0 -0
  111. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/footer/__init__.py +0 -0
  112. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/footer/git.py +0 -0
  113. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/footer/model.py +0 -0
  114. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/footer/utils.py +0 -0
  115. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/header/__init__.py +0 -0
  116. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/loop/README.md +0 -0
  117. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/loop/__init__.py +0 -0
  118. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/loop/dispatch.py +0 -0
  119. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/loop/duration.py +0 -0
  120. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/loop/state.py +0 -0
  121. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/sandbox/__init__.py +0 -0
  122. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/sandbox/manager.py +0 -0
  123. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/sandbox/manifest.json +0 -0
  124. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/sandbox/sandbox_tool.py +0 -0
  125. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/__init__.py +0 -0
  126. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/context-builder.md +0 -0
  127. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/delegate.md +0 -0
  128. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/oracle.md +0 -0
  129. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/planner.md +0 -0
  130. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/researcher.md +0 -0
  131. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/reviewer.md +0 -0
  132. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/scout.md +0 -0
  133. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents/worker.md +0 -0
  134. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/agents.py +0 -0
  135. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/manifest.json +0 -0
  136. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/subagent_schema.py +0 -0
  137. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/subagent/subagent_tool.py +0 -0
  138. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/todo/__init__.py +0 -0
  139. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/todo/manifest.json +0 -0
  140. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/todo/todo_schema.py +0 -0
  141. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/todo/todo_tool.py +0 -0
  142. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/watch/__init__.py +0 -0
  143. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/engines/__init__.py +0 -0
  144. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/engines/exa_engine.py +0 -0
  145. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/engines/jina_engine.py +0 -0
  146. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/manifest.json +0 -0
  147. {tau_coding_agent-0.7.6/tau/builtins/models → tau_coding_agent-0.7.7/tau/builtins/extensions/web/tools}/__init__.py +0 -0
  148. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/tools/fetch.py +0 -0
  149. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/web/tools/search.py +0 -0
  150. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/__init__.py +0 -0
  151. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/agent_discovery.py +0 -0
  152. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/manifest.json +0 -0
  153. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/model.py +0 -0
  154. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/runner.py +0 -0
  155. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/skills/create-workflows/SKILL.md +0 -0
  156. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/extensions/workflow/store.py +0 -0
  157. {tau_coding_agent-0.7.6/tau/builtins/providers → tau_coding_agent-0.7.7/tau/builtins/models}/__init__.py +0 -0
  158. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/models/audio.py +0 -0
  159. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/models/image.py +0 -0
  160. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/models/text.py +0 -0
  161. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/models/video.py +0 -0
  162. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/commit.md +0 -0
  163. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/docs.md +0 -0
  164. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/explain.md +0 -0
  165. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/fix.md +0 -0
  166. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/refactor.md +0 -0
  167. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/review.md +0 -0
  168. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/prompts/test.md +0 -0
  169. {tau_coding_agent-0.7.6/tau/console → tau_coding_agent-0.7.7/tau/builtins/providers}/__init__.py +0 -0
  170. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/providers/audio.py +0 -0
  171. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/providers/image.py +0 -0
  172. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/providers/text.py +0 -0
  173. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/providers/video.py +0 -0
  174. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/skills/code-review/SKILL.md +0 -0
  175. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/skills/debug/SKILL.md +0 -0
  176. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/skills/git-commit/SKILL.md +0 -0
  177. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/skills/skill-creator/LICENSE.txt +0 -0
  178. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/skills/skill-creator/SKILL.md +0 -0
  179. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/ayu-dark.yaml +0 -0
  180. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/catppuccin.yaml +0 -0
  181. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/dark.yaml +0 -0
  182. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/dracula.yaml +0 -0
  183. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/everforest.yaml +0 -0
  184. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/gruvbox.yaml +0 -0
  185. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/horizon.yaml +0 -0
  186. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/kanagawa.yaml +0 -0
  187. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/light.yaml +0 -0
  188. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/material-ocean.yaml +0 -0
  189. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/monokai.yaml +0 -0
  190. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/night-owl.yaml +0 -0
  191. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/nord.yaml +0 -0
  192. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/one-dark.yaml +0 -0
  193. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/rose-pine.yaml +0 -0
  194. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/solarized-dark.yaml +0 -0
  195. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/themes/tokyo-night.yaml +0 -0
  196. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/__init__.py +0 -0
  197. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/edit.py +0 -0
  198. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/glob.py +0 -0
  199. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/grep.py +0 -0
  200. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/ls.py +0 -0
  201. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/read.py +0 -0
  202. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/terminal.py +0 -0
  203. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/utils.py +0 -0
  204. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/builtins/tools/write.py +0 -0
  205. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/commands/__init__.py +0 -0
  206. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/commands/registry.py +0 -0
  207. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/commands/types.py +0 -0
  208. {tau_coding_agent-0.7.6/tau/console/commands → tau_coding_agent-0.7.7/tau/console}/__init__.py +0 -0
  209. {tau_coding_agent-0.7.6/tau/core → tau_coding_agent-0.7.7/tau/console/commands}/__init__.py +0 -0
  210. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/console/commands/auth.py +0 -0
  211. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/console/commands/packages.py +0 -0
  212. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/console/commands/update.py +0 -0
  213. {tau_coding_agent-0.7.6/tau/inference/api → tau_coding_agent-0.7.7/tau/core}/__init__.py +0 -0
  214. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/core/registry.py +0 -0
  215. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/engine/__init__.py +0 -0
  216. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/engine/types.py +0 -0
  217. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/__init__.py +0 -0
  218. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/api.py +0 -0
  219. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/context.py +0 -0
  220. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/loader.py +0 -0
  221. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/runtime.py +0 -0
  222. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/extensions/settings.py +0 -0
  223. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/__init__.py +0 -0
  224. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/engine.py +0 -0
  225. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/inference.py +0 -0
  226. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/runtime.py +0 -0
  227. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/service.py +0 -0
  228. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/session.py +0 -0
  229. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/tui.py +0 -0
  230. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/hooks/types.py +0 -0
  231. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/__init__.py +0 -0
  232. {tau_coding_agent-0.7.6/tau/inference/api/audio → tau_coding_agent-0.7.7/tau/inference/api}/__init__.py +0 -0
  233. {tau_coding_agent-0.7.6/tau/inference/api/image → tau_coding_agent-0.7.7/tau/inference/api/audio}/__init__.py +0 -0
  234. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/base.py +0 -0
  235. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/builtins.py +0 -0
  236. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/elevenlabs_audio.py +0 -0
  237. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/gemini_audio.py +0 -0
  238. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/openai_audio.py +0 -0
  239. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/registry.py +0 -0
  240. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/sarvam_audio.py +0 -0
  241. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/service.py +0 -0
  242. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/audio/utils.py +0 -0
  243. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/availability.py +0 -0
  244. {tau_coding_agent-0.7.6/tau/inference/api/text → tau_coding_agent-0.7.7/tau/inference/api/image}/__init__.py +0 -0
  245. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/base.py +0 -0
  246. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/builtins.py +0 -0
  247. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/gemini_image.py +0 -0
  248. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/openai_image.py +0 -0
  249. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/openrouter.py +0 -0
  250. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/registry.py +0 -0
  251. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/image/service.py +0 -0
  252. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/registry.py +0 -0
  253. {tau_coding_agent-0.7.6/tau/inference/api/video → tau_coding_agent-0.7.7/tau/inference/api/text}/__init__.py +0 -0
  254. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/anthropic_claude_code.py +0 -0
  255. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/anthropic_messages.py +0 -0
  256. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/anthropic_vertex.py +0 -0
  257. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/base.py +0 -0
  258. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/builtins.py +0 -0
  259. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/dialect.py +0 -0
  260. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/gemini_generate.py +0 -0
  261. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/github_copilot_chat.py +0 -0
  262. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/google_antigravity.py +0 -0
  263. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/google_vertex.py +0 -0
  264. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/mistral_chat.py +0 -0
  265. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/ollama_chat.py +0 -0
  266. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/openai_codex_responses.py +0 -0
  267. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/openai_completions.py +0 -0
  268. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/openai_responses.py +0 -0
  269. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/openai_vertex.py +0 -0
  270. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/registry.py +0 -0
  271. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/service.py +0 -0
  272. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/types.py +0 -0
  273. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/utils.py +0 -0
  274. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/text/xai_responses.py +0 -0
  275. {tau_coding_agent-0.7.6/tau/inference/model → tau_coding_agent-0.7.7/tau/inference/api/video}/__init__.py +0 -0
  276. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/base.py +0 -0
  277. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/builtins.py +0 -0
  278. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/fal_video.py +0 -0
  279. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/openrouter_video.py +0 -0
  280. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/registry.py +0 -0
  281. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/service.py +0 -0
  282. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/api/video/zai_video.py +0 -0
  283. {tau_coding_agent-0.7.6/tau/inference/provider → tau_coding_agent-0.7.7/tau/inference/model}/__init__.py +0 -0
  284. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/local/__init__.py +0 -0
  285. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/local/llamacpp.py +0 -0
  286. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/local/lmstudio.py +0 -0
  287. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/local/ollama.py +0 -0
  288. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/local/vllm.py +0 -0
  289. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/registry.py +0 -0
  290. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/model/types.py +0 -0
  291. {tau_coding_agent-0.7.6/tau/message → tau_coding_agent-0.7.7/tau/inference/provider}/__init__.py +0 -0
  292. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/__init__.py +0 -0
  293. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/anthropic_claude_code.py +0 -0
  294. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/github_copilot.py +0 -0
  295. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/google_antigravity.py +0 -0
  296. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/openai_codex.py +0 -0
  297. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/pkce.py +0 -0
  298. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/types.py +0 -0
  299. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/utils.py +0 -0
  300. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/oauth/xai_grok.py +0 -0
  301. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/registry.py +0 -0
  302. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/provider/types.py +0 -0
  303. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/types.py +0 -0
  304. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/inference/utils.py +0 -0
  305. {tau_coding_agent-0.7.6/tau/modes → tau_coding_agent-0.7.7/tau/message}/__init__.py +0 -0
  306. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/message/types.py +0 -0
  307. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/message/utils.py +0 -0
  308. {tau_coding_agent-0.7.6/tau/modes/interactive → tau_coding_agent-0.7.7/tau/modes}/__init__.py +0 -0
  309. {tau_coding_agent-0.7.6/tau/modes/interactive/components → tau_coding_agent-0.7.7/tau/modes/interactive}/__init__.py +0 -0
  310. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/agent_hooks.py +0 -0
  311. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/app.py +0 -0
  312. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/__init__.py +0 -0
  313. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/appearance.py +0 -0
  314. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/auth.py +0 -0
  315. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/context.py +0 -0
  316. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/extensions.py +0 -0
  317. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/misc.py +0 -0
  318. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/model.py +0 -0
  319. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/commands/session.py +0 -0
  320. {tau_coding_agent-0.7.6/tau/modes/print → tau_coding_agent-0.7.7/tau/modes/interactive/components}/__init__.py +0 -0
  321. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/command_palette.py +0 -0
  322. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/config_selector.py +0 -0
  323. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/extension_selector.py +0 -0
  324. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/file_picker.py +0 -0
  325. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/layout.py +0 -0
  326. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/message_list.py +0 -0
  327. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/model_selector.py +0 -0
  328. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/oauth_selector.py +0 -0
  329. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/overlays.py +0 -0
  330. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/selector_controller.py +0 -0
  331. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/session_selector.py +0 -0
  332. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/settings_selector.py +0 -0
  333. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/theme_selector.py +0 -0
  334. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/thinking_selector.py +0 -0
  335. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/tree_selector.py +0 -0
  336. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/trust_screen.py +0 -0
  337. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/components/voice_selector.py +0 -0
  338. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/input_handler.py +0 -0
  339. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/interactive/ui_context.py +0 -0
  340. {tau_coding_agent-0.7.6/tau/tui/components → tau_coding_agent-0.7.7/tau/modes/print}/__init__.py +0 -0
  341. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/rpc/__init__.py +0 -0
  342. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/rpc/mode.py +0 -0
  343. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/modes/rpc/types.py +0 -0
  344. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/packages/__init__.py +0 -0
  345. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/packages/manager.py +0 -0
  346. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/packages/types.py +0 -0
  347. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/packages/utils.py +0 -0
  348. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/prompts/expand.py +0 -0
  349. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/prompts/loader.py +0 -0
  350. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/prompts/registry.py +0 -0
  351. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/prompts/types.py +0 -0
  352. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/resources/__init__.py +0 -0
  353. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/resources/loader.py +0 -0
  354. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/resources/types.py +0 -0
  355. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/runtime/dependencies.py +0 -0
  356. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/runtime/service.py +0 -0
  357. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/runtime/types.py +0 -0
  358. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/session/branch_summarization.py +0 -0
  359. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/session/compaction.py +0 -0
  360. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/session/manager.py +0 -0
  361. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/session/types.py +0 -0
  362. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/session/utils.py +0 -0
  363. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/settings/manager.py +0 -0
  364. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/settings/storage.py +0 -0
  365. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/settings/types.py +0 -0
  366. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/settings/utils.py +0 -0
  367. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/skills/loader.py +0 -0
  368. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/skills/registry.py +0 -0
  369. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/skills/types.py +0 -0
  370. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/telemetry/__init__.py +0 -0
  371. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/telemetry/service.py +0 -0
  372. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/telemetry/types.py +0 -0
  373. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/themes/loader.py +0 -0
  374. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/themes/registry.py +0 -0
  375. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/themes/types.py +0 -0
  376. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tool/__init__.py +0 -0
  377. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tool/registry.py +0 -0
  378. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tool/render.py +0 -0
  379. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tool/types.py +0 -0
  380. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/trust/__init__.py +0 -0
  381. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/trust/manager.py +0 -0
  382. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/trust/types.py +0 -0
  383. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/trust/utils.py +0 -0
  384. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/__init__.py +0 -0
  385. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/ansi_bridge.py +0 -0
  386. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/autocomplete.py +0 -0
  387. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/backend.py +0 -0
  388. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/buffer.py +0 -0
  389. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/component.py +0 -0
  390. {tau_coding_agent-0.7.6/tau/utils → tau_coding_agent-0.7.7/tau/tui/components}/__init__.py +0 -0
  391. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/box.py +0 -0
  392. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/editor.py +0 -0
  393. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/image.py +0 -0
  394. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/select_list.py +0 -0
  395. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/simple_picker.py +0 -0
  396. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/spinner.py +0 -0
  397. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/text_input.py +0 -0
  398. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/components/widget_bridge.py +0 -0
  399. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/frame.py +0 -0
  400. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/geometry.py +0 -0
  401. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/input.py +0 -0
  402. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/keybinding_hints.py +0 -0
  403. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/layout.py +0 -0
  404. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/markdown.py +0 -0
  405. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/palette.py +0 -0
  406. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/service.py +0 -0
  407. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/style.py +0 -0
  408. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/terminal.py +0 -0
  409. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/testing.py +0 -0
  410. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/text.py +0 -0
  411. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/theme.py +0 -0
  412. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/utils.py +0 -0
  413. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widget.py +0 -0
  414. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/__init__.py +0 -0
  415. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/barchart.py +0 -0
  416. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/block.py +0 -0
  417. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/calendar.py +0 -0
  418. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/canvas.py +0 -0
  419. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/chart.py +0 -0
  420. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/clear.py +0 -0
  421. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/gauge.py +0 -0
  422. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/list.py +0 -0
  423. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/paragraph.py +0 -0
  424. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/scrollbar.py +0 -0
  425. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/sparkline.py +0 -0
  426. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/symbols.py +0 -0
  427. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/table.py +0 -0
  428. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/tui/widgets/tabs.py +0 -0
  429. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/utils/format.py +0 -0
  430. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/utils/http_proxy.py +0 -0
  431. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/utils/image_processing.py +0 -0
  432. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/utils/secrets.py +0 -0
  433. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau/utils/version_check.py +0 -0
  434. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau_coding_agent.egg-info/dependency_links.txt +0 -0
  435. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau_coding_agent.egg-info/entry_points.txt +0 -0
  436. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau_coding_agent.egg-info/requires.txt +0 -0
  437. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tau_coding_agent.egg-info/top_level.txt +0 -0
  438. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_agent_compaction.py +0 -0
  439. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_agent_hooks.py +0 -0
  440. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_agent_prompt.py +0 -0
  441. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_agent_types.py +0 -0
  442. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_ansi.py +0 -0
  443. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_ansi_bridge_legacy_image.py +0 -0
  444. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_anthropic_tool_history.py +0 -0
  445. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_ask_user_extension.py +0 -0
  446. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_audio_transcription_apis.py +0 -0
  447. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_auth_command.py +0 -0
  448. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_auth_manager.py +0 -0
  449. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_auth_storage.py +0 -0
  450. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_autocomplete_modifiers.py +0 -0
  451. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_branch_navigation.py +0 -0
  452. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_branch_summarization.py +0 -0
  453. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_builtin_tools.py +0 -0
  454. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_builtin_watch.py +0 -0
  455. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_cli_inputs.py +0 -0
  456. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_cmd_copy.py +0 -0
  457. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_command_execution_policy.py +0 -0
  458. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_command_registry.py +0 -0
  459. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_compaction.py +0 -0
  460. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_component_buffer_bridge.py +0 -0
  461. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_diff.py +0 -0
  462. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_editor_protocol.py +0 -0
  463. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_engine_execution.py +0 -0
  464. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_engine_length_and_live_tools.py +0 -0
  465. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_engine_steering.py +0 -0
  466. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_engine_types.py +0 -0
  467. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_escape_behavior.py +0 -0
  468. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_extension_api.py +0 -0
  469. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_extension_lifecycle.py +0 -0
  470. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_footer_model.py +0 -0
  471. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_footer_utils.py +0 -0
  472. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_fuzzy.py +0 -0
  473. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_gemini_generate.py +0 -0
  474. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_google_antigravity.py +0 -0
  475. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_google_vertex.py +0 -0
  476. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_http_proxy.py +0 -0
  477. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_image_processing.py +0 -0
  478. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_inference_api_text_utils.py +0 -0
  479. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_inference_dialect.py +0 -0
  480. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_inference_error_utils.py +0 -0
  481. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_inference_types.py +0 -0
  482. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_inference_utils.py +0 -0
  483. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_input_handler_paste.py +0 -0
  484. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_keybindings.py +0 -0
  485. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_layout_render_cells.py +0 -0
  486. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_local_model_discovery.py +0 -0
  487. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_markdown.py +0 -0
  488. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_message_list_frozen.py +0 -0
  489. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_message_types.py +0 -0
  490. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_message_utils.py +0 -0
  491. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_audio_modality.py +0 -0
  492. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_availability.py +0 -0
  493. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_command.py +0 -0
  494. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_file_modality.py +0 -0
  495. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_registry.py +0 -0
  496. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_selector_modal.py +0 -0
  497. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_model_types.py +0 -0
  498. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_oauth_utils.py +0 -0
  499. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_openai_codex_responses_lite.py +0 -0
  500. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_package_resources.py +0 -0
  501. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_packages_utils.py +0 -0
  502. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_peer_extension.py +0 -0
  503. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_pkce.py +0 -0
  504. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_prompts_expand.py +0 -0
  505. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_prompts_loader.py +0 -0
  506. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_prompts_registry.py +0 -0
  507. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_provider_audio_content.py +0 -0
  508. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_provider_file_content.py +0 -0
  509. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_provider_registry.py +0 -0
  510. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_resource_loader.py +0 -0
  511. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_rpc_mode.py +0 -0
  512. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_runtime_sdk.py +0 -0
  513. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_scrollback_raw_writes.py +0 -0
  514. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_scrollback_terminal.py +0 -0
  515. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_secrets.py +0 -0
  516. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_select_list_render_cells.py +0 -0
  517. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_selector_controller.py +0 -0
  518. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_session_manager.py +0 -0
  519. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_session_trust_persist.py +0 -0
  520. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_session_types.py +0 -0
  521. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_session_utils.py +0 -0
  522. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_settings_manager.py +0 -0
  523. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_settings_paths.py +0 -0
  524. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_settings_storage.py +0 -0
  525. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_settings_utils.py +0 -0
  526. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_skills_loader.py +0 -0
  527. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_skills_registry.py +0 -0
  528. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_strip_control_chars.py +0 -0
  529. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_subagent_context.py +0 -0
  530. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_telemetry.py +0 -0
  531. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_text_input.py +0 -0
  532. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_text_input_render_cells.py +0 -0
  533. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_text_llm_invoke.py +0 -0
  534. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_text_llm_model_resolution.py +0 -0
  535. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_theme_loader.py +0 -0
  536. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_themes_registry.py +0 -0
  537. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_thinking_render.py +0 -0
  538. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tool_registry.py +0 -0
  539. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tool_render.py +0 -0
  540. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tree_branch_restore.py +0 -0
  541. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_trust_manager.py +0 -0
  542. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_trust_utils.py +0 -0
  543. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_capabilities.py +0 -0
  544. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_child_rows.py +0 -0
  545. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_input.py +0 -0
  546. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_layout_sizing.py +0 -0
  547. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_public_api.py +0 -0
  548. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_renderer.py +0 -0
  549. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_select_list.py +0 -0
  550. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_theme.py +0 -0
  551. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_tui_utils.py +0 -0
  552. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_ui_context.py +0 -0
  553. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_utils_hashline.py +0 -0
  554. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/tests/test_version_check.py +0 -0
  555. {tau_coding_agent-0.7.6 → tau_coding_agent-0.7.7}/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.6
3
+ Version: 0.7.7
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.6"
7
+ version = "0.7.7"
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"
@@ -0,0 +1,66 @@
1
+ """computer_use — control the local desktop (macOS Accessibility API / Windows UI Automation).
2
+
3
+ Registers a single ``computer`` tool that drives the mouse, keyboard, and
4
+ application windows through a platform-neutral ``Desktop`` interface (see
5
+ ``types.py``); the concrete implementation is picked at registration time by
6
+ ``router.get_desktop_class()`` based on the host OS.
7
+
8
+ Disabled by default (see manifest.json) — this tool controls the real mouse
9
+ and keyboard, so it should be turned on deliberately via /settings or
10
+ extensions.list settings.
11
+
12
+ {
13
+ "extensions": {
14
+ "list": [{ "path": "computer_use", "settings": { "enabled": true } }]
15
+ }
16
+ }
17
+
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
23
+ ContextEventResult(ephemeral_messages=[...]). It is never written to session
24
+ history, so it always reflects the current screen rather than a stale
25
+ snapshot from whenever the model last looked.
26
+ """
27
+
28
+ from __future__ import annotations
29
+
30
+ from typing import TYPE_CHECKING
31
+
32
+ from .computer import ComputerTool
33
+ from .router import get_desktop_class
34
+ from .state import build_state_message
35
+
36
+ if TYPE_CHECKING:
37
+ from tau.extensions.api import ExtensionAPI
38
+ from tau.extensions.context import ExtensionContext
39
+
40
+
41
+ def register(tau: ExtensionAPI) -> None:
42
+ config = tau.config or {}
43
+ if not config.get("enabled", False):
44
+ return
45
+ try:
46
+ desktop = get_desktop_class()()
47
+ except RuntimeError:
48
+ return # unsupported platform (e.g. Linux)
49
+
50
+ tau.register_tool(ComputerTool(desktop))
51
+
52
+ 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=[])
60
+
61
+ tau.on("context", _inject_desktop_state)
62
+
63
+ @tau.on("extension_unload")
64
+ async def _close_desktop(_event, _ctx: ExtensionContext) -> None:
65
+ if desktop.is_open:
66
+ desktop.close()
@@ -0,0 +1,306 @@
1
+ """computer — control the local desktop (click, type, scroll, window management, screenshots)."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import Enum
6
+ from typing import TYPE_CHECKING
7
+
8
+ from pydantic import BaseModel, Field, model_validator
9
+
10
+ from tau.tool.render import call_line
11
+ from tau.tool.types import (
12
+ AbortSignal,
13
+ Tool,
14
+ ToolContext,
15
+ ToolExecutionUpdateCallback,
16
+ ToolInvocation,
17
+ ToolKind,
18
+ ToolResult,
19
+ )
20
+
21
+ if TYPE_CHECKING:
22
+ from .types import Desktop
23
+
24
+
25
+ class ComputerAction(str, Enum):
26
+ """Desktop automation action: open, close, click, type, wait, app, scroll, move, drag, shortcut."""
27
+
28
+ open = "open"
29
+ close = "close"
30
+ click = "click"
31
+ type = "type"
32
+ wait = "wait"
33
+ app = "app"
34
+ scroll = "scroll"
35
+ move = "move"
36
+ drag = "drag"
37
+ shortcut = "shortcut"
38
+
39
+
40
+ class AppMode(str, Enum):
41
+ launch = "launch"
42
+ switch = "switch"
43
+ resize = "resize"
44
+ move = "move"
45
+
46
+
47
+ class MouseButton(str, Enum):
48
+ left = "left"
49
+ right = "right"
50
+ middle = "middle"
51
+
52
+
53
+ class ScrollOrientation(str, Enum):
54
+ vertical = "vertical"
55
+ horizontal = "horizontal"
56
+
57
+
58
+ class ScrollDirection(str, Enum):
59
+ up = "up"
60
+ down = "down"
61
+ left = "left"
62
+ right = "right"
63
+
64
+
65
+ class CaretPosition(str, Enum):
66
+ start = "start"
67
+ idle = "idle"
68
+ end = "end"
69
+
70
+
71
+ class ComputerSchema(BaseModel):
72
+ """Input schema for computer; action-specific required fields validated via model_validator."""
73
+
74
+ action: ComputerAction = Field(
75
+ description=(
76
+ "Computer action to perform: open (enable desktop access), "
77
+ "close (release desktop access), click, type, wait, app, "
78
+ "scroll, move, drag, or shortcut."
79
+ )
80
+ )
81
+ loc: tuple[int, int] | None = Field(default=None, description="Target screen coordinate as [x, y].")
82
+ x: int | None = Field(default=None, description="Target x coordinate. Used when loc is omitted.")
83
+ y: int | None = Field(default=None, description="Target y coordinate. Used when loc is omitted.")
84
+ text: str | None = Field(default=None, description="Text to type. Required for action=type.")
85
+ duration: float = Field(default=1.0, ge=0, le=60, description="Seconds to wait for action=wait.")
86
+ button: MouseButton = Field(default=MouseButton.left, description="Mouse button for action=click.")
87
+ clicks: int = Field(default=1, ge=0, le=3, description="Number of clicks. Use 0 to only move the pointer.")
88
+ clear: bool = Field(default=False, description="Clear focused text before typing.")
89
+ press_enter: bool = Field(default=False, description="Press Enter after typing.")
90
+ caret_position: CaretPosition = Field(default=CaretPosition.idle, description="Caret movement before typing.")
91
+ app_mode: AppMode = Field(default=AppMode.launch, description="Application operation for action=app.")
92
+ name: str | None = Field(default=None, description="Application name for action=app.")
93
+ size: tuple[int, int] | None = Field(default=None, description="Window size as [width, height] for app resize.")
94
+ orientation: ScrollOrientation = Field(default=ScrollOrientation.vertical, description="Scroll axis.")
95
+ direction: ScrollDirection = Field(default=ScrollDirection.down, description="Scroll direction.")
96
+ wheel_times: int = Field(default=1, ge=1, le=20, description="Number of wheel ticks for action=scroll.")
97
+ shortcut: str | None = Field(default=None, description="Keyboard shortcut such as command+c or ctrl+c.")
98
+
99
+ @model_validator(mode="after")
100
+ def _check_action_fields(self) -> ComputerSchema:
101
+ loc = self.loc or ((self.x, self.y) if self.x is not None and self.y is not None else None)
102
+ if (
103
+ self.action in {ComputerAction.click, ComputerAction.type, ComputerAction.move, ComputerAction.drag}
104
+ and loc is None
105
+ ):
106
+ raise ValueError("'loc' or both 'x' and 'y' are required for this action")
107
+ if self.action == ComputerAction.type and self.text is None:
108
+ raise ValueError("'text' is required when action='type'")
109
+ if self.action == ComputerAction.shortcut and not self.shortcut:
110
+ raise ValueError("'shortcut' is required when action='shortcut'")
111
+ if self.action == ComputerAction.app:
112
+ if self.app_mode in {AppMode.launch, AppMode.switch} and not self.name:
113
+ raise ValueError("'name' is required when action='app' with launch or switch")
114
+ if self.app_mode == AppMode.resize and self.size is None:
115
+ raise ValueError("'size' is required when action='app' with resize")
116
+ if self.app_mode == AppMode.move and loc is None:
117
+ raise ValueError("'loc' or both 'x' and 'y' are required when action='app' with move")
118
+ return self
119
+
120
+
121
+ def _render_call(args: dict, _streaming: bool = False) -> list[str]:
122
+ action = args.get("action", "")
123
+ detail = {
124
+ "type": args.get("text", ""),
125
+ "app": args.get("name", ""),
126
+ "shortcut": args.get("shortcut", ""),
127
+ }.get(action, "")
128
+ return call_line("computer", action, detail)
129
+
130
+
131
+ class ComputerTool(Tool):
132
+ """Desktop automation tool that drives mouse, keyboard, and application management."""
133
+
134
+ def __init__(self, desktop: Desktop) -> None:
135
+ self._desktop = desktop
136
+ super().__init__(
137
+ name="computer",
138
+ description=(
139
+ "Control the local desktop through one action-based computer tool. "
140
+ "Use open to enable desktop access (required before any other action) and "
141
+ "close to release it. Use click/type/scroll/move/drag for pointer and text input, "
142
+ "shortcut for keyboard shortcuts, wait for delays, and app for "
143
+ "launching, switching, resizing, or moving applications."
144
+ ),
145
+ schema=ComputerSchema,
146
+ kind=ToolKind.Execute,
147
+ render_call=_render_call,
148
+ prompt_guidelines=(
149
+ "Call action='open' once before any other computer action, and action='close' "
150
+ "when finished controlling the desktop. Prefer the dedicated read/write/edit/"
151
+ "terminal tools over the computer tool for anything achievable without a GUI."
152
+ ),
153
+ )
154
+
155
+ def get_display_name(self, args: dict) -> str:
156
+ action = args.get("action", "")
157
+ text = args.get("text") or ""
158
+ name = args.get("name") or ""
159
+ app_mode = args.get("app_mode") or ""
160
+ shortcut = args.get("shortcut") or ""
161
+ duration = args.get("duration", "")
162
+ if action == "open":
163
+ return "Opening desktop"
164
+ if action == "close":
165
+ return "Closing desktop"
166
+ if action == "click":
167
+ return "Clicking"
168
+ if action == "type":
169
+ return f"Typing: {text[:30]}" if text else "Typing"
170
+ if action == "wait":
171
+ return f"Waiting {duration}s" if duration else "Waiting"
172
+ if action == "app":
173
+ if app_mode == "launch":
174
+ return f"Launching: {name}" if name else "Launching app"
175
+ if app_mode == "switch":
176
+ return f"Switching to: {name}" if name else "Switching app"
177
+ return f"App: {app_mode}" if app_mode else "App"
178
+ if action == "scroll":
179
+ return "Scrolling"
180
+ if action == "move":
181
+ return "Moving cursor"
182
+ if action == "drag":
183
+ return "Dragging"
184
+ if action == "shortcut":
185
+ return f"Shortcut: {shortcut}" if shortcut else "Shortcut"
186
+ return "Computer"
187
+
188
+ async def execute(
189
+ self,
190
+ invocation: ToolInvocation,
191
+ tool_execution_update_callback: ToolExecutionUpdateCallback | None = None,
192
+ signal: AbortSignal | None = None,
193
+ context: ToolContext | None = None,
194
+ ) -> ToolResult:
195
+ try:
196
+ params = ComputerSchema.model_validate(invocation.params)
197
+ except Exception as exc:
198
+ return ToolResult.error(id=invocation.id, content=f"computer: {exc}")
199
+
200
+ async def update(text: str) -> None:
201
+ if tool_execution_update_callback is not None:
202
+ await tool_execution_update_callback(ToolResult.ok(invocation.id, text))
203
+
204
+ desktop = self._desktop
205
+ try:
206
+ if params.action == ComputerAction.open:
207
+ if desktop.is_open:
208
+ return ToolResult.ok(id=invocation.id, content="Desktop is already open.")
209
+ await update("Opening desktop…")
210
+ desktop.open()
211
+ return ToolResult.ok(id=invocation.id, content="Desktop access enabled.")
212
+
213
+ if params.action == ComputerAction.close:
214
+ if not desktop.is_open:
215
+ return ToolResult.ok(id=invocation.id, content="Desktop is not open.")
216
+ await update("Closing desktop…")
217
+ desktop.close()
218
+ return ToolResult.ok(id=invocation.id, content="Desktop access released.")
219
+
220
+ if not desktop.is_open:
221
+ return ToolResult.error(
222
+ id=invocation.id,
223
+ content="Desktop is not accessible. Use action='open' to enable desktop control first.",
224
+ )
225
+
226
+ await self._announce(update, params)
227
+ content = self._run_action(desktop, params)
228
+ return ToolResult.ok(id=invocation.id, content=content)
229
+ except Exception as exc:
230
+ return ToolResult.error(id=invocation.id, content=f"computer: {exc}")
231
+
232
+ async def _announce(self, update, params: ComputerSchema) -> None:
233
+ loc = self._loc(params)
234
+ if params.action == ComputerAction.click:
235
+ coord = f"({loc[0]}, {loc[1]})" if loc else ""
236
+ clicks = f" ×{params.clicks}" if params.clicks > 1 else ""
237
+ await update(f"Clicking {params.button.value}{clicks} at {coord}…")
238
+ elif params.action == ComputerAction.type:
239
+ preview = (params.text or "")[:40]
240
+ preview += "…" if len(params.text or "") > 40 else ""
241
+ await update(f'Typing "{preview}"…')
242
+ elif params.action == ComputerAction.wait:
243
+ await update(f"Waiting {params.duration:g}s…")
244
+ elif params.action == ComputerAction.app:
245
+ label = params.name or params.app_mode.value
246
+ await update(f"App {params.app_mode.value}: {label}…")
247
+ elif params.action == ComputerAction.scroll:
248
+ await update(f"Scrolling {params.direction.value} {params.wheel_times}×…")
249
+ elif params.action == ComputerAction.move:
250
+ coord = f"({loc[0]}, {loc[1]})" if loc else ""
251
+ await update(f"Moving pointer to {coord}…")
252
+ elif params.action == ComputerAction.drag:
253
+ coord = f"({loc[0]}, {loc[1]})" if loc else ""
254
+ await update(f"Dragging to {coord}…")
255
+ elif params.action == ComputerAction.shortcut:
256
+ await update(f"Shortcut {params.shortcut}…")
257
+
258
+ def _run_action(self, desktop: Desktop, params: ComputerSchema) -> str:
259
+ loc = self._loc(params)
260
+ if params.action == ComputerAction.click:
261
+ assert loc is not None
262
+ desktop.click(loc, button=params.button.value, clicks=params.clicks)
263
+ return f"Clicked {params.button.value} at {loc[0]},{loc[1]}."
264
+ if params.action == ComputerAction.type:
265
+ assert loc is not None
266
+ desktop.type(
267
+ loc,
268
+ text=params.text or "",
269
+ caret_position=params.caret_position.value,
270
+ clear=params.clear,
271
+ press_enter=params.press_enter,
272
+ )
273
+ return "Typed text."
274
+ if params.action == ComputerAction.wait:
275
+ desktop.wait(params.duration)
276
+ return f"Waited {params.duration:g} seconds."
277
+ if params.action == ComputerAction.app:
278
+ result = desktop.app(mode=params.app_mode.value, name=params.name, loc=loc, size=params.size)
279
+ return str(result or "App action completed.")
280
+ if params.action == ComputerAction.scroll:
281
+ desktop.scroll(
282
+ loc=loc,
283
+ orientation=params.orientation.value,
284
+ direction=params.direction.value,
285
+ wheel_times=params.wheel_times,
286
+ )
287
+ return "Scrolled."
288
+ if params.action == ComputerAction.move:
289
+ assert loc is not None
290
+ desktop.move(loc)
291
+ return f"Moved pointer to {loc[0]},{loc[1]}."
292
+ if params.action == ComputerAction.drag:
293
+ assert loc is not None
294
+ desktop.drag(loc)
295
+ return f"Dragged pointer to {loc[0]},{loc[1]}."
296
+ if params.action == ComputerAction.shortcut:
297
+ desktop.shortcut(params.shortcut or "")
298
+ return f"Pressed shortcut {params.shortcut}."
299
+ return f"Unknown action: {params.action.value}"
300
+
301
+ def _loc(self, params: ComputerSchema) -> tuple[int, int] | None:
302
+ if params.loc is not None:
303
+ return params.loc
304
+ if params.x is not None and params.y is not None:
305
+ return (params.x, params.y)
306
+ return None