vtx-coding-agent 0.2.3__tar.gz → 0.2.4__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 (895) hide show
  1. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/CHANGELOG.md +17 -0
  2. vtx_coding_agent-0.2.4/PKG-INFO +284 -0
  3. vtx_coding_agent-0.2.4/README.md +198 -0
  4. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/README.md +8 -5
  5. vtx_coding_agent-0.2.4/docs/agents.md +64 -0
  6. vtx_coding_agent-0.2.4/docs/architecture.md +47 -0
  7. vtx_coding_agent-0.2.4/docs/configuration.md +140 -0
  8. vtx_coding_agent-0.2.4/docs/development.md +48 -0
  9. vtx_coding_agent-0.2.4/docs/extensions.md +84 -0
  10. vtx_coding_agent-0.2.4/docs/goal.md +45 -0
  11. vtx_coding_agent-0.2.4/docs/headless.md +43 -0
  12. vtx_coding_agent-0.2.4/docs/hooks.md +31 -0
  13. vtx_coding_agent-0.2.4/docs/local-models.md +48 -0
  14. vtx_coding_agent-0.2.4/docs/permissions.md +41 -0
  15. vtx_coding_agent-0.2.4/docs/providers.md +94 -0
  16. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/README.md +6 -5
  17. vtx_coding_agent-0.2.4/docs/sessions.md +52 -0
  18. vtx_coding_agent-0.2.4/docs/skills.md +51 -0
  19. vtx_coding_agent-0.2.4/docs/storage-layout.md +39 -0
  20. vtx_coding_agent-0.2.4/docs/theming.md +25 -0
  21. vtx_coding_agent-0.2.4/docs/tools.md +133 -0
  22. vtx_coding_agent-0.2.4/docs/ui.md +46 -0
  23. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/pyproject.toml +1 -1
  24. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/config.py +15 -1
  25. vtx_coding_agent-0.2.4/src/vtx/prompts/identity.py +135 -0
  26. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/__init__.py +22 -1
  27. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/ask_user.py +9 -45
  28. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/bash.py +5 -10
  29. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/edit.py +6 -13
  30. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/find.py +5 -11
  31. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/grep.py +6 -15
  32. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/read.py +7 -17
  33. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/skill.py +9 -39
  34. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/task.py +9 -58
  35. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/web.py +9 -34
  36. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/write.py +4 -7
  37. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/app.py +2 -2
  38. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/chat.py +2 -2
  39. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/welcome.py +2 -2
  40. vtx_coding_agent-0.2.4/src/vtx/version.py +47 -0
  41. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_system_prompt.py +8 -8
  42. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/uv.lock +1 -1
  43. vtx_coding_agent-0.2.3/PKG-INFO +0 -452
  44. vtx_coding_agent-0.2.3/README.md +0 -366
  45. vtx_coding_agent-0.2.3/docs/agents.md +0 -459
  46. vtx_coding_agent-0.2.3/docs/architecture.md +0 -393
  47. vtx_coding_agent-0.2.3/docs/configuration.md +0 -440
  48. vtx_coding_agent-0.2.3/docs/development.md +0 -238
  49. vtx_coding_agent-0.2.3/docs/extensions.md +0 -249
  50. vtx_coding_agent-0.2.3/docs/goal.md +0 -130
  51. vtx_coding_agent-0.2.3/docs/headless.md +0 -128
  52. vtx_coding_agent-0.2.3/docs/hooks.md +0 -285
  53. vtx_coding_agent-0.2.3/docs/local-models.md +0 -88
  54. vtx_coding_agent-0.2.3/docs/permissions.md +0 -88
  55. vtx_coding_agent-0.2.3/docs/providers.md +0 -247
  56. vtx_coding_agent-0.2.3/docs/sessions.md +0 -231
  57. vtx_coding_agent-0.2.3/docs/skills.md +0 -172
  58. vtx_coding_agent-0.2.3/docs/storage-layout.md +0 -186
  59. vtx_coding_agent-0.2.3/docs/theming.md +0 -117
  60. vtx_coding_agent-0.2.3/docs/tools.md +0 -197
  61. vtx_coding_agent-0.2.3/docs/ui.md +0 -364
  62. vtx_coding_agent-0.2.3/src/vtx/prompts/identity.py +0 -149
  63. vtx_coding_agent-0.2.3/src/vtx/version.py +0 -22
  64. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.agents/skills/vtx-release-publish/SKILL.md +0 -0
  65. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.agents/skills/vtx-tmux-test/SKILL.md +0 -0
  66. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.agents/skills/vtx-tmux-test/run-e2e-tests.sh +0 -0
  67. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.agents/skills/vtx-tmux-test/setup-test-project.sh +0 -0
  68. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.github/workflows/deploy-site.yml +0 -0
  69. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.gitignore +0 -0
  70. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.pre-commit-config.yaml +0 -0
  71. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/.python-version +0 -0
  72. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/AGENTS.md +0 -0
  73. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/LICENSE +0 -0
  74. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/.env.example +0 -0
  75. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/.gitignore +0 -0
  76. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/.netlify/netlify.toml +0 -0
  77. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/.netlify/state.json +0 -0
  78. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/index.html +0 -0
  79. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/metadata.json +0 -0
  80. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/netlify.toml +0 -0
  81. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/package-lock.json +0 -0
  82. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/package.json +0 -0
  83. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/pnpm-lock.yaml +0 -0
  84. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/pnpm-workspace.yaml +0 -0
  85. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/.well-known/security.txt +0 -0
  86. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/_redirects +0 -0
  87. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/android-chrome-192x192.png +0 -0
  88. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/android-chrome-512x512.png +0 -0
  89. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/apple-touch-icon.png +0 -0
  90. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/browserconfig.xml +0 -0
  91. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-16x16.png +0 -0
  92. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-192x192.png +0 -0
  93. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-32x32.png +0 -0
  94. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-48x48.png +0 -0
  95. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-512x512.png +0 -0
  96. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon-96x96.png +0 -0
  97. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/favicon.ico +0 -0
  98. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/manifest.json +0 -0
  99. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/mstile-150x150.png +0 -0
  100. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/og-image.jpg +0 -0
  101. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/og-image.png +0 -0
  102. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/og-image.webp +0 -0
  103. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/robots.txt +0 -0
  104. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/sitemap.xml +0 -0
  105. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/twitter-card.jpg +0 -0
  106. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/twitter-card.png +0 -0
  107. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/public/twitter-card.webp +0 -0
  108. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/scripts/optimize-images.mjs +0 -0
  109. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/scripts/prerender.mjs +0 -0
  110. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/server.ts +0 -0
  111. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/App.tsx +0 -0
  112. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/CTASection.tsx +0 -0
  113. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Capabilities.tsx +0 -0
  114. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/CodebaseGraph.tsx +0 -0
  115. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/DocsPage.tsx +0 -0
  116. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/FeaturesPage.tsx +0 -0
  117. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Footer.tsx +0 -0
  118. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Hero.tsx +0 -0
  119. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/LiveStats.tsx +0 -0
  120. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/MarkdownRenderer.tsx +0 -0
  121. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Marquee.tsx +0 -0
  122. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Navbar.tsx +0 -0
  123. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/NotFound.tsx +0 -0
  124. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Reveal.tsx +0 -0
  125. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/ScrollProgress.tsx +0 -0
  126. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/SectionLabel.tsx +0 -0
  127. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/TerminalBlock.tsx +0 -0
  128. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/components/Why.tsx +0 -0
  129. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/blog/agentic-loop.ts +0 -0
  130. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/blog/agentskill.ts +0 -0
  131. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/blog/index.ts +0 -0
  132. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/blog/mcp-extensions.ts +0 -0
  133. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/blog/memory-compaction.ts +0 -0
  134. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/code-graph.json +0 -0
  135. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/content/docs/index.ts +0 -0
  136. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/hooks/useRouteMeta.ts +0 -0
  137. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/index.css +0 -0
  138. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/main.tsx +0 -0
  139. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/types.ts +0 -0
  140. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/src/vite-env.d.ts +0 -0
  141. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/tsconfig.json +0 -0
  142. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/Site/vite.config.ts +0 -0
  143. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/README.md +0 -0
  144. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/architecture.md +0 -0
  145. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/audio.md +0 -0
  146. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/channels.md +0 -0
  147. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/cli.md +0 -0
  148. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/configuration.md +0 -0
  149. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/cron.md +0 -0
  150. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/gateway.md +0 -0
  151. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/mcp.md +0 -0
  152. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/pairing.md +0 -0
  153. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/providers.md +0 -0
  154. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/security.md +0 -0
  155. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/sessions.md +0 -0
  156. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/skills.md +0 -0
  157. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/slash-commands.md +0 -0
  158. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/claw/tools.md +0 -0
  159. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/e2e-test-coverage-review.md +0 -0
  160. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/agents.md +0 -0
  161. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/approvals.md +0 -0
  162. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/guardrails.md +0 -0
  163. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/multi_agent.md +0 -0
  164. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/permissions.md +0 -0
  165. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/runner.md +0 -0
  166. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/sessions.md +0 -0
  167. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/skills.md +0 -0
  168. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/tools.md +0 -0
  169. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/docs/sdk/tracing.md +0 -0
  170. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/code-review.py +0 -0
  171. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/data-engineer.py +0 -0
  172. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/explorer.py +0 -0
  173. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/security-audit.py +0 -0
  174. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/security_extensions.py +0 -0
  175. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/agents/yolo.py +0 -0
  176. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/auto_commit.py +0 -0
  177. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/custom_tool_block.py +0 -0
  178. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/hello.py +0 -0
  179. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/log_tool_calls.py +0 -0
  180. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/permission_gate.py +0 -0
  181. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/task_tool.py +0 -0
  182. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/extensions/tool_override.py +0 -0
  183. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/01_quickstart.py +0 -0
  184. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/02_multi_agent_handoff.py +0 -0
  185. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/03_multi_agent_manager.py +0 -0
  186. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/04_guardrails.py +0 -0
  187. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/05_sessions.py +0 -0
  188. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/06_approvals.py +0 -0
  189. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/07_tracing.py +0 -0
  190. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/examples/sdk/08_skills.py +0 -0
  191. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/logo.png +0 -0
  192. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/scripts/install.ps1 +0 -0
  193. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/scripts/install.sh +0 -0
  194. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/scripts/show_themes.py +0 -0
  195. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/scripts/supercode_proxy.py +0 -0
  196. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/__init__.py +0 -0
  197. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/conftest.py +0 -0
  198. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_auto_compact.py +0 -0
  199. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_autocompact_unit.py +0 -0
  200. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_consolidate_offset.py +0 -0
  201. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_consolidation_ratio.py +0 -0
  202. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_consolidator.py +0 -0
  203. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_context_aware.py +0 -0
  204. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_context_builder.py +0 -0
  205. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_context_prompt_cache.py +0 -0
  206. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_cursor_recovery.py +0 -0
  207. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_document_extraction_toggle.py +0 -0
  208. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_dream.py +0 -0
  209. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_dream_session.py +0 -0
  210. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_dream_tools.py +0 -0
  211. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_evaluator.py +0 -0
  212. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_gemini_thought_signature.py +0 -0
  213. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_git_store.py +0 -0
  214. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_hook_composite.py +0 -0
  215. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_consolidation_tokens.py +0 -0
  216. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_cron_timezone.py +0 -0
  217. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_direct_websocket_status.py +0 -0
  218. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_goal_wall_timeout.py +0 -0
  219. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_image_generation_media.py +0 -0
  220. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_progress.py +0 -0
  221. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_runner_integration.py +0 -0
  222. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_save_turn.py +0 -0
  223. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_loop_tool_context.py +0 -0
  224. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_max_messages_config.py +0 -0
  225. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_mcp_connection.py +0 -0
  226. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_mcp_transient_retry.py +0 -0
  227. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_memory_store.py +0 -0
  228. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_onboard_logic.py +0 -0
  229. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_core.py +0 -0
  230. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_errors.py +0 -0
  231. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_fallback.py +0 -0
  232. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_goal_continue.py +0 -0
  233. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_governance.py +0 -0
  234. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_hooks.py +0 -0
  235. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_injections.py +0 -0
  236. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_persistence.py +0 -0
  237. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_progress_deltas.py +0 -0
  238. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_reasoning.py +0 -0
  239. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_safety.py +0 -0
  240. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runner_tool_execution.py +0 -0
  241. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_runtime_refresh.py +0 -0
  242. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_self_model_preset.py +0 -0
  243. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_session_atomic.py +0 -0
  244. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_session_collision.py +0 -0
  245. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_session_delete.py +0 -0
  246. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_session_manager_history.py +0 -0
  247. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_skill_creator_scripts.py +0 -0
  248. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_skills_loader.py +0 -0
  249. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_stop_preserves_context.py +0 -0
  250. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_subagent.py +0 -0
  251. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_subagent_lifecycle.py +0 -0
  252. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_task_cancel.py +0 -0
  253. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_tool_hint.py +0 -0
  254. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_tool_loader_entrypoints.py +0 -0
  255. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_tool_loader_scopes.py +0 -0
  256. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_unified_session.py +0 -0
  257. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/test_workspace_scope.py +0 -0
  258. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/tools/__init__.py +0 -0
  259. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/tools/test_long_task.py +0 -0
  260. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/tools/test_self_tool.py +0 -0
  261. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/tools/test_self_tool_runtime_sync.py +0 -0
  262. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/agent/tools/test_subagent_tools.py +0 -0
  263. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/bus/test_runtime_events.py +0 -0
  264. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_base_channel.py +0 -0
  265. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_channel_manager_delta_coalescing.py +0 -0
  266. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_channel_manager_reasoning.py +0 -0
  267. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_channel_plugins.py +0 -0
  268. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_dingtalk_channel.py +0 -0
  269. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_discord_channel.py +0 -0
  270. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_email_channel.py +0 -0
  271. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_card_extraction.py +0 -0
  272. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_domain.py +0 -0
  273. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_lazy_import.py +0 -0
  274. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_login.py +0 -0
  275. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_markdown_rendering.py +0 -0
  276. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_media_filename_security.py +0 -0
  277. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_mention.py +0 -0
  278. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_mentions.py +0 -0
  279. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_post_content.py +0 -0
  280. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_reaction.py +0 -0
  281. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_reply.py +0 -0
  282. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_streaming.py +0 -0
  283. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_table_split.py +0 -0
  284. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_feishu_tool_hint_code_block.py +0 -0
  285. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_matrix_channel.py +0 -0
  286. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_napcat_channel.py +0 -0
  287. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_qq_ack_message.py +0 -0
  288. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_qq_channel.py +0 -0
  289. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_qq_media.py +0 -0
  290. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_signal_channel.py +0 -0
  291. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_signal_markdown.py +0 -0
  292. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_slack_channel.py +0 -0
  293. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_telegram_channel.py +0 -0
  294. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_channel.py +0 -0
  295. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_envelope_media.py +0 -0
  296. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_http_routes.py +0 -0
  297. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_integration.py +0 -0
  298. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_media_route.py +0 -0
  299. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_protocol_boundaries.py +0 -0
  300. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_websocket_reconnect_idle.py +0 -0
  301. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_wecom_channel.py +0 -0
  302. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_weixin_channel.py +0 -0
  303. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/test_whatsapp_channel.py +0 -0
  304. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/channels/ws_test_client.py +0 -0
  305. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_bot_identity.py +0 -0
  306. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_cli_input.py +0 -0
  307. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_commands.py +0 -0
  308. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_gateway_commands.py +0 -0
  309. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_interactive_retry_wait.py +0 -0
  310. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_restart_command.py +0 -0
  311. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli/test_safe_file_history.py +0 -0
  312. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli_apps/test_service.py +0 -0
  313. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli_apps/test_tool.py +0 -0
  314. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cli_apps/test_utils.py +0 -0
  315. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/command/test_builtin_dream.py +0 -0
  316. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/command/test_model_command.py +0 -0
  317. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/command/test_router_dispatchable.py +0 -0
  318. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/command/test_skill_command.py +0 -0
  319. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/command/test_stop_pending_queue.py +0 -0
  320. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_config_load_errors.py +0 -0
  321. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_config_migration.py +0 -0
  322. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_config_paths.py +0 -0
  323. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_dream_config.py +0 -0
  324. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_env_interpolation.py +0 -0
  325. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_model_presets.py +0 -0
  326. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/config/test_tool_config_boundaries.py +0 -0
  327. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cron/test_cron_persistence.py +0 -0
  328. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cron/test_cron_service.py +0 -0
  329. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cron/test_cron_tool_list.py +0 -0
  330. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cron/test_cron_tool_schema_contract.py +0 -0
  331. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/cron/test_session_delivery.py +0 -0
  332. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/gateway/test_gateway_service.py +0 -0
  333. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/gateway/test_runtime.py +0 -0
  334. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/pairing/test_store.py +0 -0
  335. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_ant_ling_provider.py +0 -0
  336. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_anthropic_long_request_fallback.py +0 -0
  337. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_anthropic_merge_consecutive.py +0 -0
  338. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_anthropic_stream_idle.py +0 -0
  339. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_anthropic_thinking.py +0 -0
  340. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_anthropic_tool_result.py +0 -0
  341. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_azure_openai_provider.py +0 -0
  342. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_bedrock_provider.py +0 -0
  343. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_cached_tokens.py +0 -0
  344. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_custom_provider.py +0 -0
  345. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_custom_thinking_style.py +0 -0
  346. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_enforce_role_alternation.py +0 -0
  347. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_extra_body_config.py +0 -0
  348. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_extra_query_config.py +0 -0
  349. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_github_copilot_routing.py +0 -0
  350. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_image_generation.py +0 -0
  351. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_litellm_kwargs.py +0 -0
  352. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_llm_response.py +0 -0
  353. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_local_endpoint_detection.py +0 -0
  354. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_longcat_provider.py +0 -0
  355. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_minimax_anthropic_provider.py +0 -0
  356. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_mistral_provider.py +0 -0
  357. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_novita_provider.py +0 -0
  358. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_openai_codex_provider.py +0 -0
  359. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_openai_compat_timeout.py +0 -0
  360. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_openai_responses.py +0 -0
  361. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_opencode_provider.py +0 -0
  362. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_prompt_cache_markers.py +0 -0
  363. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_default_headers.py +0 -0
  364. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_error_metadata.py +0 -0
  365. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_retry.py +0 -0
  366. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_retry_after_hints.py +0 -0
  367. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_sdk_retry_defaults.py +0 -0
  368. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_provider_tool_arguments.py +0 -0
  369. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_providers_init.py +0 -0
  370. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_proxy_env.py +0 -0
  371. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_reasoning_content.py +0 -0
  372. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_responses_circuit_breaker.py +0 -0
  373. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_skywork_provider.py +0 -0
  374. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_stepfun_asr.py +0 -0
  375. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_stepfun_reasoning.py +0 -0
  376. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_stream_idle_timeout_config.py +0 -0
  377. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_strip_image_content.py +0 -0
  378. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_transcription.py +0 -0
  379. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/providers/test_xiaomi_mimo_thinking.py +0 -0
  380. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/security/test_security_network.py +0 -0
  381. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/security/test_workspace_policy.py +0 -0
  382. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/security/test_workspace_sandbox.py +0 -0
  383. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/__init__.py +0 -0
  384. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/test_consolidated_offset_clamp.py +0 -0
  385. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/test_goal_state.py +0 -0
  386. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/test_session_fsync.py +0 -0
  387. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/test_session_list_repair_legacy.py +0 -0
  388. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/session/test_turn_continuation.py +0 -0
  389. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_api_attachment.py +0 -0
  390. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_api_stream.py +0 -0
  391. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_build_status.py +0 -0
  392. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_context_documents.py +0 -0
  393. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_docker.sh +0 -0
  394. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_document_parsing.py +0 -0
  395. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_file_tool_toggle.py +0 -0
  396. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_msteams.py +0 -0
  397. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_openai_api.py +0 -0
  398. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_package_version.py +0 -0
  399. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_tool_contextvars.py +0 -0
  400. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_truncate_text_shadowing.py +0 -0
  401. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/test_vtx_claw_facade.py +0 -0
  402. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/__init__.py +0 -0
  403. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_apply_patch_tool.py +0 -0
  404. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_edit_advanced.py +0 -0
  405. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_edit_enhancements.py +0 -0
  406. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_exec_allow_patterns.py +0 -0
  407. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_exec_env.py +0 -0
  408. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_exec_platform.py +0 -0
  409. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_exec_security.py +0 -0
  410. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_exec_session_tools.py +0 -0
  411. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_file_edit_coding_enhancements.py +0 -0
  412. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_filesystem_tools.py +0 -0
  413. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_image_generation_tool.py +0 -0
  414. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_mcp_probe.py +0 -0
  415. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_mcp_tool.py +0 -0
  416. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_message_tool.py +0 -0
  417. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_message_tool_suppress.py +0 -0
  418. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_read_enhancements.py +0 -0
  419. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_sandbox.py +0 -0
  420. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_search_tools.py +0 -0
  421. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_tool_descriptions.py +0 -0
  422. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_tool_loader.py +0 -0
  423. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_tool_registry.py +0 -0
  424. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_tool_validation.py +0 -0
  425. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_web_fetch_security.py +0 -0
  426. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_web_fetch_url_sanitization.py +0 -0
  427. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/tools/test_web_search_tool.py +0 -0
  428. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_abbreviate_path.py +0 -0
  429. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_artifacts.py +0 -0
  430. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_file_edit_events.py +0 -0
  431. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_gitstore.py +0 -0
  432. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_helpers.py +0 -0
  433. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_image_generation_intent.py +0 -0
  434. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_media_decode.py +0 -0
  435. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_restart.py +0 -0
  436. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_searchusage.py +0 -0
  437. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_strip_think.py +0 -0
  438. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_subagent_channel_display.py +0 -0
  439. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_token_estimation.py +0 -0
  440. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/claw/tests/utils/test_workspace_violation_throttle.py +0 -0
  441. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/__init__.py +0 -0
  442. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/__init__.py +0 -0
  443. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/activate.py +0 -0
  444. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/api.py +0 -0
  445. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/discovery.py +0 -0
  446. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/loader.py +0 -0
  447. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/registry.py +0 -0
  448. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/agents/schema.py +0 -0
  449. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/async_utils.py +0 -0
  450. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/google-colab/SKILL.md +0 -0
  451. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/SKILL.md +0 -0
  452. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/api_reference.md +0 -0
  453. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/examples.md +0 -0
  454. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/functions.md +0 -0
  455. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/getting-started.md +0 -0
  456. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/gpu.md +0 -0
  457. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/images.md +0 -0
  458. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/resources.md +0 -0
  459. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/scaling.md +0 -0
  460. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/scheduled-jobs.md +0 -0
  461. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/secrets.md +0 -0
  462. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/volumes.md +0 -0
  463. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/cloud/modal/references/web-endpoints.md +0 -0
  464. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/code-review/review/SKILL.md +0 -0
  465. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/general/github/SKILL.md +0 -0
  466. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/meta/skill-builder/SKILL.md +0 -0
  467. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/builtin_skills/setup/init/SKILL.md +0 -0
  468. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/cli.py +0 -0
  469. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/__init__.py +0 -0
  470. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/_xml.py +0 -0
  471. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/agent_mds.py +0 -0
  472. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/git.py +0 -0
  473. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/loader.py +0 -0
  474. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/context/skills.py +0 -0
  475. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/__init__.py +0 -0
  476. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/compaction.py +0 -0
  477. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/errors.py +0 -0
  478. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/handoff.py +0 -0
  479. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/scratchpad.py +0 -0
  480. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/core/types.py +0 -0
  481. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/defaults/__init__.py +0 -0
  482. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/defaults/config.yml +0 -0
  483. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/diff_display.py +0 -0
  484. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/dispatcher.py +0 -0
  485. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/events.py +0 -0
  486. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/extensions.py +0 -0
  487. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/gh_cli.py +0 -0
  488. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/git_branch.py +0 -0
  489. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/goal.py +0 -0
  490. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/headless.py +0 -0
  491. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/__init__.py +0 -0
  492. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/bridge.py +0 -0
  493. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/loader.py +0 -0
  494. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/registry.py +0 -0
  495. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/runtime.py +0 -0
  496. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/hooks/types.py +0 -0
  497. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/__init__.py +0 -0
  498. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/base.py +0 -0
  499. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/context_length.py +0 -0
  500. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/dynamic_models.py +0 -0
  501. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/model_fetcher.py +0 -0
  502. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/models.py +0 -0
  503. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/oauth/__init__.py +0 -0
  504. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/oauth/copilot.py +0 -0
  505. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/oauth/dynamic.py +0 -0
  506. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/oauth/openai.py +0 -0
  507. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/oauth/supercode.py +0 -0
  508. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/phase_parser.py +0 -0
  509. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/provider.yaml +0 -0
  510. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/provider_catalog.py +0 -0
  511. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/__init__.py +0 -0
  512. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/anthropic_sdk.py +0 -0
  513. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/mock.py +0 -0
  514. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/openai_sdk.py +0 -0
  515. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/sanitize.py +0 -0
  516. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/providers/supercode.py +0 -0
  517. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/rate_limit.py +0 -0
  518. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/sdk/__init__.py +0 -0
  519. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/sdk/anthropic.py +0 -0
  520. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/sdk/base.py +0 -0
  521. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/sdk/openai.py +0 -0
  522. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/sdk/supercode.py +0 -0
  523. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/llm/tool_parser.py +0 -0
  524. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/loop.py +0 -0
  525. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/notify.py +0 -0
  526. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/permissions.py +0 -0
  527. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/prompts/__init__.py +0 -0
  528. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/prompts/builder.py +0 -0
  529. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/prompts/env.py +0 -0
  530. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/prompts/tooling.py +0 -0
  531. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/py.typed +0 -0
  532. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/runtime.py +0 -0
  533. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/__init__.py +0 -0
  534. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/_version.py +0 -0
  535. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/agent.py +0 -0
  536. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/approvals.py +0 -0
  537. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/guardrails/__init__.py +0 -0
  538. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/guardrails/types.py +0 -0
  539. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/handoffs.py +0 -0
  540. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/items.py +0 -0
  541. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/items_base.py +0 -0
  542. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/permissions.py +0 -0
  543. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/results.py +0 -0
  544. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/run_config.py +0 -0
  545. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/runner.py +0 -0
  546. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/sessions.py +0 -0
  547. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/skills.py +0 -0
  548. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tools.py +0 -0
  549. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/__init__.py +0 -0
  550. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/exporters/__init__.py +0 -0
  551. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/exporters/console.py +0 -0
  552. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/exporters/jsonl.py +0 -0
  553. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/processor.py +0 -0
  554. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sdk/tracing/tracing_impl.py +0 -0
  555. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/self_update.py +0 -0
  556. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/session.py +0 -0
  557. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sounds/completion.wav +0 -0
  558. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sounds/error.wav +0 -0
  559. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/sounds/permission.wav +0 -0
  560. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/themes.py +0 -0
  561. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/_read_image.py +0 -0
  562. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/_tool_utils.py +0 -0
  563. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/background.py +0 -0
  564. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools/base.py +0 -0
  565. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/tools_manager.py +0 -0
  566. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/turn.py +0 -0
  567. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/__init__.py +0 -0
  568. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/agent_runner.py +0 -0
  569. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/app_protocol.py +0 -0
  570. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/autocomplete.py +0 -0
  571. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/blocks.py +0 -0
  572. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/clipboard.py +0 -0
  573. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/__init__.py +0 -0
  574. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/agents.py +0 -0
  575. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/auth.py +0 -0
  576. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/base.py +0 -0
  577. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/goal.py +0 -0
  578. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/models.py +0 -0
  579. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/providers.py +0 -0
  580. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/sessions.py +0 -0
  581. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/commands/settings.py +0 -0
  582. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/completion_ui.py +0 -0
  583. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/export.py +0 -0
  584. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/floating_list.py +0 -0
  585. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/formatting.py +0 -0
  586. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/input.py +0 -0
  587. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/latex.py +0 -0
  588. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/launch.py +0 -0
  589. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/path_complete.py +0 -0
  590. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/prompt_history.py +0 -0
  591. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/queue_ui.py +0 -0
  592. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/selection_mode.py +0 -0
  593. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/session_ui.py +0 -0
  594. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/startup.py +0 -0
  595. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/styles.py +0 -0
  596. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/tool_output.py +0 -0
  597. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/tree.py +0 -0
  598. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/ui/widgets.py +0 -0
  599. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx/update_check.py +0 -0
  600. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/__init__.py +0 -0
  601. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/__main__.py +0 -0
  602. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/_vtx_bridge.py +0 -0
  603. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/__init__.py +0 -0
  604. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/autocompact.py +0 -0
  605. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/context.py +0 -0
  606. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/context_governance.py +0 -0
  607. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/cron_turns.py +0 -0
  608. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/hook.py +0 -0
  609. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/loop.py +0 -0
  610. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/memory.py +0 -0
  611. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/model_presets.py +0 -0
  612. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/progress_hook.py +0 -0
  613. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/runner.py +0 -0
  614. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/skills.py +0 -0
  615. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/subagent.py +0 -0
  616. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/__init__.py +0 -0
  617. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/apply_patch.py +0 -0
  618. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/base.py +0 -0
  619. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/cli_apps.py +0 -0
  620. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/context.py +0 -0
  621. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/cron.py +0 -0
  622. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/exec_session.py +0 -0
  623. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/file_state.py +0 -0
  624. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/filesystem.py +0 -0
  625. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/image_generation.py +0 -0
  626. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/loader.py +0 -0
  627. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/long_task.py +0 -0
  628. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/mcp.py +0 -0
  629. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/message.py +0 -0
  630. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/path_utils.py +0 -0
  631. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/registry.py +0 -0
  632. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/runtime_state.py +0 -0
  633. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/sandbox.py +0 -0
  634. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/schema.py +0 -0
  635. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/search.py +0 -0
  636. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/self.py +0 -0
  637. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/shell.py +0 -0
  638. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/spawn.py +0 -0
  639. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/agent/tools/web.py +0 -0
  640. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/api/__init__.py +0 -0
  641. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/api/server.py +0 -0
  642. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/apps/__init__.py +0 -0
  643. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/apps/cli/__init__.py +0 -0
  644. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/apps/cli/service.py +0 -0
  645. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/apps/cli/utils.py +0 -0
  646. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/apps/protocol.py +0 -0
  647. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/audio/__init__.py +0 -0
  648. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/audio/transcription.py +0 -0
  649. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/audio/transcription_registry.py +0 -0
  650. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/bus/__init__.py +0 -0
  651. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/bus/events.py +0 -0
  652. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/bus/progress.py +0 -0
  653. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/bus/queue.py +0 -0
  654. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/bus/runtime_events.py +0 -0
  655. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/__init__.py +0 -0
  656. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/base.py +0 -0
  657. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/dingtalk.py +0 -0
  658. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/discord.py +0 -0
  659. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/email.py +0 -0
  660. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/feishu.py +0 -0
  661. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/manager.py +0 -0
  662. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/matrix.py +0 -0
  663. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/mochat.py +0 -0
  664. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/msteams.py +0 -0
  665. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/napcat.py +0 -0
  666. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/qq.py +0 -0
  667. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/registry.py +0 -0
  668. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/signal.py +0 -0
  669. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/slack.py +0 -0
  670. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/telegram.py +0 -0
  671. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/websocket.py +0 -0
  672. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/wecom.py +0 -0
  673. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/weixin.py +0 -0
  674. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/channels/whatsapp.py +0 -0
  675. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/__init__.py +0 -0
  676. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/commands.py +0 -0
  677. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/gateway.py +0 -0
  678. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/models.py +0 -0
  679. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/onboard.py +0 -0
  680. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cli/stream.py +0 -0
  681. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/command/__init__.py +0 -0
  682. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/command/builtin.py +0 -0
  683. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/command/router.py +0 -0
  684. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/config/__init__.py +0 -0
  685. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/config/loader.py +0 -0
  686. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/config/paths.py +0 -0
  687. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/config/schema.py +0 -0
  688. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/config_base.py +0 -0
  689. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/__init__.py +0 -0
  690. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/bound_runner.py +0 -0
  691. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/service.py +0 -0
  692. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/session_delivery.py +0 -0
  693. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/session_turns.py +0 -0
  694. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/cron/types.py +0 -0
  695. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/gateway/__init__.py +0 -0
  696. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/gateway/runtime.py +0 -0
  697. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/gateway/service.py +0 -0
  698. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/pairing/__init__.py +0 -0
  699. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/pairing/store.py +0 -0
  700. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/__init__.py +0 -0
  701. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/base.py +0 -0
  702. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/factory.py +0 -0
  703. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/github_copilot_provider.py +0 -0
  704. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/image_generation.py +0 -0
  705. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/registry.py +0 -0
  706. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/providers/transcription.py +0 -0
  707. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/sdk/__init__.py +0 -0
  708. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/sdk/clients.py +0 -0
  709. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/sdk/runtime.py +0 -0
  710. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/sdk/streaming.py +0 -0
  711. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/sdk/types.py +0 -0
  712. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/security/__init__.py +0 -0
  713. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/security/network.py +0 -0
  714. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/security/workspace_access.py +0 -0
  715. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/security/workspace_policy.py +0 -0
  716. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/session/__init__.py +0 -0
  717. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/session/goal_state.py +0 -0
  718. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/session/keys.py +0 -0
  719. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/session/manager.py +0 -0
  720. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/session/turn_continuation.py +0 -0
  721. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/README.md +0 -0
  722. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/clawhub/SKILL.md +0 -0
  723. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/cron/SKILL.md +0 -0
  724. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/github/SKILL.md +0 -0
  725. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/image-generation/SKILL.md +0 -0
  726. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/long-goal/SKILL.md +0 -0
  727. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/memory/SKILL.md +0 -0
  728. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/my/SKILL.md +0 -0
  729. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/my/references/examples.md +0 -0
  730. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/skill-creator/SKILL.md +0 -0
  731. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/skill-creator/scripts/init_skill.py +0 -0
  732. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/skill-creator/scripts/package_skill.py +0 -0
  733. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/skill-creator/scripts/quick_validate.py +0 -0
  734. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/summarize/SKILL.md +0 -0
  735. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/tmux/SKILL.md +0 -0
  736. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/tmux/scripts/find-sessions.sh +0 -0
  737. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/tmux/scripts/wait-for-text.sh +0 -0
  738. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/update-setup/SKILL.md +0 -0
  739. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/skills/weather/SKILL.md +0 -0
  740. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/AGENTS.md +0 -0
  741. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/HEARTBEAT.md +0 -0
  742. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/SOUL.md +0 -0
  743. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/USER.md +0 -0
  744. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/__init__.py +0 -0
  745. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/_snippets/untrusted_content.md +0 -0
  746. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/consolidator_archive.md +0 -0
  747. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/cron_reminder.md +0 -0
  748. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/dream.md +0 -0
  749. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/evaluator.md +0 -0
  750. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/identity.md +0 -0
  751. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/max_iterations_message.md +0 -0
  752. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/platform_policy.md +0 -0
  753. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/skills_section.md +0 -0
  754. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/subagent_announce.md +0 -0
  755. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/subagent_system.md +0 -0
  756. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/agent/tool_contract.md +0 -0
  757. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/memory/MEMORY.md +0 -0
  758. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/templates/memory/__init__.py +0 -0
  759. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/__init__.py +0 -0
  760. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/artifacts.py +0 -0
  761. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/document.py +0 -0
  762. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/evaluator.py +0 -0
  763. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/file_edit_events.py +0 -0
  764. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/gitstore.py +0 -0
  765. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/helpers.py +0 -0
  766. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/llm_runtime.py +0 -0
  767. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/logging_bridge.py +0 -0
  768. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/media_decode.py +0 -0
  769. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/path.py +0 -0
  770. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/progress_events.py +0 -0
  771. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/prompt_templates.py +0 -0
  772. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/restart.py +0 -0
  773. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/runtime.py +0 -0
  774. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/searchusage.py +0 -0
  775. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/subagent_channel_display.py +0 -0
  776. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/utils/tool_hints.py +0 -0
  777. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/src/vtx_claw/vtx_claw.py +0 -0
  778. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/conftest.py +0 -0
  779. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/context/test_agents.py +0 -0
  780. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/context/test_skills.py +0 -0
  781. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/__init__.py +0 -0
  782. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_anthropic_provider.py +0 -0
  783. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_mock_provider.py +0 -0
  784. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_openai_oauth.py +0 -0
  785. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_supercode_provider.py +0 -0
  786. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_thinking_wire_params.py +0 -0
  787. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/llm/test_tls_verify.py +0 -0
  788. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/conftest.py +0 -0
  789. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_agent_and_runner.py +0 -0
  790. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_agents_as_tools.py +0 -0
  791. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_approvals.py +0 -0
  792. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_function_tool.py +0 -0
  793. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_guardrails.py +0 -0
  794. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_handoffs.py +0 -0
  795. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_integration.py +0 -0
  796. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_provider_field.py +0 -0
  797. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_sdk_permissions.py +0 -0
  798. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_sdk_skills.py +0 -0
  799. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_sessions.py +0 -0
  800. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/sdk/test_tracing.py +0 -0
  801. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_agent_profiles.py +0 -0
  802. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_agent_profiles_runtime.py +0 -0
  803. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_agent_profiles_tui.py +0 -0
  804. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_agentic_loop.py +0 -0
  805. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_cli.py +0 -0
  806. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_cli_auth_flags.py +0 -0
  807. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_cli_provider_resolution.py +0 -0
  808. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_compaction.py +0 -0
  809. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_config_binaries.py +0 -0
  810. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_config_error_fallback.py +0 -0
  811. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_config_injection.py +0 -0
  812. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_config_migration.py +0 -0
  813. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_dynamic_auth.py +0 -0
  814. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_dynamic_models.py +0 -0
  815. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_errors.py +0 -0
  816. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_extensions.py +0 -0
  817. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_git_branch.py +0 -0
  818. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_goal.py +0 -0
  819. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_grep_tool.py +0 -0
  820. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_handoff.py +0 -0
  821. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_handoff_link_interrupt.py +0 -0
  822. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_headless.py +0 -0
  823. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_hooks.py +0 -0
  824. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_launch_warnings.py +0 -0
  825. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_llm_lazy_imports.py +0 -0
  826. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_local_auth_config.py +0 -0
  827. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_model_provider_resolution.py +0 -0
  828. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_notifications_config.py +0 -0
  829. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_notify.py +0 -0
  830. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_openai_compat.py +0 -0
  831. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_permissions.py +0 -0
  832. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_phase_parser.py +0 -0
  833. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_prompts.py +0 -0
  834. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_rate_limit.py +0 -0
  835. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_runtime_switch_model.py +0 -0
  836. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_session_persistence.py +0 -0
  837. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_session_queries.py +0 -0
  838. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_session_resume.py +0 -0
  839. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_session_tree.py +0 -0
  840. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_system_prompt_git_context.py +0 -0
  841. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_themes.py +0 -0
  842. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_tool_parser.py +0 -0
  843. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_tools_manager.py +0 -0
  844. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_ui_notifications.py +0 -0
  845. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_update_check.py +0 -0
  846. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/test_update_notice_behavior.py +0 -0
  847. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_ask_user.py +0 -0
  848. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_ask_user_turn.py +0 -0
  849. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_background.py +0 -0
  850. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_bash_shell.py +0 -0
  851. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_bash_truncation.py +0 -0
  852. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_diff.py +0 -0
  853. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_edit.py +0 -0
  854. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_edit_display.py +0 -0
  855. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_read.py +0 -0
  856. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_read_image.py +0 -0
  857. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_read_image_integration.py +0 -0
  858. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_read_image_resize.py +0 -0
  859. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_skill.py +0 -0
  860. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_subprocess_cancellation.py +0 -0
  861. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_task.py +0 -0
  862. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_web_expand_collapse.py +0 -0
  863. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/tools/test_write.py +0 -0
  864. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_app_approval_keys.py +0 -0
  865. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_app_ask_user_keys.py +0 -0
  866. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_ask_user_block.py +0 -0
  867. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_autocomplete.py +0 -0
  868. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_completion_chrome.py +0 -0
  869. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_custom_tool_blocks.py +0 -0
  870. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_export.py +0 -0
  871. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_floating_list.py +0 -0
  872. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_info_bar_clicks.py +0 -0
  873. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_info_bar_permissions.py +0 -0
  874. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_action_ask_user.py +0 -0
  875. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_approval_submit.py +0 -0
  876. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_ask_user_forward.py +0 -0
  877. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_cursor_theme.py +0 -0
  878. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_handoff.py +0 -0
  879. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_paste.py +0 -0
  880. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_input_shell_style.py +0 -0
  881. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_keybindings.py +0 -0
  882. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_latex.py +0 -0
  883. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_login_command.py +0 -0
  884. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_permission_selection_status.py +0 -0
  885. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_permissions_command.py +0 -0
  886. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_prompt_history.py +0 -0
  887. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_provider_command.py +0 -0
  888. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_queue_editing.py +0 -0
  889. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_shell_command_detection.py +0 -0
  890. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_status_line.py +0 -0
  891. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_streaming_blocks.py +0 -0
  892. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_styles.py +0 -0
  893. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_thinking_notifications_commands.py +0 -0
  894. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/tests/ui/test_tool_output_expansion.py +0 -0
  895. {vtx_coding_agent-0.2.3 → vtx_coding_agent-0.2.4}/ty.toml +0 -0
@@ -5,6 +5,23 @@ All notable changes to Vtx are documented in this file. The format is based on
5
5
  adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
 
8
+ ## [0.2.4] - 2026-07-11
9
+
10
+ ### Added
11
+ - **Documentation rewrite** — rewrote the user-facing docs from scratch for accuracy: `docs/tools.md`, `permissions.md`, `configuration.md`, `providers.md`, `sessions.md`, `skills.md`, `extensions.md`, `agents.md`, `goal.md`, `hooks.md`, `ui.md`, `theming.md`, `headless.md`, `storage-layout.md`, `local-models.md`, `architecture.md`, `development.md`, and `docs/README.md`; refreshed the README and SDK README token figures (full runtime ~2,600 tokens, 11 tools).
12
+ - **README revamp** — redesigned the top-level README for clarity and marketing: badges, "Why Vtx?" pitch, two-backend table, feature grid, quick-start, an ASCII demo block, toolset matrix, custom-provider snippet, and a docs index.
13
+ - **README/SDK docs**: corrected provider count to **50+** built-in providers and added a "Permissions & switching agents" section documenting `Shift+Tab` (toggle permission mode and cycle handoff agents) and `/permissions`.
14
+ - **Fix shortcut labels** — `Shift+Tab` now correctly labelled "switch agent" in the TUI welcome and session-info shortcuts (it cycles handoff agents; permission mode is `Alt+Ctrl+P` or `/permissions`). Fixed the README to match.
15
+ - **Editable build indicator** — when vtx is installed as an editable package (`pip install -e .`), the TUI now displays `v-editable` instead of a release version number. Detection uses the installed distribution's `direct_url.json` `dir_info.editable` flag.
16
+
17
+ ### Changed
18
+ - **Minimalist system prompt** — drastically reduced the model context footprint:
19
+ - Rewrote the system prompt sections to be terse while preserving all behavioral guidance.
20
+ - Trimmed every tool description and field description.
21
+ - Slimmed the LLM-facing tool JSON schemas: dropped `title`/`minLength`/`maxLength` noise and collapsed `anyOf: [type, null]` optional unions. Pydantic still enforces all validation constraints on real tool calls.
22
+ - Removed redundant tool-usage guidelines that duplicated the tool descriptions.
23
+ - Total system prompt + tool definitions lowered from ~5,500 tokens to ~2,600 tokens (o200k_base).
24
+
8
25
  ## [0.2.3] - 2026-07-10 — Custom Provider Support
9
26
 
10
27
  ### Added
@@ -0,0 +1,284 @@
1
+ Metadata-Version: 2.4
2
+ Name: vtx-coding-agent
3
+ Version: 0.2.4
4
+ Summary: Minimalist coding agent harness with a Textual TUI and headless CLI. Ships two agentic backends: the native vtx event loop and the advanced vtx-claw gateway loop (install the [claw] extra for multi-channel + subagent + cron features). <1k-token system prompt, 50+ LLM providers, AGENTS.md + skills context, session tree, prompt/auto permissions.
5
+ License-File: LICENSE
6
+ Keywords: agent-loop,cli,coding-agent,llm,tui,vtx-claw
7
+ Requires-Python: >=3.12
8
+ Requires-Dist: aiofiles>=25.1.0
9
+ Requires-Dist: aiohttp>=3.13.3
10
+ Requires-Dist: anthropic>=0.79.0
11
+ Requires-Dist: chardet<6.0.0,>=3.0.2
12
+ Requires-Dist: curl-cffi>=0.15.0
13
+ Requires-Dist: dulwich<1.0.0,>=0.22.0
14
+ Requires-Dist: filelock>=3.25.2
15
+ Requires-Dist: hammett>=0.10.0
16
+ Requires-Dist: html-to-markdown<3.4.0,>=3.3.0
17
+ Requires-Dist: httpx<1.0.0,>=0.28.0
18
+ Requires-Dist: jinja2<4.0.0,>=3.1.0
19
+ Requires-Dist: json-repair<1.0.0,>=0.57.0
20
+ Requires-Dist: loguru<1.0.0,>=0.7.3
21
+ Requires-Dist: lxml-html-clean>=0.4.3
22
+ Requires-Dist: oauth-cli-kit<1.0.0,>=0.1.3
23
+ Requires-Dist: openai>=2.21.0
24
+ Requires-Dist: openpyxl<4.0.0,>=3.1.0
25
+ Requires-Dist: pillow>=12.1.1
26
+ Requires-Dist: prompt-toolkit<4.0.0,>=3.0.50
27
+ Requires-Dist: pydantic-settings<3.0.0,>=2.12.0
28
+ Requires-Dist: pydantic>=2.12.5
29
+ Requires-Dist: pypdf<6.0.0,>=5.0.0
30
+ Requires-Dist: pytest-xdist>=3.8.0
31
+ Requires-Dist: python-docx<2.0.0,>=1.1.0
32
+ Requires-Dist: python-pptx<2.0.0,>=1.0.0
33
+ Requires-Dist: pyyaml>=6.0.3
34
+ Requires-Dist: questionary<3.0.0,>=2.0.0
35
+ Requires-Dist: readability-lxml>=0.8.4
36
+ Requires-Dist: rich>=14.3.2
37
+ Requires-Dist: textual>=8.0.0
38
+ Requires-Dist: tiktoken<1.0.0,>=0.12.0
39
+ Requires-Dist: typer<1.0.0,>=0.20.0
40
+ Provides-Extra: api
41
+ Requires-Dist: aiohttp<4.0.0,>=3.9.0; extra == 'api'
42
+ Provides-Extra: azure
43
+ Requires-Dist: azure-identity<2.0.0,>=1.19.0; extra == 'azure'
44
+ Provides-Extra: claw
45
+ Requires-Dist: boto3>=1.43.0; extra == 'claw'
46
+ Requires-Dist: croniter<7.0.0,>=6.0.0; extra == 'claw'
47
+ Requires-Dist: ddgs<10.0.0,>=9.5.5; extra == 'claw'
48
+ Requires-Dist: dingtalk-stream<1.0.0,>=0.24.0; extra == 'claw'
49
+ Requires-Dist: lark-oapi<2.0.0,>=1.5.0; extra == 'claw'
50
+ Requires-Dist: mcp>=1.28.1; extra == 'claw'
51
+ Requires-Dist: msgpack<2.0.0,>=1.1.0; extra == 'claw'
52
+ Requires-Dist: python-socketio<6.0.0,>=5.16.0; extra == 'claw'
53
+ Requires-Dist: python-socks[asyncio]<3.0.0,>=2.8.0; (sys_platform != 'win32') and extra == 'claw'
54
+ Requires-Dist: python-telegram-bot[socks,webhooks]<23.0,>=22.6; extra == 'claw'
55
+ Requires-Dist: qq-botpy<2.0.0,>=1.2.0; extra == 'claw'
56
+ Requires-Dist: slack-sdk<4.0.0,>=3.39.0; extra == 'claw'
57
+ Requires-Dist: slackify-markdown<1.0.0,>=0.2.0; extra == 'claw'
58
+ Requires-Dist: socksio<2.0.0,>=1.0.0; extra == 'claw'
59
+ Requires-Dist: websocket-client<2.0.0,>=1.9.0; extra == 'claw'
60
+ Requires-Dist: websockets<17.0,>=16.0; extra == 'claw'
61
+ Provides-Extra: discord
62
+ Requires-Dist: discord-py<3.0.0,>=2.5.2; extra == 'discord'
63
+ Provides-Extra: langsmith
64
+ Requires-Dist: langsmith>=0.1.0; extra == 'langsmith'
65
+ Provides-Extra: matrix
66
+ Requires-Dist: aiohttp<4.0.0,>=3.9.0; extra == 'matrix'
67
+ Requires-Dist: matrix-nio[e2e]>=0.25.2; (sys_platform != 'win32') and extra == 'matrix'
68
+ Requires-Dist: mistune<4.0.0,>=3.0.0; extra == 'matrix'
69
+ Requires-Dist: nh3<1.0.0,>=0.2.17; extra == 'matrix'
70
+ Provides-Extra: msteams
71
+ Requires-Dist: cryptography>=41.0; extra == 'msteams'
72
+ Requires-Dist: pyjwt<3.0,>=2.0; extra == 'msteams'
73
+ Provides-Extra: olostep
74
+ Requires-Dist: olostep>=0.1.0; extra == 'olostep'
75
+ Provides-Extra: pdf
76
+ Requires-Dist: pymupdf>=1.25.0; extra == 'pdf'
77
+ Provides-Extra: wecom
78
+ Requires-Dist: wecom-aibot-sdk-python>=0.1.5; extra == 'wecom'
79
+ Provides-Extra: weixin
80
+ Requires-Dist: pycryptodome>=3.20.0; extra == 'weixin'
81
+ Requires-Dist: qrcode[pil]>=8.0; extra == 'weixin'
82
+ Provides-Extra: whatsapp
83
+ Requires-Dist: neonize<0.4.0,>=0.3.18.post0; extra == 'whatsapp'
84
+ Requires-Dist: segno<2.0.0,>=1.6.1; extra == 'whatsapp'
85
+ Description-Content-Type: text/markdown
86
+
87
+ <div align="center">
88
+
89
+ ```text
90
+ ██╗ ██╗████████╗██╗ ██╗
91
+ ██║ ██║╚══██╔══╝╚██╗██╔╝
92
+ ██║ ██║ ██║ ╚███╔╝
93
+ ╚██╗ ██╔╝ ██║ ██╔██╗
94
+ ╚████╔╝ ██║ ██╔╝ ██╗
95
+ ╚═══╝ ╚═╝ ╚═╝ ╚═╝
96
+ ```
97
+
98
+ </div>
99
+
100
+
101
+ <p align="center"><b>The minimalist, modular coding agent harness</b></p>
102
+ <p align="center"><b>Maximum capability. Minimum overhead.</b></p>
103
+
104
+ <p align="center">
105
+ <a href="https://github.com/OEvortex/vtx-coding-agent"><img alt="GitHub" src="https://img.shields.io/github/stars/OEvortex/vtx-coding-agent?style=for-the-badge&label=Stars" /></a>
106
+ <a href="https://pypi.org/project/vtx-coding-agent/"><img alt="PyPI" src="https://img.shields.io/pypi/v/vtx-coding-agent?style=for-the-badge" /></a>
107
+ <a href="https://pypi.org/project/vtx-coding-agent/"><img alt="Downloads" src="https://img.shields.io/pypi/dm/vtx-coding-agent?style=for-the-badge" /></a>
108
+ <a href="https://www.python.org/downloads/release/python-3120/"><img alt="Python" src="https://img.shields.io/badge/python-3.12%2B-blue?style=for-the-badge" /></a>
109
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache%202.0-blue?style=for-the-badge" /></a>
110
+ </p>
111
+
112
+ <p align="center">
113
+ A coding agent that keeps its system prompt lean — around <b>~2,600 tokens</b> for the whole runtime —
114
+ so your context window stays free for what matters: <i>your code</i>.
115
+ </p>
116
+
117
+ ---
118
+
119
+ ## Why Vtx?
120
+
121
+ Most coding agents bury you in thousands of hidden prompt tokens before you type a single line. **Vtx is transparent about its footprint.** The full runtime — base system prompt, tool guidelines, environment block, and all 11 tool definitions — fits in roughly **2,600 tokens** (o200k_base). That means:
122
+
123
+ - More of the model's context is spent on *your* files, not boilerplate instructions.
124
+ - Faster, cheaper turns with any provider you choose.
125
+ - A prompt you can actually read, audit, and shrink.
126
+
127
+ Vtx is also **modular**: a keyboard-driven TUI, a headless CLI, a Python SDK, and an optional gateway backend — pick the surface that fits the job.
128
+
129
+ ---
130
+
131
+ ## Two backends, one runtime
132
+
133
+ | Backend | What it's for | Powers |
134
+ | --- | --- | --- |
135
+ | **`vtx` native loop** | Single-session, event-stream agent loop with thinking streaming, tool permissions, and compaction. | The TUI + headless CLI (`vtx -p "..."`) |
136
+ | **`vtx_claw` gateway** | Production-grade multi-session loop: concurrent tool batching, context governance, crash-restore, subagents, MCP, cron, channel integrations. | The `vtx-claw` gateway, WebUI, and 16+ chat channels (`[claw]` extra) |
137
+
138
+ ---
139
+
140
+ ## Features
141
+
142
+ - **Lean by design** — ~2,600-token runtime; no hidden prompt bloat.
143
+ - **11 surgical tools** — `read`, `edit`, `write`, `bash`, `find`, `grep`, `skill`, `fetch_webpage`, `web_search`, `ask_user`, `task`.
144
+ - **TUI & CLI** — a Textual-powered terminal UI, plus a non-interactive headless mode for scripts and CI.
145
+ - **Any model, any endpoint** — 50+ built-in providers (OpenAI, Anthropic, Azure, DeepSeek, Copilot, Zhipu, Groq, Mistral, Together, Ollama, …) plus OpenAI/Anthropic-compatible custom providers and local models (Ollama, llama.cpp, vLLM).
146
+ - **Dynamic context** — auto-loads `AGENTS.md`/`CLAUDE.md` guidelines and triggers modular `Skills`.
147
+ - **Switchable handoff agents** — named profiles (review, security audit, fast impl) cycled live with `Shift+Tab`.
148
+ - **Task sub-agents** — delegate self-contained work to isolated sessions that stream progress back.
149
+ - **Safe by default** — `prompt` permission mode gates mutating tools; destructive commands are blocked.
150
+ - **Self-extensible** — drop a Python file to add tools, intercept calls, register slash commands, or hook lifecycle events.
151
+ - **Programmable SDK** — build multi-agent apps on the same runtime with `vtx.sdk`.
152
+
153
+ ---
154
+
155
+ ## Quick start
156
+
157
+ ```bash
158
+ # Install with uv (recommended)
159
+ uv tool install vtx-coding-agent
160
+
161
+ # Or the one-liner installer
162
+ curl -fsSL https://raw.githubusercontent.com/OEvortex/vtx-coding-agent/main/scripts/install.sh | bash
163
+ ```
164
+
165
+ Launch the terminal UI:
166
+
167
+ ```bash
168
+ vtx
169
+ ```
170
+
171
+ Run a single task headlessly:
172
+
173
+ ```bash
174
+ vtx -p "Write unit tests for src/vtx/utils.py"
175
+ ```
176
+
177
+ Install the advanced gateway backend too:
178
+
179
+ ```bash
180
+ uv tool install "vtx-coding-agent[claw]"
181
+ ```
182
+
183
+ ---
184
+
185
+ ## The toolset
186
+
187
+ | Tool | Does | Tool | Does |
188
+ | --- | --- | --- | --- |
189
+ | `read` | Read/paginate files, view images | `fetch_webpage` | Fetch a URL as markdown |
190
+ | `edit` | Precise search-and-replace | `web_search` | Semantic web search |
191
+ | `write` | Create/overwrite files | `ask_user` | Ask a clarifying question |
192
+ | `bash` | Run commands in the cwd | `task` | Dispatch a sub-agent |
193
+ | `find` | Glob file discovery | `skill` | Manage skill workflows |
194
+ | `grep` | Regex search over files | | |
195
+
196
+ See [docs/tools.md](docs/tools.md) for full parameter specs.
197
+
198
+ ---
199
+
200
+ ## Permissions & switching agents
201
+
202
+ **Toggle permission mode on the fly.** Vtx gates mutating tools (`bash`, `edit`, `write`) behind a permission system. In the TUI:
203
+
204
+ - Press **`Alt+Ctrl+P`** to cycle between **`prompt`** (asks before mutating) and **`auto`** (unrestricted) mode.
205
+ - Type **`/permissions`** to open the permission menu and switch mode explicitly.
206
+ - Set the default in `config.yml` (`permissions.mode: prompt | auto`).
207
+
208
+ Destructive commands (`rm -rf`, `git reset --hard`, force-push, dropping tables) are blocked unless you explicitly ask. See [docs/permissions.md](docs/permissions.md).
209
+
210
+ **Switch handoff agents with `Shift+Tab`.** Define named profiles in `.vtx/agent/<name>.py` (e.g. `security-audit`, `code-review`, `explorer`) and cycle between them live — each bundles its own instructions, tool allow/deny list, and optional model override. See [docs/agents.md](docs/agents.md).
211
+
212
+ ---
213
+
214
+ ## Bring your own provider
215
+
216
+ Point Vtx at any OpenAI- or Anthropic-compatible endpoint — no source edits required:
217
+
218
+ ```yaml
219
+ # .vtx/providers/acme.yaml
220
+ slug: acme
221
+ display_name: "Acme AI Gateway"
222
+ family: openai_compat
223
+ base_url: "https://ai.acme.internal/v1"
224
+ api_key_env: ACME_API_KEY
225
+ fetch_models: true
226
+ ```
227
+
228
+ ```bash
229
+ export ACME_API_KEY=sk-...
230
+ vtx --provider acme -m acme-large
231
+ ```
232
+
233
+ Custom providers show up in the `/model` picker and auto-fetch their model catalog. Full reference in [docs/providers.md](docs/providers.md).
234
+
235
+ ---
236
+
237
+ ## Build agents programmatically
238
+
239
+ ```python
240
+ from vtx.sdk import Agent, Runner, tool
241
+
242
+ @tool
243
+ def get_weather(city: str) -> str:
244
+ """Return the current weather for a city."""
245
+ return f"Sunny in {city}"
246
+
247
+ agent = Agent(
248
+ name="Weather bot",
249
+ instructions="Be concise.",
250
+ model="gpt-4o-mini",
251
+ tools=[get_weather],
252
+ )
253
+
254
+ result = Runner.run_sync(agent, "Weather in Tokyo?")
255
+ print(result.final_output)
256
+ ```
257
+
258
+ See the [SDK docs](docs/sdk/README.md).
259
+
260
+ ---
261
+
262
+ ## Documentation
263
+
264
+ | Topic | Link |
265
+ | --- | --- |
266
+ | Configuration | [docs/configuration.md](docs/configuration.md) |
267
+ | Providers & custom endpoints | [docs/providers.md](docs/providers.md) |
268
+ | Tools | [docs/tools.md](docs/tools.md) |
269
+ | Permissions | [docs/permissions.md](docs/permissions.md) |
270
+ | Sessions | [docs/sessions.md](docs/sessions.md) |
271
+ | Skills | [docs/skills.md](docs/skills.md) |
272
+ | Extensions | [docs/extensions.md](docs/extensions.md) |
273
+ | Handoff agents | [docs/agents.md](docs/agents.md) |
274
+ | Goals | [docs/goal.md](docs/goal.md) |
275
+ | Architecture | [docs/architecture.md](docs/architecture.md) |
276
+ | Local models | [docs/local-models.md](docs/local-models.md) |
277
+ | SDK | [docs/sdk/README.md](docs/sdk/README.md) |
278
+ | vtx-claw gateway | [docs/claw/README.md](docs/claw/README.md) |
279
+
280
+ ---
281
+
282
+ ## License
283
+
284
+ Apache License 2.0
@@ -0,0 +1,198 @@
1
+ <div align="center">
2
+
3
+ ```text
4
+ ██╗ ██╗████████╗██╗ ██╗
5
+ ██║ ██║╚══██╔══╝╚██╗██╔╝
6
+ ██║ ██║ ██║ ╚███╔╝
7
+ ╚██╗ ██╔╝ ██║ ██╔██╗
8
+ ╚████╔╝ ██║ ██╔╝ ██╗
9
+ ╚═══╝ ╚═╝ ╚═╝ ╚═╝
10
+ ```
11
+
12
+ </div>
13
+
14
+
15
+ <p align="center"><b>The minimalist, modular coding agent harness</b></p>
16
+ <p align="center"><b>Maximum capability. Minimum overhead.</b></p>
17
+
18
+ <p align="center">
19
+ <a href="https://github.com/OEvortex/vtx-coding-agent"><img alt="GitHub" src="https://img.shields.io/github/stars/OEvortex/vtx-coding-agent?style=for-the-badge&label=Stars" /></a>
20
+ <a href="https://pypi.org/project/vtx-coding-agent/"><img alt="PyPI" src="https://img.shields.io/pypi/v/vtx-coding-agent?style=for-the-badge" /></a>
21
+ <a href="https://pypi.org/project/vtx-coding-agent/"><img alt="Downloads" src="https://img.shields.io/pypi/dm/vtx-coding-agent?style=for-the-badge" /></a>
22
+ <a href="https://www.python.org/downloads/release/python-3120/"><img alt="Python" src="https://img.shields.io/badge/python-3.12%2B-blue?style=for-the-badge" /></a>
23
+ <a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache%202.0-blue?style=for-the-badge" /></a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ A coding agent that keeps its system prompt lean — around <b>~2,600 tokens</b> for the whole runtime —
28
+ so your context window stays free for what matters: <i>your code</i>.
29
+ </p>
30
+
31
+ ---
32
+
33
+ ## Why Vtx?
34
+
35
+ Most coding agents bury you in thousands of hidden prompt tokens before you type a single line. **Vtx is transparent about its footprint.** The full runtime — base system prompt, tool guidelines, environment block, and all 11 tool definitions — fits in roughly **2,600 tokens** (o200k_base). That means:
36
+
37
+ - More of the model's context is spent on *your* files, not boilerplate instructions.
38
+ - Faster, cheaper turns with any provider you choose.
39
+ - A prompt you can actually read, audit, and shrink.
40
+
41
+ Vtx is also **modular**: a keyboard-driven TUI, a headless CLI, a Python SDK, and an optional gateway backend — pick the surface that fits the job.
42
+
43
+ ---
44
+
45
+ ## Two backends, one runtime
46
+
47
+ | Backend | What it's for | Powers |
48
+ | --- | --- | --- |
49
+ | **`vtx` native loop** | Single-session, event-stream agent loop with thinking streaming, tool permissions, and compaction. | The TUI + headless CLI (`vtx -p "..."`) |
50
+ | **`vtx_claw` gateway** | Production-grade multi-session loop: concurrent tool batching, context governance, crash-restore, subagents, MCP, cron, channel integrations. | The `vtx-claw` gateway, WebUI, and 16+ chat channels (`[claw]` extra) |
51
+
52
+ ---
53
+
54
+ ## Features
55
+
56
+ - **Lean by design** — ~2,600-token runtime; no hidden prompt bloat.
57
+ - **11 surgical tools** — `read`, `edit`, `write`, `bash`, `find`, `grep`, `skill`, `fetch_webpage`, `web_search`, `ask_user`, `task`.
58
+ - **TUI & CLI** — a Textual-powered terminal UI, plus a non-interactive headless mode for scripts and CI.
59
+ - **Any model, any endpoint** — 50+ built-in providers (OpenAI, Anthropic, Azure, DeepSeek, Copilot, Zhipu, Groq, Mistral, Together, Ollama, …) plus OpenAI/Anthropic-compatible custom providers and local models (Ollama, llama.cpp, vLLM).
60
+ - **Dynamic context** — auto-loads `AGENTS.md`/`CLAUDE.md` guidelines and triggers modular `Skills`.
61
+ - **Switchable handoff agents** — named profiles (review, security audit, fast impl) cycled live with `Shift+Tab`.
62
+ - **Task sub-agents** — delegate self-contained work to isolated sessions that stream progress back.
63
+ - **Safe by default** — `prompt` permission mode gates mutating tools; destructive commands are blocked.
64
+ - **Self-extensible** — drop a Python file to add tools, intercept calls, register slash commands, or hook lifecycle events.
65
+ - **Programmable SDK** — build multi-agent apps on the same runtime with `vtx.sdk`.
66
+
67
+ ---
68
+
69
+ ## Quick start
70
+
71
+ ```bash
72
+ # Install with uv (recommended)
73
+ uv tool install vtx-coding-agent
74
+
75
+ # Or the one-liner installer
76
+ curl -fsSL https://raw.githubusercontent.com/OEvortex/vtx-coding-agent/main/scripts/install.sh | bash
77
+ ```
78
+
79
+ Launch the terminal UI:
80
+
81
+ ```bash
82
+ vtx
83
+ ```
84
+
85
+ Run a single task headlessly:
86
+
87
+ ```bash
88
+ vtx -p "Write unit tests for src/vtx/utils.py"
89
+ ```
90
+
91
+ Install the advanced gateway backend too:
92
+
93
+ ```bash
94
+ uv tool install "vtx-coding-agent[claw]"
95
+ ```
96
+
97
+ ---
98
+
99
+ ## The toolset
100
+
101
+ | Tool | Does | Tool | Does |
102
+ | --- | --- | --- | --- |
103
+ | `read` | Read/paginate files, view images | `fetch_webpage` | Fetch a URL as markdown |
104
+ | `edit` | Precise search-and-replace | `web_search` | Semantic web search |
105
+ | `write` | Create/overwrite files | `ask_user` | Ask a clarifying question |
106
+ | `bash` | Run commands in the cwd | `task` | Dispatch a sub-agent |
107
+ | `find` | Glob file discovery | `skill` | Manage skill workflows |
108
+ | `grep` | Regex search over files | | |
109
+
110
+ See [docs/tools.md](docs/tools.md) for full parameter specs.
111
+
112
+ ---
113
+
114
+ ## Permissions & switching agents
115
+
116
+ **Toggle permission mode on the fly.** Vtx gates mutating tools (`bash`, `edit`, `write`) behind a permission system. In the TUI:
117
+
118
+ - Press **`Alt+Ctrl+P`** to cycle between **`prompt`** (asks before mutating) and **`auto`** (unrestricted) mode.
119
+ - Type **`/permissions`** to open the permission menu and switch mode explicitly.
120
+ - Set the default in `config.yml` (`permissions.mode: prompt | auto`).
121
+
122
+ Destructive commands (`rm -rf`, `git reset --hard`, force-push, dropping tables) are blocked unless you explicitly ask. See [docs/permissions.md](docs/permissions.md).
123
+
124
+ **Switch handoff agents with `Shift+Tab`.** Define named profiles in `.vtx/agent/<name>.py` (e.g. `security-audit`, `code-review`, `explorer`) and cycle between them live — each bundles its own instructions, tool allow/deny list, and optional model override. See [docs/agents.md](docs/agents.md).
125
+
126
+ ---
127
+
128
+ ## Bring your own provider
129
+
130
+ Point Vtx at any OpenAI- or Anthropic-compatible endpoint — no source edits required:
131
+
132
+ ```yaml
133
+ # .vtx/providers/acme.yaml
134
+ slug: acme
135
+ display_name: "Acme AI Gateway"
136
+ family: openai_compat
137
+ base_url: "https://ai.acme.internal/v1"
138
+ api_key_env: ACME_API_KEY
139
+ fetch_models: true
140
+ ```
141
+
142
+ ```bash
143
+ export ACME_API_KEY=sk-...
144
+ vtx --provider acme -m acme-large
145
+ ```
146
+
147
+ Custom providers show up in the `/model` picker and auto-fetch their model catalog. Full reference in [docs/providers.md](docs/providers.md).
148
+
149
+ ---
150
+
151
+ ## Build agents programmatically
152
+
153
+ ```python
154
+ from vtx.sdk import Agent, Runner, tool
155
+
156
+ @tool
157
+ def get_weather(city: str) -> str:
158
+ """Return the current weather for a city."""
159
+ return f"Sunny in {city}"
160
+
161
+ agent = Agent(
162
+ name="Weather bot",
163
+ instructions="Be concise.",
164
+ model="gpt-4o-mini",
165
+ tools=[get_weather],
166
+ )
167
+
168
+ result = Runner.run_sync(agent, "Weather in Tokyo?")
169
+ print(result.final_output)
170
+ ```
171
+
172
+ See the [SDK docs](docs/sdk/README.md).
173
+
174
+ ---
175
+
176
+ ## Documentation
177
+
178
+ | Topic | Link |
179
+ | --- | --- |
180
+ | Configuration | [docs/configuration.md](docs/configuration.md) |
181
+ | Providers & custom endpoints | [docs/providers.md](docs/providers.md) |
182
+ | Tools | [docs/tools.md](docs/tools.md) |
183
+ | Permissions | [docs/permissions.md](docs/permissions.md) |
184
+ | Sessions | [docs/sessions.md](docs/sessions.md) |
185
+ | Skills | [docs/skills.md](docs/skills.md) |
186
+ | Extensions | [docs/extensions.md](docs/extensions.md) |
187
+ | Handoff agents | [docs/agents.md](docs/agents.md) |
188
+ | Goals | [docs/goal.md](docs/goal.md) |
189
+ | Architecture | [docs/architecture.md](docs/architecture.md) |
190
+ | Local models | [docs/local-models.md](docs/local-models.md) |
191
+ | SDK | [docs/sdk/README.md](docs/sdk/README.md) |
192
+ | vtx-claw gateway | [docs/claw/README.md](docs/claw/README.md) |
193
+
194
+ ---
195
+
196
+ ## License
197
+
198
+ Apache License 2.0
@@ -8,12 +8,15 @@ This folder is the reference companion to the top-level [README](../README.md).
8
8
  | --- | --- |
9
9
  | [configuration.md](configuration.md) | Every YAML config field with its default, validation rule, and CLI override |
10
10
  | [providers.md](providers.md) | Built-in LLM providers, OAuth and API-key auth, dynamic catalog providers, env vars |
11
- | [tools.md](tools.md) | The 6 core tools + 2 web tools — parameters, mutating flag, and worked examples |
12
- | [permissions.md](permissions.md) | The `prompt`/`auto` modes, the safe-command allowlist, and the decision algorithm |
13
- | [sessions.md](sessions.md) | JSONL session format, resume, handoff, `/export`, compaction, and tree navigation |
14
- | [skills.md](skills.md) | Authoring skills — frontmatter, `$ARGUMENTS`, `register_cmd`, discovery paths |
15
- | [agents.md](agents.md) | Switchable handoff agents — `.vtx/agent/<name>.py`, `AgentAPI`, `Shift+Tab` cycling |
11
+ | [tools.md](tools.md) | The 11 tools — parameters, mutating flag, and worked examples |
12
+ | [permissions.md](permissions.md) | The `prompt`/`auto` modes, safety guarantees, and the approval decision flow |
13
+ | [sessions.md](sessions.md) | JSONL session format, resume, handoff, `/export`, compaction |
14
+ | [skills.md](skills.md) | Authoring skills — frontmatter, `register_cmd`, discovery paths |
15
+ | [agents.md](agents.md) | Switchable handoff agents — `.vtx/agent/<name>.py`, `Shift+Tab` cycling |
16
16
  | [theming.md](theming.md) | The full theme catalog and palette tokens |
17
+ | [ui.md](ui.md) | TUI input, shell execution, slash commands, thinking blocks |
18
+ | [goal.md](goal.md) | Continuous `/goal` work with an evaluator loop |
19
+ | [hooks.md](hooks.md) | The extension-based hook lifecycle (tool_call, tool_result, lifecycle events) |
17
20
  | [headless.md](headless.md) | The `-p`/`--prompt` non-interactive flow, exit codes, stdin handling |
18
21
  | [local-models.md](local-models.md) | Tested local models, llama-server setup, model-specific config tuning |
19
22
  | [storage-layout.md](storage-layout.md) | Every file Vtx touches on disk — config, sessions, models, auth |
@@ -0,0 +1,64 @@
1
+ # Switchable Handoff Agents
2
+
3
+ Vtx supports named, switchable agent profiles ("handoff agents"). Each profile is a focused system-prompt + tool surface + model configuration you can cycle between in the TUI with `Shift+Tab`. They are ideal for distinct modes like read-only review, security audit, or fast implementation.
4
+
5
+ ## Locations & discovery
6
+
7
+ Profiles are Python files defining a module-level `AGENT` constant:
8
+
9
+ - Project: `<cwd>/.vtx/agent/<name>.py` (searched up to the git root; deeper wins)
10
+ - Global: `~/.vtx/agent/<name>.py`
11
+
12
+ Multiple profiles can be configured explicitly via `agents.files:` in `config.yml` or the `--agent-file` CLI flag. The default active profile is set with `agents.default:`; `agents.switch_mode` is `lock` or `unlock`.
13
+
14
+ See `examples/agents/` for working profiles (`code-review.py`, `security-audit.py`, `explorer.py`, `data-engineer.py`, `yolo.py`).
15
+
16
+ ## Profile schema
17
+
18
+ ```python
19
+ AGENT = {
20
+ "name": "security-audit", # required, [a-z0-9-]
21
+ "description": "Read-only security review.", # required
22
+ "icon": "🛡", # optional (max 4 chars)
23
+ "color": "red", # optional theme color
24
+
25
+ # Model / provider overrides
26
+ "model": "gpt-5.5",
27
+ "provider": "openai-codex",
28
+ "base_url": None,
29
+ "thinking_level": "high",
30
+ "max_turns": 100,
31
+
32
+ # System prompt composition
33
+ "instructions": "You are a security auditor...",
34
+ "instructions_mode": "append", # append | replace
35
+
36
+ # Tool surface (built-in tool names, or tool-group names like "read-only"/"full")
37
+ "tools_allow": ["read", "grep", "find"],
38
+ "tools_deny": [],
39
+
40
+ # Permissions
41
+ "permission_mode": "prompt", # prompt | auto
42
+ "permission_gates": [],
43
+
44
+ # Handoffs to other profiles
45
+ "handoffs": ["code-review"],
46
+ "handoff_back": True,
47
+
48
+ # Agent-scoped extensions to load when active
49
+ "extensions": [],
50
+ }
51
+ ```
52
+
53
+ All fields are optional except `name` and `description`.
54
+
55
+ ## Using profiles
56
+
57
+ - `Shift+Tab` in the TUI cycles through loaded profiles.
58
+ - `/handoff <query>` summarizes the current session and starts a fresh session under a chosen profile, carrying the summary forward.
59
+ - A profile's `instructions` is appended to (or replaces) the base system prompt per `instructions_mode`.
60
+ - A profile may `handoff` to other named profiles, letting the model route work between specialists.
61
+
62
+ ## `task` sub-agents vs handoff agents
63
+
64
+ Handoff agents run in the **same** session and context. The `task` tool dispatches **separate** sub-agent sessions (see [tools.md](tools.md)). Use `task` for parallel, isolated work; use handoff agents for in-session persona switching.
@@ -0,0 +1,47 @@
1
+ # Architecture
2
+
3
+ Vtx is a minimalist coding-agent harness built around a small, transparent runtime. This page maps the core `src/vtx` package.
4
+
5
+ ## Two backends
6
+
7
+ `vtx-coding-agent` ships two agentic execution engines:
8
+
9
+ - **`vtx` native event loop** (`src/vtx/loop.py`, `src/vtx/turn.py`) — the original single-session, event-stream loop. It powers the TUI and the headless CLI (`vtx -p "..."`). Handles thinking streaming, tool permissions, file edits, and compaction between turns.
10
+ - **`vtx_claw` advanced backend** (`src/vtx_claw/...`) — a production-grade multi-session gateway loop with concurrent tool batching, context governance, crash-checkpoint restore, mid-turn message injection, subagent orchestration, MCP servers, cron turns, and a hook lifecycle. Powers the `vtx-claw` gateway, WebUI, and 16+ chat-channel integrations. Requires the `[claw]` extra.
11
+
12
+ ## Core runtime (`src/vtx`)
13
+
14
+ | Module | Responsibility |
15
+ |--------|----------------|
16
+ | `turn.py` | `run_single_turn` — one agent turn: build messages, call the model, execute tool calls, emit events. |
17
+ | `loop.py` | The interactive turn loop: compaction, goal checks, lifecycle events. |
18
+ | `events.py` | Typed event stream (`TextDeltaEvent`, `ToolStartEvent`, `ToolResultEvent`, `TurnEndEvent`, …). |
19
+ | `core/types.py` | Message and content types (`AssistantMessage`, `ToolCall`, `ToolResult`, `Usage`, …). |
20
+ | `tools/` | The 11 built-in tools as Pydantic-validated `BaseTool` subclasses. |
21
+ | `prompts/` | System-prompt assembly (`identity.py`, `tooling.py`, `env.py`, `builder.py`). |
22
+ | `llm/` | Provider catalog, model fetching, and provider SDK adapters. |
23
+ | `session.py` | JSONL session persistence and resumption. |
24
+ | `extensions.py` | Extension discovery, the `ExtensionAPI`, and the event bus. |
25
+ | `agents/` | Switchable handoff-agent discovery and schema. |
26
+ | `goal.py` | Goal-mode manager and evaluator. |
27
+ | `config.py` | Configuration schema, loading, and migration. |
28
+ | `ui/` | The Textual TUI and `app.py`. |
29
+ | `sdk/` | The programmatic multi-agent SDK (see [sdk/README.md](sdk/README.md)). |
30
+
31
+ ## Message flow (one turn)
32
+
33
+ 1. The loop builds the message list (system prompt + history + user input).
34
+ 2. `run_single_turn` calls the model and streams `TextDeltaEvent`s.
35
+ 3. On a tool call, the permission gate runs (if `prompt` mode); the tool executes and emits `ToolStartEvent` / `ToolResultEvent`.
36
+ 4. The tool result is appended and the turn continues until the model stops or a stop reason is hit.
37
+ 5. Between turns, compaction and goal evaluation may run; lifecycle events fire through the extension bus.
38
+
39
+ ## Context management
40
+
41
+ - The system prompt is intentionally lean (base + tool guidelines + env block). See [README](../README.md) for token figures.
42
+ - `compaction` summarizes old turns when context exceeds `compaction.threshold_percent`.
43
+ - `git_context` optionally attaches a `git status`/`git diff` snapshot at startup.
44
+
45
+ ## Sub-agents
46
+
47
+ The `task` tool (`src/vtx/tools/task.py`) dispatches isolated sub-agent sessions with their own tool surface. Built-in presets (`general-purpose`, `Explore`, `Plan`) are configured under `task.subagent_presets`. See [tools.md](tools.md).