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.
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/publish.yml +21 -4
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/PKG-INFO +6 -5
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/README.md +3 -1
- droidrun-0.5.0.dev2/SKILL.md +85 -0
- droidrun-0.5.0.dev2/docs/docs.json +241 -0
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/architecture.mdx +1 -1
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/events-and-workflows.mdx +2 -2
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/shared-state.mdx +1 -1
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/app-cards.mdx +4 -4
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/credentials.mdx +2 -2
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/custom-tools.mdx +3 -3
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/custom-variables.mdx +3 -3
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/structured-output.mdx +3 -3
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/telemetry.mdx +1 -7
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/features/tracing.mdx +7 -7
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/cli.mdx +5 -5
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/device-setup.mdx +4 -4
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/docker.mdx +4 -4
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/migration-v3-to-v4.mdx +25 -13
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/guides/overview.mdx +1 -1
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/overview.mdx +9 -9
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/quickstart.mdx +9 -9
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/adb-tools.mdx +3 -3
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/base-tools.mdx +5 -5
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/droid-agent.mdx +1 -1
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/reference.mdx +1 -1
- droidrun-0.5.0.dev2/docs/v5/concepts/architecture.mdx +137 -0
- droidrun-0.5.0.dev2/docs/v5/concepts/events-and-workflows.mdx +432 -0
- droidrun-0.5.0.dev2/docs/v5/concepts/prompts.mdx +325 -0
- droidrun-0.5.0.dev2/docs/v5/concepts/scripter-agent.mdx +159 -0
- droidrun-0.5.0.dev2/docs/v5/concepts/shared-state.mdx +54 -0
- droidrun-0.5.0.dev2/docs/v5/features/app-cards.mdx +288 -0
- droidrun-0.5.0.dev2/docs/v5/features/credentials.mdx +247 -0
- droidrun-0.5.0.dev2/docs/v5/features/custom-tools.mdx +397 -0
- droidrun-0.5.0.dev2/docs/v5/features/custom-variables.mdx +202 -0
- droidrun-0.5.0.dev2/docs/v5/features/structured-output.mdx +274 -0
- droidrun-0.5.0.dev2/docs/v5/features/telemetry.mdx +45 -0
- droidrun-0.5.0.dev2/docs/v5/features/tracing.mdx +243 -0
- droidrun-0.5.0.dev2/docs/v5/guides/cli.mdx +475 -0
- droidrun-0.5.0.dev2/docs/v5/guides/device-setup.mdx +432 -0
- droidrun-0.5.0.dev2/docs/v5/guides/docker.mdx +141 -0
- droidrun-0.5.0.dev2/docs/v5/guides/overview.mdx +47 -0
- droidrun-0.5.0.dev2/docs/v5/overview.mdx +52 -0
- droidrun-0.5.0.dev2/docs/v5/quickstart.mdx +173 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/adb-tools.mdx +477 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/base-tools.mdx +339 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/configuration.mdx +705 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/droid-agent.mdx +433 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/ios-tools.mdx +452 -0
- droidrun-0.5.0.dev2/docs/v5/sdk/reference.mdx +49 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/__init__.py +7 -15
- droidrun-0.5.0.dev2/droidrun/agent/action_context.py +38 -0
- droidrun-0.5.0.dev2/droidrun/agent/action_result.py +16 -0
- droidrun-0.5.0.dev2/droidrun/agent/codeact/__init__.py +4 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/codeact/codeact_agent.py +73 -87
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/codeact/events.py +39 -0
- droidrun-0.5.0.dev2/droidrun/agent/codeact/tools_agent.py +483 -0
- droidrun-0.5.0.dev2/droidrun/agent/codeact/xml_parser.py +187 -0
- droidrun-0.5.0.dev2/droidrun/agent/common/events.py +11 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/droid_agent.py +353 -353
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/events.py +3 -3
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/state.py +53 -14
- droidrun-0.5.0.dev2/droidrun/agent/executor/executor_agent.py +276 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/manager_agent.py +50 -47
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/stateless_manager_agent.py +36 -37
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/app_starter_workflow.py +20 -12
- droidrun-0.5.0.dev2/droidrun/agent/tool_registry.py +229 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/trajectory/writer.py +1 -11
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/__init__.py +2 -8
- droidrun-0.5.0.dev2/droidrun/agent/utils/actions.py +272 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/llm_loader.py +5 -5
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/prompt_resolver.py +6 -6
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/signatures.py +50 -80
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/trajectory.py +4 -4
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/event_handler.py +48 -17
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/main.py +7 -7
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/agent_tab.py +3 -3
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/data.py +13 -11
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/settings_screen.py +1 -1
- droidrun-0.5.0.dev2/droidrun/config/prompts/codeact/tools_system.jinja2 +144 -0
- droidrun-0.5.0.dev2/droidrun/config/prompts/codeact/tools_user.jinja2 +5 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/executor/rev1.jinja2 +2 -2
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/executor/system.jinja2 +3 -3
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_example.yaml +15 -7
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/__init__.py +2 -2
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/config_manager.py +16 -13
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/migrations/__init__.py +1 -1
- droidrun-0.5.0.dev2/droidrun/config_manager/migrations/v002_add_code_exec.py +43 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/replay.py +26 -36
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/adapter.py +22 -13
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/portal.py +3 -3
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/langfuse_processor.py +34 -17
- droidrun-0.5.0.dev2/droidrun/tools/__init__.py +17 -0
- droidrun-0.5.0.dev2/droidrun/tools/android/__init__.py +5 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/__init__.py +17 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/android.py +178 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/base.py +107 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/cloud.py +213 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/ios.py +200 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/recording.py +98 -0
- droidrun-0.5.0.dev2/droidrun/tools/driver/stealth.py +172 -0
- droidrun-0.5.0.dev2/droidrun/tools/ios/__init__.py +5 -0
- droidrun-0.5.0.dev2/droidrun/tools/ui/__init__.py +14 -0
- droidrun-0.5.0.dev2/droidrun/tools/ui/ios_provider.py +207 -0
- droidrun-0.5.0.dev2/droidrun/tools/ui/provider.py +118 -0
- droidrun-0.5.0.dev2/droidrun/tools/ui/state.py +168 -0
- droidrun-0.5.0.dev2/droidrun/tools/ui/stealth_state.py +104 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/gen-docs-sdk-ref.sh +1 -1
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/pyproject.toml +3 -8
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/uv.lock +240 -789
- droidrun-0.4.26/docs/docs.json +0 -118
- droidrun-0.4.26/docs/v1/concepts/agent.mdx +0 -141
- droidrun-0.4.26/docs/v1/concepts/android-control.mdx +0 -210
- droidrun-0.4.26/docs/v1/concepts/portal-app.mdx +0 -59
- droidrun-0.4.26/docs/v1/overview.mdx +0 -98
- droidrun-0.4.26/docs/v1/quickstart.mdx +0 -293
- droidrun-0.4.26/docs/v2/concepts/agent.mdx +0 -229
- droidrun-0.4.26/docs/v2/concepts/android-control.mdx +0 -235
- droidrun-0.4.26/docs/v2/concepts/planning.mdx +0 -140
- droidrun-0.4.26/docs/v2/concepts/portal-app.mdx +0 -59
- droidrun-0.4.26/docs/v2/concepts/tracing.mdx +0 -163
- droidrun-0.4.26/docs/v2/overview.mdx +0 -116
- droidrun-0.4.26/docs/v2/quickstart.mdx +0 -371
- droidrun-0.4.26/droidrun/agent/codeact/__init__.py +0 -3
- droidrun-0.4.26/droidrun/agent/common/events.py +0 -74
- droidrun-0.4.26/droidrun/agent/executor/executor_agent.py +0 -499
- droidrun-0.4.26/droidrun/agent/utils/actions.py +0 -184
- droidrun-0.4.26/droidrun/agent/utils/tools.py +0 -117
- droidrun-0.4.26/droidrun/tools/__init__.py +0 -25
- droidrun-0.4.26/droidrun/tools/android/__init__.py +0 -7
- droidrun-0.4.26/droidrun/tools/android/adb.py +0 -992
- droidrun-0.4.26/droidrun/tools/android/stealth.py +0 -429
- droidrun-0.4.26/droidrun/tools/base.py +0 -229
- droidrun-0.4.26/droidrun/tools/cloud/__init__.py +0 -5
- droidrun-0.4.26/droidrun/tools/cloud/cloud.py +0 -505
- droidrun-0.4.26/droidrun/tools/ios/__init__.py +0 -5
- droidrun-0.4.26/droidrun/tools/ios/ios.py +0 -607
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.dockerignore +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/black.yml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/bounty.yml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/claude-code-review.yml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/claude.yml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.github/workflows/docker.yml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.gitignore +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/.python-version +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/CHANGELOG.md +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/CONTRIBUTING.md +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/Dockerfile +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/LICENSE +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/MANIFEST.in +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/custom.css +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/favicon.png +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/logo/dark.svg +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/logo/light.svg +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/agent.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/android-tools.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/models.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/concepts/portal-app.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/cli.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/gemini.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/ollama.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/openailike.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/overview.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/guides/telemetry.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/images/portal_apk.png +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/overview.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/docs/v3/quickstart.mdx +0 -0
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/prompts.mdx +0 -0
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/concepts/scripter-agent.mdx +0 -0
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/configuration.mdx +0 -0
- {droidrun-0.4.26/docs → droidrun-0.5.0.dev2/docs/v4}/sdk/ios-tools.mdx +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/__main__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/common/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/common/constants.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/droid/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/events.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/executor/prompts.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/autoglm.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/external/mai_ui.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/events.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/manager/prompts.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/structured_output_agent.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/oneflows/text_manipulator.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/events.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/scripter/scripter_agent.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/trajectory/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/usage.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/chat_utils.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/code_checker.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/executer.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/inference.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/llm_picker.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/agent/utils/tracing_setup.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/app_card_provider.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/composite_provider.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/local_provider.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/app_cards/providers/server_provider.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/doctor.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/logs.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/app.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/commands.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/advanced_tab.tcss +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/app.tcss +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/models_tab.tcss +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/css/settings_screen.tcss +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/advanced_tab.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/models_tab.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/settings/section.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/command_dropdown.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/device_picker.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/input_bar.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/log_view.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/cli/tui/widgets/status_bar.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/README.md +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/app_cards.json +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/app_cards/gmail.md +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/credentials_example.yaml +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/codeact/system.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/codeact/user.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/rev1.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/stateless.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/system.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/manager/trained.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config/prompts/scripter/system.jinja2 +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/env_keys.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/loader.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/path_resolver.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/prompt_loader.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/config_manager/safe_execution.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/credential_manager.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/credential_manager/file_credential_manager.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/log_handlers.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/__main__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/macro/cli.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/client.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/mcp/config.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/events.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/phoenix.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/telemetry/tracker.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/android/portal_client.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/base.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/concise_filter.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/filters/detailed_filter.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/base.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/formatters/indexed_formatter.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/__init__.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/coordinate.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/element_search.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/droidrun/tools/helpers/geometry.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/setup.py +0 -0
- {droidrun-0.4.26 → droidrun-0.5.0.dev2}/static/droidrun-dark.png +0 -0
- {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.
|
|
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:
|
|
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
|
|
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
|
|
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
|
+
}
|
|
@@ -5,9 +5,9 @@ description: "How to consume real-time events from DroidAgent execution."
|
|
|
5
5
|
|
|
6
6
|
## Overview
|
|
7
7
|
|
|
8
|
-
|
|
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,
|
|
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
|
|
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](/
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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[
|
|
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)
|