droidrun 0.5.0.dev5__tar.gz → 0.5.0.dev6__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 (245) hide show
  1. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/PKG-INFO +1 -1
  2. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/codeact/tools_agent.py +5 -1
  3. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/droid/droid_agent.py +18 -7
  4. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/manager/manager_agent.py +5 -1
  5. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/pyproject.toml +1 -1
  6. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/uv.lock +1 -1
  7. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.dockerignore +0 -0
  8. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/black.yml +0 -0
  9. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/bounty.yml +0 -0
  10. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/claude-code-review.yml +0 -0
  11. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/claude.yml +0 -0
  12. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/docker.yml +0 -0
  13. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.github/workflows/publish.yml +0 -0
  14. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.gitignore +0 -0
  15. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/.python-version +0 -0
  16. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/CHANGELOG.md +0 -0
  17. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/CONTRIBUTING.md +0 -0
  18. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/Dockerfile +0 -0
  19. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/LICENSE +0 -0
  20. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/MANIFEST.in +0 -0
  21. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/README.md +0 -0
  22. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/SKILL.md +0 -0
  23. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/ favicon.svg +0 -0
  24. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/custom.css +0 -0
  25. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/docs.json +0 -0
  26. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/favicon-dark.png +0 -0
  27. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/favicon.png +0 -0
  28. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/logo/dark.png +0 -0
  29. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/logo/light.png +0 -0
  30. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/concepts/agent.mdx +0 -0
  31. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/concepts/android-tools.mdx +0 -0
  32. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/concepts/models.mdx +0 -0
  33. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/concepts/portal-app.mdx +0 -0
  34. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/cli.mdx +0 -0
  35. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/gemini.mdx +0 -0
  36. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/ollama.mdx +0 -0
  37. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/openailike.mdx +0 -0
  38. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/overview.mdx +0 -0
  39. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/guides/telemetry.mdx +0 -0
  40. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/images/portal_apk.png +0 -0
  41. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/overview.mdx +0 -0
  42. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v3/quickstart.mdx +0 -0
  43. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/concepts/architecture.mdx +0 -0
  44. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/concepts/events-and-workflows.mdx +0 -0
  45. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/concepts/prompts.mdx +0 -0
  46. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/concepts/scripter-agent.mdx +0 -0
  47. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/concepts/shared-state.mdx +0 -0
  48. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/app-cards.mdx +0 -0
  49. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/credentials.mdx +0 -0
  50. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/custom-tools.mdx +0 -0
  51. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/custom-variables.mdx +0 -0
  52. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/structured-output.mdx +0 -0
  53. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/telemetry.mdx +0 -0
  54. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/features/tracing.mdx +0 -0
  55. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/guides/cli.mdx +0 -0
  56. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/guides/device-setup.mdx +0 -0
  57. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/guides/docker.mdx +0 -0
  58. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/guides/migration-v3-to-v4.mdx +0 -0
  59. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/guides/overview.mdx +0 -0
  60. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/overview.mdx +0 -0
  61. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/quickstart.mdx +0 -0
  62. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/adb-tools.mdx +0 -0
  63. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/base-tools.mdx +0 -0
  64. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/configuration.mdx +0 -0
  65. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/droid-agent.mdx +0 -0
  66. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/ios-tools.mdx +0 -0
  67. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v4/sdk/reference.mdx +0 -0
  68. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/concepts/architecture.mdx +0 -0
  69. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/concepts/events-and-workflows.mdx +0 -0
  70. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/concepts/prompts.mdx +0 -0
  71. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/concepts/scripter-agent.mdx +0 -0
  72. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/concepts/shared-state.mdx +0 -0
  73. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/app-cards.mdx +0 -0
  74. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/credentials.mdx +0 -0
  75. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/custom-tools.mdx +0 -0
  76. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/custom-variables.mdx +0 -0
  77. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/structured-output.mdx +0 -0
  78. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/telemetry.mdx +0 -0
  79. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/features/tracing.mdx +0 -0
  80. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/guides/cli.mdx +0 -0
  81. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/guides/device-setup.mdx +0 -0
  82. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/guides/docker.mdx +0 -0
  83. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/guides/overview.mdx +0 -0
  84. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/overview.mdx +0 -0
  85. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/quickstart.mdx +0 -0
  86. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/adb-tools.mdx +0 -0
  87. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/base-tools.mdx +0 -0
  88. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/configuration.mdx +0 -0
  89. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/droid-agent.mdx +0 -0
  90. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/ios-tools.mdx +0 -0
  91. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/docs/v5/sdk/reference.mdx +0 -0
  92. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/__init__.py +0 -0
  93. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/__main__.py +0 -0
  94. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/__init__.py +0 -0
  95. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/action_context.py +0 -0
  96. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/action_result.py +0 -0
  97. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/codeact/__init__.py +0 -0
  98. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/codeact/codeact_agent.py +0 -0
  99. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/codeact/events.py +0 -0
  100. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/codeact/xml_parser.py +0 -0
  101. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/common/__init__.py +0 -0
  102. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/common/constants.py +0 -0
  103. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/common/events.py +0 -0
  104. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/droid/__init__.py +0 -0
  105. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/droid/events.py +0 -0
  106. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/droid/state.py +0 -0
  107. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/executor/__init__.py +0 -0
  108. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/executor/events.py +0 -0
  109. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/executor/executor_agent.py +0 -0
  110. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/executor/prompts.py +0 -0
  111. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/external/__init__.py +0 -0
  112. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/external/autoglm.py +0 -0
  113. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/external/mai_ui.py +0 -0
  114. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/manager/__init__.py +0 -0
  115. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/manager/events.py +0 -0
  116. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/manager/prompts.py +0 -0
  117. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/manager/stateless_manager_agent.py +0 -0
  118. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/oneflows/__init__.py +0 -0
  119. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/oneflows/app_starter_workflow.py +0 -0
  120. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/oneflows/structured_output_agent.py +0 -0
  121. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/oneflows/text_manipulator.py +0 -0
  122. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/scripter/__init__.py +0 -0
  123. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/scripter/events.py +0 -0
  124. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/scripter/scripter_agent.py +0 -0
  125. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/tool_registry.py +0 -0
  126. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/trajectory/__init__.py +0 -0
  127. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/trajectory/writer.py +0 -0
  128. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/usage.py +0 -0
  129. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/__init__.py +0 -0
  130. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/actions.py +0 -0
  131. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/chat_utils.py +0 -0
  132. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/code_checker.py +0 -0
  133. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/executer.py +0 -0
  134. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/inference.py +0 -0
  135. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/llm_loader.py +0 -0
  136. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/llm_picker.py +0 -0
  137. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/prompt_resolver.py +0 -0
  138. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/signatures.py +0 -0
  139. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/tracing_setup.py +0 -0
  140. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/agent/utils/trajectory.py +0 -0
  141. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/__init__.py +0 -0
  142. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/app_card_provider.py +0 -0
  143. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/providers/__init__.py +0 -0
  144. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/providers/composite_provider.py +0 -0
  145. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/providers/local_provider.py +0 -0
  146. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/app_cards/providers/server_provider.py +0 -0
  147. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/__init__.py +0 -0
  148. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/doctor.py +0 -0
  149. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/event_handler.py +0 -0
  150. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/logs.py +0 -0
  151. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/main.py +0 -0
  152. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/__init__.py +0 -0
  153. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/app.py +0 -0
  154. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/commands.py +0 -0
  155. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/css/advanced_tab.tcss +0 -0
  156. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/css/app.tcss +0 -0
  157. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/css/models_tab.tcss +0 -0
  158. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/css/settings_screen.tcss +0 -0
  159. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/__init__.py +0 -0
  160. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/advanced_tab.py +0 -0
  161. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/agent_tab.py +0 -0
  162. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/data.py +0 -0
  163. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/models_tab.py +0 -0
  164. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/section.py +0 -0
  165. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/settings/settings_screen.py +0 -0
  166. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/__init__.py +0 -0
  167. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/command_dropdown.py +0 -0
  168. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/device_picker.py +0 -0
  169. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/input_bar.py +0 -0
  170. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/log_view.py +0 -0
  171. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/cli/tui/widgets/status_bar.py +0 -0
  172. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/app_cards/README.md +0 -0
  173. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/app_cards/app_cards.json +0 -0
  174. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/app_cards/gmail.md +0 -0
  175. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/credentials_example.yaml +0 -0
  176. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/codeact/system.jinja2 +0 -0
  177. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/codeact/tools_system.jinja2 +0 -0
  178. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/codeact/tools_user.jinja2 +0 -0
  179. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/codeact/user.jinja2 +0 -0
  180. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/executor/rev1.jinja2 +0 -0
  181. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/executor/system.jinja2 +0 -0
  182. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/manager/rev1.jinja2 +0 -0
  183. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/manager/stateless.jinja2 +0 -0
  184. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/manager/system.jinja2 +0 -0
  185. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/manager/trained.jinja2 +0 -0
  186. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config/prompts/scripter/system.jinja2 +0 -0
  187. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_example.yaml +0 -0
  188. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/__init__.py +0 -0
  189. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/config_manager.py +0 -0
  190. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/env_keys.py +0 -0
  191. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/loader.py +0 -0
  192. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/migrations/__init__.py +0 -0
  193. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/migrations/v002_add_code_exec.py +0 -0
  194. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/path_resolver.py +0 -0
  195. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/prompt_loader.py +0 -0
  196. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/config_manager/safe_execution.py +0 -0
  197. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/credential_manager/__init__.py +0 -0
  198. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/credential_manager/credential_manager.py +0 -0
  199. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/credential_manager/file_credential_manager.py +0 -0
  200. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/log_handlers.py +0 -0
  201. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/macro/__init__.py +0 -0
  202. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/macro/__main__.py +0 -0
  203. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/macro/cli.py +0 -0
  204. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/macro/replay.py +0 -0
  205. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/mcp/__init__.py +0 -0
  206. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/mcp/adapter.py +0 -0
  207. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/mcp/client.py +0 -0
  208. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/mcp/config.py +0 -0
  209. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/portal.py +0 -0
  210. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/telemetry/__init__.py +0 -0
  211. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/telemetry/events.py +0 -0
  212. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/telemetry/langfuse_processor.py +0 -0
  213. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/telemetry/phoenix.py +0 -0
  214. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/telemetry/tracker.py +0 -0
  215. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/__init__.py +0 -0
  216. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/android/__init__.py +0 -0
  217. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/android/portal_client.py +0 -0
  218. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/__init__.py +0 -0
  219. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/android.py +0 -0
  220. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/base.py +0 -0
  221. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/cloud.py +0 -0
  222. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/ios.py +0 -0
  223. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/recording.py +0 -0
  224. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/driver/stealth.py +0 -0
  225. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/filters/__init__.py +0 -0
  226. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/filters/base.py +0 -0
  227. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/filters/concise_filter.py +0 -0
  228. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/filters/detailed_filter.py +0 -0
  229. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/formatters/__init__.py +0 -0
  230. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/formatters/base.py +0 -0
  231. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/formatters/indexed_formatter.py +0 -0
  232. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/helpers/__init__.py +0 -0
  233. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/helpers/coordinate.py +0 -0
  234. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/helpers/element_search.py +0 -0
  235. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/helpers/geometry.py +0 -0
  236. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ios/__init__.py +0 -0
  237. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ui/__init__.py +0 -0
  238. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ui/ios_provider.py +0 -0
  239. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ui/provider.py +0 -0
  240. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ui/state.py +0 -0
  241. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/droidrun/tools/ui/stealth_state.py +0 -0
  242. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/gen-docs-sdk-ref.sh +0 -0
  243. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/setup.py +0 -0
  244. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/static/droidrun-dark.png +0 -0
  245. {droidrun-0.5.0.dev5 → droidrun-0.5.0.dev6}/static/droidrun.png +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: droidrun
3
- Version: 0.5.0.dev5
3
+ Version: 0.5.0.dev6
4
4
  Summary: A framework for controlling Android devices through LLM agents
5
5
  Project-URL: Homepage, https://github.com/droidrun/droidrun
6
6
  Project-URL: Bug Tracker, https://github.com/droidrun/droidrun/issues
@@ -10,6 +10,7 @@ compatibility with DroidAgent's execute_task() method.
10
10
 
11
11
  import asyncio
12
12
  import logging
13
+ import os
13
14
  from typing import TYPE_CHECKING, Optional, Type
14
15
 
15
16
  from llama_index.core.llms.llm import LLM
@@ -88,6 +89,9 @@ class FastAgent(Workflow):
88
89
  self.action_ctx = action_ctx
89
90
  self.state_provider = state_provider
90
91
  self.save_trajectory = save_trajectory
92
+ self._stream_screenshots = os.environ.get(
93
+ "DROIDRUN_STREAM_SCREENSHOTS", ""
94
+ ).lower() in ("1", "true")
91
95
  self.shared_state = shared_state
92
96
  self.output_model = output_model
93
97
  self.prompt_resolver = prompt_resolver or PromptResolver()
@@ -218,7 +222,7 @@ class FastAgent(Workflow):
218
222
 
219
223
  # Capture screenshot if needed
220
224
  screenshot = None
221
- if self.vision or self.save_trajectory != "none":
225
+ if self.vision or self._stream_screenshots or self.save_trajectory != "none":
222
226
  try:
223
227
  screenshot = await self.action_ctx.driver.screenshot()
224
228
 
@@ -8,6 +8,7 @@ Architecture:
8
8
  """
9
9
 
10
10
  import logging
11
+ import os
11
12
  import traceback
12
13
  from typing import TYPE_CHECKING, Awaitable, Type, Union
13
14
 
@@ -208,6 +209,10 @@ class DroidAgent(Workflow):
208
209
  # Check if using external agent - skip LLM loading
209
210
  self._using_external_agent = self.config.agent.name != "droidrun"
210
211
 
212
+ self._stream_screenshots = os.environ.get(
213
+ "DROIDRUN_STREAM_SCREENSHOTS", ""
214
+ ).lower() in ("1", "true")
215
+
211
216
  self.timeout = timeout
212
217
 
213
218
  # Store user custom tools
@@ -1039,17 +1044,21 @@ class DroidAgent(Workflow):
1039
1044
  if self.config.logging.debug:
1040
1045
  logger.error(traceback.format_exc())
1041
1046
 
1042
- # Capture final screenshot before saving trajectory
1043
- if self.config.logging.save_trajectory != "none":
1047
+ # Capture final screenshot (independent of trajectory persistence)
1048
+ vision_any = (
1049
+ self.config.agent.manager.vision
1050
+ or self.config.agent.executor.vision
1051
+ or self.config.agent.fast_agent.vision
1052
+ )
1053
+ if (
1054
+ vision_any
1055
+ or self._stream_screenshots
1056
+ or self.config.logging.save_trajectory != "none"
1057
+ ):
1044
1058
  try:
1045
1059
  screenshot = await self.action_ctx.driver.screenshot()
1046
1060
  if screenshot:
1047
1061
  ctx.write_event_to_stream(ScreenshotEvent(screenshot=screenshot))
1048
- vision_any = (
1049
- self.config.agent.manager.vision
1050
- or self.config.agent.executor.vision
1051
- or self.config.agent.fast_agent.vision
1052
- )
1053
1062
  parent_span = trace.get_current_span()
1054
1063
  record_langfuse_screenshot(
1055
1064
  screenshot,
@@ -1061,6 +1070,8 @@ class DroidAgent(Workflow):
1061
1070
  except Exception as e:
1062
1071
  logger.warning(f"Failed to capture final screenshot: {e}")
1063
1072
 
1073
+ # Save trajectory to disk
1074
+ if self.config.logging.save_trajectory != "none":
1064
1075
  # Populate macro data from RecordingDriver log
1065
1076
  if isinstance(self.driver, RecordingDriver):
1066
1077
  self.trajectory.macro = list(self.driver.log)
@@ -13,6 +13,7 @@ from __future__ import annotations
13
13
  import copy
14
14
  import json
15
15
  import logging
16
+ import os
16
17
  from typing import TYPE_CHECKING, Optional, Type
17
18
 
18
19
  from llama_index.core.llms.llm import LLM
@@ -88,6 +89,9 @@ class ManagerAgent(Workflow):
88
89
  self.action_ctx = action_ctx
89
90
  self.state_provider = state_provider
90
91
  self.save_trajectory = save_trajectory
92
+ self._stream_screenshots = os.environ.get(
93
+ "DROIDRUN_STREAM_SCREENSHOTS", ""
94
+ ).lower() in ("1", "true")
91
95
  self.shared_state = shared_state
92
96
  self.registry = registry
93
97
  self.output_model = output_model
@@ -412,7 +416,7 @@ class ManagerAgent(Workflow):
412
416
 
413
417
  # Capture screenshot if needed
414
418
  screenshot = None
415
- if self.vision or self.save_trajectory != "none":
419
+ if self.vision or self._stream_screenshots or self.save_trajectory != "none":
416
420
  try:
417
421
  screenshot = await self.action_ctx.driver.screenshot()
418
422
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "droidrun"
3
- version = "0.5.0.dev5"
3
+ version = "0.5.0.dev6"
4
4
  description = "A framework for controlling Android devices through LLM agents"
5
5
  authors = [{ name = "Niels Schmidt", email = "niels.schmidt@droidrun.ai" }]
6
6
  dependencies = [
@@ -760,7 +760,7 @@ wheels = [
760
760
 
761
761
  [[package]]
762
762
  name = "droidrun"
763
- version = "0.5.0.dev5"
763
+ version = "0.5.0.dev6"
764
764
  source = { editable = "." }
765
765
  dependencies = [
766
766
  { name = "aiofiles" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes