droidrun 0.4.26__tar.gz → 0.5.0.dev2__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 (270) hide show
  1. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/publish.yml +21 -4
  2. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/PKG-INFO +6 -5
  3. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/README.md +3 -1
  4. droidrun-0.5.0.dev2/SKILL.md +85 -0
  5. droidrun-0.5.0.dev2/docs/docs.json +241 -0
  6. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/architecture.mdx +1 -1
  7. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/events-and-workflows.mdx +2 -2
  8. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/shared-state.mdx +1 -1
  9. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/app-cards.mdx +4 -4
  10. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/credentials.mdx +2 -2
  11. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/custom-tools.mdx +3 -3
  12. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/custom-variables.mdx +3 -3
  13. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/structured-output.mdx +3 -3
  14. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/telemetry.mdx +1 -7
  15. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/tracing.mdx +7 -7
  16. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/cli.mdx +5 -5
  17. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/device-setup.mdx +4 -4
  18. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/docker.mdx +4 -4
  19. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/migration-v3-to-v4.mdx +25 -13
  20. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/overview.mdx +1 -1
  21. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/overview.mdx +9 -9
  22. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/quickstart.mdx +9 -9
  23. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/adb-tools.mdx +3 -3
  24. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/base-tools.mdx +5 -5
  25. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/droid-agent.mdx +1 -1
  26. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/reference.mdx +1 -1
  27. droidrun-0.5.0.dev2/docs/v5/concepts/architecture.mdx +137 -0
  28. droidrun-0.5.0.dev2/docs/v5/concepts/events-and-workflows.mdx +432 -0
  29. droidrun-0.5.0.dev2/docs/v5/concepts/prompts.mdx +325 -0
  30. droidrun-0.5.0.dev2/docs/v5/concepts/scripter-agent.mdx +159 -0
  31. droidrun-0.5.0.dev2/docs/v5/concepts/shared-state.mdx +54 -0
  32. droidrun-0.5.0.dev2/docs/v5/features/app-cards.mdx +288 -0
  33. droidrun-0.5.0.dev2/docs/v5/features/credentials.mdx +247 -0
  34. droidrun-0.5.0.dev2/docs/v5/features/custom-tools.mdx +397 -0
  35. droidrun-0.5.0.dev2/docs/v5/features/custom-variables.mdx +202 -0
  36. droidrun-0.5.0.dev2/docs/v5/features/structured-output.mdx +274 -0
  37. droidrun-0.5.0.dev2/docs/v5/features/telemetry.mdx +45 -0
  38. droidrun-0.5.0.dev2/docs/v5/features/tracing.mdx +243 -0
  39. droidrun-0.5.0.dev2/docs/v5/guides/cli.mdx +475 -0
  40. droidrun-0.5.0.dev2/docs/v5/guides/device-setup.mdx +432 -0
  41. droidrun-0.5.0.dev2/docs/v5/guides/docker.mdx +141 -0
  42. droidrun-0.5.0.dev2/docs/v5/guides/overview.mdx +47 -0
  43. droidrun-0.5.0.dev2/docs/v5/overview.mdx +52 -0
  44. droidrun-0.5.0.dev2/docs/v5/quickstart.mdx +173 -0
  45. droidrun-0.5.0.dev2/docs/v5/sdk/adb-tools.mdx +477 -0
  46. droidrun-0.5.0.dev2/docs/v5/sdk/base-tools.mdx +339 -0
  47. droidrun-0.5.0.dev2/docs/v5/sdk/configuration.mdx +705 -0
  48. droidrun-0.5.0.dev2/docs/v5/sdk/droid-agent.mdx +433 -0
  49. droidrun-0.5.0.dev2/docs/v5/sdk/ios-tools.mdx +452 -0
  50. droidrun-0.5.0.dev2/docs/v5/sdk/reference.mdx +49 -0
  51. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/__init__.py +7 -15
  52. droidrun-0.5.0.dev2/droidrun/agent/action_context.py +38 -0
  53. droidrun-0.5.0.dev2/droidrun/agent/action_result.py +16 -0
  54. droidrun-0.5.0.dev2/droidrun/agent/codeact/__init__.py +4 -0
  55. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/codeact/codeact_agent.py +73 -87
  56. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/codeact/events.py +39 -0
  57. droidrun-0.5.0.dev2/droidrun/agent/codeact/tools_agent.py +483 -0
  58. droidrun-0.5.0.dev2/droidrun/agent/codeact/xml_parser.py +187 -0
  59. droidrun-0.5.0.dev2/droidrun/agent/common/events.py +11 -0
  60. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/droid_agent.py +353 -353
  61. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/events.py +3 -3
  62. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/state.py +53 -14
  63. droidrun-0.5.0.dev2/droidrun/agent/executor/executor_agent.py +276 -0
  64. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/manager_agent.py +50 -47
  65. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/stateless_manager_agent.py +36 -37
  66. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/app_starter_workflow.py +20 -12
  67. droidrun-0.5.0.dev2/droidrun/agent/tool_registry.py +229 -0
  68. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/trajectory/writer.py +1 -11
  69. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/__init__.py +2 -8
  70. droidrun-0.5.0.dev2/droidrun/agent/utils/actions.py +272 -0
  71. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/llm_loader.py +5 -5
  72. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/prompt_resolver.py +6 -6
  73. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/signatures.py +50 -80
  74. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/trajectory.py +4 -4
  75. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/event_handler.py +48 -17
  76. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/main.py +7 -7
  77. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/agent_tab.py +3 -3
  78. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/data.py +13 -11
  79. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/settings_screen.py +1 -1
  80. droidrun-0.5.0.dev2/droidrun/config/prompts/codeact/tools_system.jinja2 +144 -0
  81. droidrun-0.5.0.dev2/droidrun/config/prompts/codeact/tools_user.jinja2 +5 -0
  82. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/executor/rev1.jinja2 +2 -2
  83. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/executor/system.jinja2 +3 -3
  84. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_example.yaml +15 -7
  85. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/__init__.py +2 -2
  86. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/config_manager.py +16 -13
  87. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/migrations/__init__.py +1 -1
  88. droidrun-0.5.0.dev2/droidrun/config_manager/migrations/v002_add_code_exec.py +43 -0
  89. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/replay.py +26 -36
  90. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/adapter.py +22 -13
  91. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/portal.py +3 -3
  92. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/langfuse_processor.py +34 -17
  93. droidrun-0.5.0.dev2/droidrun/tools/__init__.py +17 -0
  94. droidrun-0.5.0.dev2/droidrun/tools/android/__init__.py +5 -0
  95. droidrun-0.5.0.dev2/droidrun/tools/driver/__init__.py +17 -0
  96. droidrun-0.5.0.dev2/droidrun/tools/driver/android.py +178 -0
  97. droidrun-0.5.0.dev2/droidrun/tools/driver/base.py +107 -0
  98. droidrun-0.5.0.dev2/droidrun/tools/driver/cloud.py +213 -0
  99. droidrun-0.5.0.dev2/droidrun/tools/driver/ios.py +200 -0
  100. droidrun-0.5.0.dev2/droidrun/tools/driver/recording.py +98 -0
  101. droidrun-0.5.0.dev2/droidrun/tools/driver/stealth.py +172 -0
  102. droidrun-0.5.0.dev2/droidrun/tools/ios/__init__.py +5 -0
  103. droidrun-0.5.0.dev2/droidrun/tools/ui/__init__.py +14 -0
  104. droidrun-0.5.0.dev2/droidrun/tools/ui/ios_provider.py +207 -0
  105. droidrun-0.5.0.dev2/droidrun/tools/ui/provider.py +118 -0
  106. droidrun-0.5.0.dev2/droidrun/tools/ui/state.py +168 -0
  107. droidrun-0.5.0.dev2/droidrun/tools/ui/stealth_state.py +104 -0
  108. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/gen-docs-sdk-ref.sh +1 -1
  109. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/pyproject.toml +3 -8
  110. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/uv.lock +240 -789
  111. droidrun-0.4.26/docs/docs.json +0 -118
  112. droidrun-0.4.26/docs/v1/concepts/agent.mdx +0 -141
  113. droidrun-0.4.26/docs/v1/concepts/android-control.mdx +0 -210
  114. droidrun-0.4.26/docs/v1/concepts/portal-app.mdx +0 -59
  115. droidrun-0.4.26/docs/v1/overview.mdx +0 -98
  116. droidrun-0.4.26/docs/v1/quickstart.mdx +0 -293
  117. droidrun-0.4.26/docs/v2/concepts/agent.mdx +0 -229
  118. droidrun-0.4.26/docs/v2/concepts/android-control.mdx +0 -235
  119. droidrun-0.4.26/docs/v2/concepts/planning.mdx +0 -140
  120. droidrun-0.4.26/docs/v2/concepts/portal-app.mdx +0 -59
  121. droidrun-0.4.26/docs/v2/concepts/tracing.mdx +0 -163
  122. droidrun-0.4.26/docs/v2/overview.mdx +0 -116
  123. droidrun-0.4.26/docs/v2/quickstart.mdx +0 -371
  124. droidrun-0.4.26/droidrun/agent/codeact/__init__.py +0 -3
  125. droidrun-0.4.26/droidrun/agent/common/events.py +0 -74
  126. droidrun-0.4.26/droidrun/agent/executor/executor_agent.py +0 -499
  127. droidrun-0.4.26/droidrun/agent/utils/actions.py +0 -184
  128. droidrun-0.4.26/droidrun/agent/utils/tools.py +0 -117
  129. droidrun-0.4.26/droidrun/tools/__init__.py +0 -25
  130. droidrun-0.4.26/droidrun/tools/android/__init__.py +0 -7
  131. droidrun-0.4.26/droidrun/tools/android/adb.py +0 -992
  132. droidrun-0.4.26/droidrun/tools/android/stealth.py +0 -429
  133. droidrun-0.4.26/droidrun/tools/base.py +0 -229
  134. droidrun-0.4.26/droidrun/tools/cloud/__init__.py +0 -5
  135. droidrun-0.4.26/droidrun/tools/cloud/cloud.py +0 -505
  136. droidrun-0.4.26/droidrun/tools/ios/__init__.py +0 -5
  137. droidrun-0.4.26/droidrun/tools/ios/ios.py +0 -607
  138. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.dockerignore +0 -0
  139. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/black.yml +0 -0
  140. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/bounty.yml +0 -0
  141. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/claude-code-review.yml +0 -0
  142. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/claude.yml +0 -0
  143. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/docker.yml +0 -0
  144. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.gitignore +0 -0
  145. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.python-version +0 -0
  146. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/CHANGELOG.md +0 -0
  147. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/CONTRIBUTING.md +0 -0
  148. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/Dockerfile +0 -0
  149. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/LICENSE +0 -0
  150. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/MANIFEST.in +0 -0
  151. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/custom.css +0 -0
  152. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/favicon.png +0 -0
  153. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/logo/dark.svg +0 -0
  154. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/logo/light.svg +0 -0
  155. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/agent.mdx +0 -0
  156. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/android-tools.mdx +0 -0
  157. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/models.mdx +0 -0
  158. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/portal-app.mdx +0 -0
  159. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/cli.mdx +0 -0
  160. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/gemini.mdx +0 -0
  161. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/ollama.mdx +0 -0
  162. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/openailike.mdx +0 -0
  163. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/overview.mdx +0 -0
  164. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/telemetry.mdx +0 -0
  165. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/images/portal_apk.png +0 -0
  166. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/overview.mdx +0 -0
  167. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/quickstart.mdx +0 -0
  168. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/prompts.mdx +0 -0
  169. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/scripter-agent.mdx +0 -0
  170. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/configuration.mdx +0 -0
  171. {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/ios-tools.mdx +0 -0
  172. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/__main__.py +0 -0
  173. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/__init__.py +0 -0
  174. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/common/__init__.py +0 -0
  175. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/common/constants.py +0 -0
  176. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/__init__.py +0 -0
  177. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/__init__.py +0 -0
  178. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/events.py +0 -0
  179. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/prompts.py +0 -0
  180. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/__init__.py +0 -0
  181. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/autoglm.py +0 -0
  182. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/mai_ui.py +0 -0
  183. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/__init__.py +0 -0
  184. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/events.py +0 -0
  185. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/prompts.py +0 -0
  186. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/__init__.py +0 -0
  187. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/structured_output_agent.py +0 -0
  188. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/text_manipulator.py +0 -0
  189. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/__init__.py +0 -0
  190. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/events.py +0 -0
  191. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/scripter_agent.py +0 -0
  192. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/trajectory/__init__.py +0 -0
  193. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/usage.py +0 -0
  194. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/chat_utils.py +0 -0
  195. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/code_checker.py +0 -0
  196. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/executer.py +0 -0
  197. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/inference.py +0 -0
  198. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/llm_picker.py +0 -0
  199. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/tracing_setup.py +0 -0
  200. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/__init__.py +0 -0
  201. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/app_card_provider.py +0 -0
  202. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/__init__.py +0 -0
  203. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/composite_provider.py +0 -0
  204. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/local_provider.py +0 -0
  205. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/server_provider.py +0 -0
  206. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/__init__.py +0 -0
  207. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/doctor.py +0 -0
  208. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/logs.py +0 -0
  209. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/__init__.py +0 -0
  210. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/app.py +0 -0
  211. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/commands.py +0 -0
  212. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/advanced_tab.tcss +0 -0
  213. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/app.tcss +0 -0
  214. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/models_tab.tcss +0 -0
  215. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/settings_screen.tcss +0 -0
  216. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/__init__.py +0 -0
  217. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/advanced_tab.py +0 -0
  218. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/models_tab.py +0 -0
  219. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/section.py +0 -0
  220. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/__init__.py +0 -0
  221. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/command_dropdown.py +0 -0
  222. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/device_picker.py +0 -0
  223. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/input_bar.py +0 -0
  224. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/log_view.py +0 -0
  225. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/status_bar.py +0 -0
  226. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/README.md +0 -0
  227. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/app_cards.json +0 -0
  228. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/gmail.md +0 -0
  229. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/credentials_example.yaml +0 -0
  230. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/codeact/system.jinja2 +0 -0
  231. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/codeact/user.jinja2 +0 -0
  232. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/rev1.jinja2 +0 -0
  233. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/stateless.jinja2 +0 -0
  234. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/system.jinja2 +0 -0
  235. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/trained.jinja2 +0 -0
  236. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/scripter/system.jinja2 +0 -0
  237. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/env_keys.py +0 -0
  238. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/loader.py +0 -0
  239. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/path_resolver.py +0 -0
  240. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/prompt_loader.py +0 -0
  241. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/safe_execution.py +0 -0
  242. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/__init__.py +0 -0
  243. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/credential_manager.py +0 -0
  244. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/file_credential_manager.py +0 -0
  245. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/log_handlers.py +0 -0
  246. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/__init__.py +0 -0
  247. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/__main__.py +0 -0
  248. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/cli.py +0 -0
  249. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/__init__.py +0 -0
  250. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/client.py +0 -0
  251. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/config.py +0 -0
  252. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/__init__.py +0 -0
  253. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/events.py +0 -0
  254. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/phoenix.py +0 -0
  255. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/tracker.py +0 -0
  256. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/android/portal_client.py +0 -0
  257. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/__init__.py +0 -0
  258. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/base.py +0 -0
  259. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/concise_filter.py +0 -0
  260. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/detailed_filter.py +0 -0
  261. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/__init__.py +0 -0
  262. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/base.py +0 -0
  263. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/indexed_formatter.py +0 -0
  264. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/__init__.py +0 -0
  265. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/coordinate.py +0 -0
  266. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/element_search.py +0 -0
  267. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/geometry.py +0 -0
  268. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/setup.py +0 -0
  269. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/static/droidrun-dark.png +0 -0
  270. {droidrun-0.4.26 → droidrun-0.5.0.dev2}/static/droidrun.png +0 -0
@@ -2,8 +2,27 @@ name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI
2
2
  on: push
3
3
 
4
4
  jobs:
5
+ version-check:
6
+ name: Check version matches tag
7
+ if: startsWith(github.ref, 'refs/tags/v')
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: actions/checkout@v4
11
+ - name: Compare tag to pyproject.toml version
12
+ run: |
13
+ TAG="${GITHUB_REF#refs/tags/v}"
14
+ VERSION=$(sed -n 's/^version = "\(.*\)"/\1/p' pyproject.toml)
15
+ if [ "$TAG" != "$VERSION" ]; then
16
+ echo "::error::Tag v$TAG does not match pyproject.toml version $VERSION"
17
+ exit 1
18
+ fi
19
+ echo "Version check passed: v$VERSION"
20
+
5
21
  build:
6
22
  name: Build distribution 📦
23
+ needs:
24
+ - version-check
25
+ if: startsWith(github.ref, 'refs/tags/v')
7
26
  runs-on: ubuntu-latest
8
27
  steps:
9
28
  - uses: actions/checkout@v4
@@ -29,7 +48,6 @@ jobs:
29
48
 
30
49
  publish-to-testpypi:
31
50
  name: Publish Python 🐍 distribution 📦 to TestPyPI
32
- # Only runs on tags
33
51
  if: startsWith(github.ref, 'refs/tags/v')
34
52
  needs:
35
53
  - build
@@ -53,14 +71,13 @@ jobs:
53
71
  publish-to-pypi:
54
72
  name: >-
55
73
  Publish Python 🐍 distribution 📦 to PyPI
56
- # Only runs on production tags (v*)
57
74
  if: startsWith(github.ref, 'refs/tags/v')
58
75
  needs:
59
76
  - build
60
77
  runs-on: ubuntu-latest
61
78
  environment:
62
79
  name: pypi
63
- url: https://pypi.org/p/droidrun
80
+ url: https://pypi.org/p/droidrun
64
81
  permissions:
65
82
  id-token: write
66
83
  steps:
@@ -70,4 +87,4 @@ jobs:
70
87
  name: python-package-distributions
71
88
  path: dist/
72
89
  - name: Publish distribution 📦 to PyPI
73
- uses: pypa/gh-action-pypi-publish@release/v1
90
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: droidrun
3
- Version: 0.4.26
3
+ Version: 0.5.0.dev2
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
@@ -25,7 +25,7 @@ Classifier: Topic :: Software Development :: Testing
25
25
  Classifier: Topic :: Software Development :: Testing :: Acceptance
26
26
  Classifier: Topic :: System :: Emulators
27
27
  Classifier: Topic :: Utilities
28
- Requires-Python: >=3.11
28
+ Requires-Python: <3.14,>=3.11
29
29
  Requires-Dist: aiofiles>=25.1.0
30
30
  Requires-Dist: arize-phoenix>=12.3.0
31
31
  Requires-Dist: async-adbutils
@@ -39,6 +39,7 @@ Requires-Dist: llama-index-llms-openrouter>=0.4.2
39
39
  Requires-Dist: llama-index-workflows==2.8.3
40
40
  Requires-Dist: llama-index==0.14.4
41
41
  Requires-Dist: mcp>=1.26.0
42
+ Requires-Dist: mobilerun-sdk
42
43
  Requires-Dist: posthog>=6.7.6
43
44
  Requires-Dist: pydantic>=2.11.10
44
45
  Requires-Dist: python-dotenv>=1.2.1
@@ -62,8 +63,6 @@ Provides-Extra: langfuse
62
63
  Requires-Dist: langfuse==3.12.1; extra == 'langfuse'
63
64
  Requires-Dist: llama-index-instrumentation; extra == 'langfuse'
64
65
  Requires-Dist: openinference-instrumentation-llama-index>=3.0.0; extra == 'langfuse'
65
- Provides-Extra: mobilerun
66
- Requires-Dist: mobilerun-sdk; extra == 'mobilerun'
67
66
  Description-Content-Type: text/markdown
68
67
 
69
68
  <picture align="center">
@@ -120,8 +119,10 @@ DroidRun is a powerful framework for controlling Android and iOS devices through
120
119
 
121
120
  ## 📦 Installation
122
121
 
122
+ > **Note:** Python 3.14 is not currently supported. Please use Python 3.11 – 3.13.
123
+
123
124
  ```bash
124
- pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
125
+ pip install droidrun
125
126
  ```
126
127
 
127
128
  ## 🚀 Quickstart
@@ -52,8 +52,10 @@ DroidRun is a powerful framework for controlling Android and iOS devices through
52
52
 
53
53
  ## 📦 Installation
54
54
 
55
+ > **Note:** Python 3.14 is not currently supported. Please use Python 3.11 – 3.13.
56
+
55
57
  ```bash
56
- pip install 'droidrun[google,anthropic,openai,deepseek,ollama,dev]'
58
+ pip install droidrun
57
59
  ```
58
60
 
59
61
  ## 🚀 Quickstart
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: droidrun-docs
3
+ description: DroidRun documentation reference. Use when users ask about DroidRun setup, configuration, SDK usage, CLI commands, device setup, agents, architecture, app cards, credentials, tracing, Docker, migration, structured output, or any DroidRun "how do I..." questions.
4
+ ---
5
+
6
+ # DroidRun
7
+
8
+ DroidRun is an open-source (MIT) framework for controlling Android and iOS devices through LLM agents.
9
+ It enables mobile automation using natural language commands.
10
+
11
+ - **GitHub**: https://github.com/droidrun/droidrun
12
+ - **Docs site**: https://docs.droidrun.ai
13
+ - **License**: MIT
14
+ - **Install**: `uv tool install droidrun` (Google Gemini, OpenAI, Ollama, OpenRouter included by default)
15
+ - **Optional extras**: `anthropic`, `deepseek`, `langfuse`
16
+ - **Requires**: Python 3.11+, ADB, Portal APK on device
17
+
18
+ ## Architecture
19
+
20
+ DroidRun uses a multi-agent architecture coordinated by `DroidAgent`:
21
+
22
+ - **Reasoning mode** (`reasoning=True`): Manager plans → Executor acts → loop until done
23
+ - **Direct mode** (`reasoning=False`): CodeActAgent generates and executes Python code directly
24
+
25
+ Key agents: ManagerAgent (planning), ExecutorAgent (actions), CodeActAgent (direct execution),
26
+ ScripterAgent (off-device computation), StructuredOutputAgent (typed data extraction).
27
+
28
+ Atomic actions available to agents: `click`, `long_press`, `type`, `system_button`, `swipe`,
29
+ `open_app`, `get_state`, `take_screenshot`, `remember`, `complete`.
30
+
31
+ ## Repository Structure
32
+
33
+ Source code is at `droidrun/` (Python package). Key locations:
34
+
35
+ | Path | Description |
36
+ |------|-------------|
37
+ | `droidrun/agent/droid/` | DroidAgent orchestrator |
38
+ | `droidrun/agent/codeact/` | CodeActAgent (direct mode) |
39
+ | `droidrun/agent/scripter/` | ScripterAgent (off-device scripts) |
40
+ | `droidrun/agent/oneflows/` | StructuredOutputAgent |
41
+ | `droidrun/agent/utils/` | Tools, executor, tracing, async utils |
42
+ | `droidrun/tools/` | Device tools (ADB, iOS, portal client) |
43
+ | `droidrun/cli/` | CLI entry point (click-based) |
44
+ | `droidrun/config/prompts/` | Jinja2 prompt templates per agent |
45
+ | `droidrun/config/app_cards/` | App-specific instruction cards |
46
+ | `droidrun/credential_manager/` | YAML-based credential storage |
47
+ | `droidrun/telemetry/` | Phoenix tracing integration |
48
+
49
+ ## Documentation
50
+
51
+ Read the relevant file(s) from `docs/v5/` based on the user's question. Do not guess — always
52
+ read the doc before answering.
53
+
54
+ | Topic | File |
55
+ |-------|------|
56
+ | Overview | docs/v5/overview.mdx |
57
+ | Quickstart | docs/v5/quickstart.mdx |
58
+ | **Concepts** | |
59
+ | Architecture & agents | docs/v5/concepts/architecture.mdx |
60
+ | Events & workflows | docs/v5/concepts/events-and-workflows.mdx |
61
+ | Prompts | docs/v5/concepts/prompts.mdx |
62
+ | Scripter agent | docs/v5/concepts/scripter-agent.mdx |
63
+ | Shared state | docs/v5/concepts/shared-state.mdx |
64
+ | **Features** | |
65
+ | App cards | docs/v5/features/app-cards.mdx |
66
+ | Credentials | docs/v5/features/credentials.mdx |
67
+ | Custom tools | docs/v5/features/custom-tools.mdx |
68
+ | Custom variables | docs/v5/features/custom-variables.mdx |
69
+ | Structured output | docs/v5/features/structured-output.mdx |
70
+ | Telemetry | docs/v5/features/telemetry.mdx |
71
+ | Tracing | docs/v5/features/tracing.mdx |
72
+ | **Guides** | |
73
+ | CLI usage | docs/v5/guides/cli.mdx |
74
+ | Device setup | docs/v5/guides/device-setup.mdx |
75
+ | Docker | docs/v5/guides/docker.mdx |
76
+ | Migration v3→v4 | docs/v5/guides/migration-v3-to-v4.mdx |
77
+ | **SDK** | |
78
+ | DroidAgent | docs/v5/sdk/droid-agent.mdx |
79
+ | ADB tools | docs/v5/sdk/adb-tools.mdx |
80
+ | iOS tools | docs/v5/sdk/ios-tools.mdx |
81
+ | Base tools | docs/v5/sdk/base-tools.mdx |
82
+ | Configuration | docs/v5/sdk/configuration.mdx |
83
+ | API reference | docs/v5/sdk/reference.mdx |
84
+
85
+ For deeper implementation details, check the source code directly in `droidrun/`.
@@ -0,0 +1,241 @@
1
+ {
2
+ "$schema": "https://mintlify.com/docs.json",
3
+ "theme": "almond",
4
+ "name": "DroidRun",
5
+ "colors": {
6
+ "primary": "#0D9373",
7
+ "light": "#07C983",
8
+ "dark": "#0D9373"
9
+ },
10
+ "favicon": "/favicon.png",
11
+ "icons": {
12
+ "library": "lucide"
13
+ },
14
+ "styles": [
15
+ "/custom.css"
16
+ ],
17
+ "integrations": {
18
+ "posthog": {
19
+ "apiKey": "phc_3BmiVdnS2Wvlm007eHGZLBPwRFCVVWzIZXbB0u3ZH1d",
20
+ "apiHost": "https://pineapple.droidrun.ai"
21
+ }
22
+ },
23
+ "navigation": {
24
+ "versions": [
25
+ {
26
+ "version": "v4",
27
+ "tabs": [
28
+ {
29
+ "tab": "Docs",
30
+ "icon": "book",
31
+ "groups": [
32
+ {
33
+ "group": "Introduction",
34
+ "pages": [
35
+ "/v4/overview",
36
+ "/v4/quickstart"
37
+ ]
38
+ },
39
+ {
40
+ "group": "Features",
41
+ "pages": [
42
+ "/v4/features/structured-output",
43
+ "/v4/features/credentials",
44
+ "/v4/features/app-cards",
45
+ "/v4/features/custom-tools",
46
+ "/v4/features/custom-variables",
47
+ "/v4/features/tracing",
48
+ "/v4/features/telemetry"
49
+ ]
50
+ },
51
+ {
52
+ "group": "Guides",
53
+ "pages": [
54
+ "/v4/guides/overview",
55
+ "/v4/guides/device-setup",
56
+ "/v4/guides/cli",
57
+ "/v4/guides/docker",
58
+ "/v4/guides/migration-v3-to-v4"
59
+ ]
60
+ },
61
+ {
62
+ "group": "Concepts",
63
+ "pages": [
64
+ "/v4/concepts/architecture",
65
+ "/v4/concepts/scripter-agent",
66
+ "/v4/concepts/shared-state",
67
+ "/v4/concepts/events-and-workflows",
68
+ "/v4/concepts/prompts"
69
+ ]
70
+ },
71
+ {
72
+ "group": "SDK Reference",
73
+ "pages": [
74
+ "/v4/sdk/reference",
75
+ "/v4/sdk/droid-agent",
76
+ "/v4/sdk/adb-tools",
77
+ "/v4/sdk/ios-tools",
78
+ "/v4/sdk/base-tools",
79
+ "/v4/sdk/configuration"
80
+ ]
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "tab": "Cloud",
86
+ "icon": "cloud",
87
+ "href": "https://docs.mobilerun.ai"
88
+ },
89
+ {
90
+ "tab": "GitHub",
91
+ "icon": "github",
92
+ "href": "https://github.com/droidrun/droidrun"
93
+ }
94
+ ]
95
+ },
96
+ {
97
+ "version": "v5",
98
+ "tabs": [
99
+ {
100
+ "tab": "Docs",
101
+ "icon": "book",
102
+ "groups": [
103
+ {
104
+ "group": "Introduction",
105
+ "pages": [
106
+ "/v5/overview",
107
+ "/v5/quickstart"
108
+ ]
109
+ },
110
+ {
111
+ "group": "Features",
112
+ "pages": [
113
+ "/v5/features/structured-output",
114
+ "/v5/features/credentials",
115
+ "/v5/features/app-cards",
116
+ "/v5/features/custom-tools",
117
+ "/v5/features/custom-variables",
118
+ "/v5/features/tracing",
119
+ "/v5/features/telemetry"
120
+ ]
121
+ },
122
+ {
123
+ "group": "Guides",
124
+ "pages": [
125
+ "/v5/guides/overview",
126
+ "/v5/guides/device-setup",
127
+ "/v5/guides/cli",
128
+ "/v5/guides/docker"
129
+ ]
130
+ },
131
+ {
132
+ "group": "Concepts",
133
+ "pages": [
134
+ "/v5/concepts/architecture",
135
+ "/v5/concepts/scripter-agent",
136
+ "/v5/concepts/shared-state",
137
+ "/v5/concepts/events-and-workflows",
138
+ "/v5/concepts/prompts"
139
+ ]
140
+ },
141
+ {
142
+ "group": "SDK Reference",
143
+ "pages": [
144
+ "/v5/sdk/reference",
145
+ "/v5/sdk/droid-agent",
146
+ "/v5/sdk/adb-tools",
147
+ "/v5/sdk/ios-tools",
148
+ "/v5/sdk/base-tools",
149
+ "/v5/sdk/configuration"
150
+ ]
151
+ }
152
+ ]
153
+ },
154
+ {
155
+ "tab": "Cloud",
156
+ "icon": "cloud",
157
+ "href": "https://docs.mobilerun.ai"
158
+ },
159
+ {
160
+ "tab": "GitHub",
161
+ "icon": "github",
162
+ "href": "https://github.com/droidrun/droidrun"
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "version": "v3",
168
+ "tabs": [
169
+ {
170
+ "tab": "Docs",
171
+ "icon": "book",
172
+ "groups": [
173
+ {
174
+ "group": "Introduction",
175
+ "pages": [
176
+ "/v3/overview",
177
+ "/v3/quickstart"
178
+ ]
179
+ },
180
+ {
181
+ "group": "Guides",
182
+ "pages": [
183
+ "/v3/guides/overview",
184
+ "/v3/guides/cli",
185
+ "/v3/guides/telemetry",
186
+ "/v3/guides/openailike",
187
+ "/v3/guides/ollama",
188
+ "/v3/guides/gemini"
189
+ ]
190
+ },
191
+ {
192
+ "group": "Concepts",
193
+ "pages": [
194
+ "/v3/concepts/agent",
195
+ "/v3/concepts/portal-app",
196
+ "/v3/concepts/models",
197
+ "/v3/concepts/android-tools"
198
+ ]
199
+ }
200
+ ]
201
+ },
202
+ {
203
+ "tab": "Cloud",
204
+ "icon": "cloud",
205
+ "href": "https://docs.mobilerun.ai"
206
+ },
207
+ {
208
+ "tab": "GitHub",
209
+ "icon": "github",
210
+ "href": "https://github.com/droidrun/droidrun"
211
+ }
212
+ ]
213
+ }
214
+ ]
215
+ },
216
+ "logo": {
217
+ "light": "/logo/light.svg",
218
+ "dark": "/logo/dark.svg",
219
+ "href": "https://droidrun.ai"
220
+ },
221
+ "navbar": {
222
+ "primary": {
223
+ "type": "button",
224
+ "label": "Join Discord",
225
+ "href": "https://discord.gg/gdekvkJFvn"
226
+ }
227
+ },
228
+ "footer": {
229
+ "socials": {
230
+ "github": "https://github.com/droidrun/droidrun",
231
+ "x": "https://x.com/droid_run",
232
+ "discord": "https://discord.gg/gdekvkJFvn",
233
+ "website": "https://droidrun.ai"
234
+ }
235
+ },
236
+ "errors": {
237
+ "404": {
238
+ "redirect": false
239
+ }
240
+ }
241
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: 'Architecture'
3
- description: 'Understanding Droidrun multi-agent system for device automation.'
3
+ description: 'Understanding the Droidrun multi-agent system for device automation.'
4
4
  ---
5
5
 
6
6
  ## What is Droidrun?
@@ -5,9 +5,9 @@ description: "How to consume real-time events from DroidAgent execution."
5
5
 
6
6
  ## Overview
7
7
 
8
- Droidrun provides **real-time event streaming** that gives you visibility into agent execution as it happens. This allows you to build UIs, logging systems, or monitoring tools that react to agent actions in real-time.
8
+ DroidRun provides **real-time event streaming** that gives you visibility into agent execution as it happens. This allows you to build UIs, logging systems, or monitoring tools that react to agent actions in real-time.
9
9
 
10
- Under the hood, Droidrun uses [llama-index workflows](https://docs.llamaindex.ai/en/stable/understanding/workflows/) - an event-driven orchestration system that powers the agent architecture.
10
+ Under the hood, DroidRun uses [llama-index workflows](https://docs.llamaindex.ai/en/stable/understanding/workflows/) - an event-driven orchestration system that powers the agent architecture.
11
11
 
12
12
  ## Basic Usage
13
13
 
@@ -5,7 +5,7 @@ description: 'DroidAgentState - the coordination mechanism for multi-agent workf
5
5
 
6
6
  ## What is Shared State?
7
7
 
8
- **DroidAgentState** is a Pydantic model that serves as the **central coordination mechanism** for Droidrun's multi-agent workflow. It's a shared data structure that all agents (Manager, Executor, CodeAct, Scripter) can read from and write to.
8
+ **DroidAgentState** is a Pydantic model that serves as the **central coordination mechanism** for DroidRun's multi-agent workflow. It's a shared data structure that all agents (Manager, Executor, CodeAct, Scripter) can read from and write to.
9
9
 
10
10
  Shared state enables:
11
11
  - **Cross-agent communication**: Agents share information about actions, results, and errors
@@ -278,10 +278,10 @@ Loaded app card for com.google.android.gm from config/app_cards/gmail.md
278
278
 
279
279
  ## Related Documentation
280
280
 
281
- - [CLI Usage](/guides/cli) - Droidrun CLI command reference
282
- - [Configuration](/sdk/configuration) - Configuration system details
283
- - [Agent Architecture](/concepts/architecture) - How agents work
284
- - [Manager Agent](/sdk/droid-agent#manager-agent) - Agent that uses app cards
281
+ - [CLI Usage](/v4/guides/cli) - Droidrun CLI command reference
282
+ - [Configuration](/v4/sdk/configuration) - Configuration system details
283
+ - [Agent Architecture](/v4/concepts/architecture) - How agents work
284
+ - [Manager Agent](/v4/concepts/architecture#manageragent-planner) - Agent that uses app cards
285
285
 
286
286
  ---
287
287
 
@@ -239,6 +239,6 @@ Implement any custom secret storage backend.
239
239
 
240
240
  ## Related
241
241
 
242
- See [Configuration Guide](/sdk/configuration) for credential setup.
242
+ See [Configuration Guide](/v4/sdk/configuration) for credential setup.
243
243
 
244
- See [Custom Variables](/features/custom-variables) for non-sensitive data.
244
+ See [Custom Variables](/v4/features/custom-variables) for non-sensitive data.
@@ -331,7 +331,7 @@ Combining tools instance, shared state, and credentials:
331
331
  ```python
332
332
  import requests
333
333
 
334
- def send_authenticated_request(
334
+ async def send_authenticated_request(
335
335
  url: str,
336
336
  data: str,
337
337
  *,
@@ -339,7 +339,7 @@ def send_authenticated_request(
339
339
  shared_state=None,
340
340
  **kwargs
341
341
  ) -> str:
342
- """Send authenticated API request with credential."""
342
+ """Send authenticated API request with credentials."""
343
343
  try:
344
344
  # Access credentials via tools instance
345
345
  if not tools or not hasattr(tools, 'credential_manager'):
@@ -383,4 +383,4 @@ agent = DroidAgent(
383
383
 
384
384
  ## Related
385
385
 
386
- See [Agent Architecture](/concepts/architecture) for understanding shared state and custom tools integration.
386
+ See [Agent Architecture](/v4/concepts/architecture) for understanding shared state and custom tools integration.
@@ -199,6 +199,6 @@ agent = DroidAgent(
199
199
 
200
200
  ## Related Documentation
201
201
 
202
- - [Custom Prompts](/concepts/prompts) - How to customize agent prompts
203
- - [Custom Tools](/features/custom-tools) - Creating custom tool functions
204
- - [DroidAgent SDK](/sdk/droid-agent) - Complete API reference
202
+ - [Custom Prompts](/v4/concepts/prompts) - How to customize agent prompts
203
+ - [Custom Tools](/v4/features/custom-tools) - Creating custom tool functions
204
+ - [DroidAgent SDK](/v4/sdk/droid-agent) - Complete API reference
@@ -268,7 +268,7 @@ async def finalize(self, ctx: Context, ev: FinalizeEvent) -> ResultEvent:
268
268
 
269
269
  ## Related Documentation
270
270
 
271
- - [DroidAgent API](/sdk/droid-agent)
271
+ - [DroidAgent API](/v4/sdk/droid-agent)
272
272
  - [Pydantic Documentation](https://docs.pydantic.dev/)
273
- - [Configuration Guide](/sdk/configuration)
274
- - [Custom Variables](/features/custom-variables)
273
+ - [Configuration Guide](/v4/sdk/configuration)
274
+ - [Custom Variables](/v4/features/custom-variables)
@@ -2,6 +2,7 @@
2
2
  title: 'Telemetry'
3
3
  description: 'Configure anonymous telemetry'
4
4
  ---
5
+
5
6
  # Why We Need Telemetry
6
7
 
7
8
  Telemetry helps us:
@@ -37,13 +38,6 @@ To re-enable telemetry, set the environment variable to `true`:
37
38
  export DROIDRUN_TELEMETRY_ENABLED=true
38
39
  ```
39
40
 
40
- Or simply remove the variable from your environment to use the default (enabled) behavior.
41
-
42
- ```sh
43
- echo 'export DROIDRUN_TELEMETRY_ENABLED=false' >> ~/.bashrc
44
- source ~/.bashrc
45
- ```
46
-
47
41
  <Note>
48
42
  Telemetry is currently controlled only by the `DROIDRUN_TELEMETRY_ENABLED` environment variable. While a `telemetry.enabled` config option exists in the configuration schema, it is not currently used by the telemetry system.
49
43
  </Note>
@@ -33,7 +33,7 @@ Use tracing to debug agent behavior, monitor token usage, and analyze execution
33
33
 
34
34
  ### Arize Phoenix Tracing
35
35
 
36
- ### Setup
36
+ #### Setup
37
37
 
38
38
  **1. Install Phoenix:**
39
39
 
@@ -86,7 +86,7 @@ Navigate to `http://localhost:6006` to see:
86
86
 
87
87
  For more on using Phoenix, see the [Arize Phoenix documentation](https://docs.arize.com/phoenix).
88
88
 
89
- **Phoenix Configuration**
89
+ #### Phoenix Configuration
90
90
 
91
91
  Set environment variables to customize Phoenix:
92
92
 
@@ -108,7 +108,7 @@ Environment variable names are lowercase: `phoenix_url` and `phoenix_project_nam
108
108
 
109
109
  Langfuse provides LLM observability with features like session tracking, user analytics, and cost monitoring.
110
110
 
111
- **Setup**
111
+ #### Setup
112
112
 
113
113
  **1. Get Langfuse credentials:**
114
114
  - **Cloud**: Sign up at [cloud.langfuse.com](https://cloud.langfuse.com)
@@ -168,7 +168,7 @@ For more on using Langfuse, see the [Langfuse documentation](https://langfuse.co
168
168
 
169
169
  ## Trajectory Recording
170
170
 
171
- Trajectory recording saves screenshots and UI state locally for offline debugging and analysis. Unlike telemetry (sent to PostHog) and tracing (sent to Phoenix), trajectories stay on your machine.
171
+ Trajectory recording saves screenshots and UI state locally for offline debugging and analysis. Unlike telemetry (sent to PostHog) and tracing (sent to Phoenix or Langfuse), trajectories stay on your machine.
172
172
 
173
173
  ### Recording Levels
174
174
 
@@ -238,6 +238,6 @@ Use these files to:
238
238
 
239
239
  ## Related Documentation
240
240
 
241
- - [Configuration System](/sdk/configuration) - Configure tracing and telemetry settings
242
- - [Events and Workflows](/concepts/events-and-workflows) - Build custom monitoring integrations
243
- - [CLI Usage](/guides/cli) - Command-line flags for monitoring
241
+ - [Configuration System](/v4/sdk/configuration) - Configure tracing and telemetry settings
242
+ - [Events and Workflows](/v4/concepts/events-and-workflows) - Build custom monitoring integrations
243
+ - [CLI Usage](/v4/guides/cli) - Command-line flags for monitoring
@@ -394,7 +394,7 @@ adb shell settings put secure enabled_accessibility_services \
394
394
  <Accordion title="LLM provider errors">
395
395
  ```bash
396
396
  # Install provider
397
- uv pip install 'droidrun[google,openai,anthropic]'
397
+ uv pip install 'droidrun[anthropic]'
398
398
 
399
399
  # Check API key
400
400
  echo $GOOGLE_API_KEY
@@ -469,7 +469,7 @@ source ~/.bashrc
469
469
 
470
470
  ## Next Steps
471
471
 
472
- - [Configuration Guide](/sdk/configuration) - Customize behavior
473
- - [Device Setup](/guides/device-setup) - Detailed setup instructions
474
- - [Agent Architecture](/concepts/architecture) - How it works
475
- - [Custom Tools](/features/custom-tools) - Extend functionality
472
+ - [Configuration Guide](/v4/sdk/configuration) - Customize behavior
473
+ - [Device Setup](/v4/guides/device-setup) - Detailed setup instructions
474
+ - [Agent Architecture](/v4/concepts/architecture) - How it works
475
+ - [Custom Tools](/v4/features/custom-tools) - Extend functionality
@@ -431,7 +431,7 @@ Current iOS support has these limitations:
431
431
 
432
432
  ## Next Steps
433
433
 
434
- - Learn about the [Agent System](/concepts/architecture)
435
- - Explore [Configuration Options](/sdk/configuration)
436
- - Try [Custom Tools](/features/custom-tools)
437
- - Implement [Structured Output](/features/structured-output)
434
+ - Learn about the [Agent System](/v4/concepts/architecture)
435
+ - Explore [Configuration Options](/v4/sdk/configuration)
436
+ - Try [Custom Tools](/v4/features/custom-tools)
437
+ - Implement [Structured Output](/v4/features/structured-output)