minitap-mobile-use 3.3.0__py3-none-any.whl

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 (115) hide show
  1. minitap/mobile_use/__init__.py +0 -0
  2. minitap/mobile_use/agents/contextor/contextor.md +55 -0
  3. minitap/mobile_use/agents/contextor/contextor.py +175 -0
  4. minitap/mobile_use/agents/contextor/types.py +36 -0
  5. minitap/mobile_use/agents/cortex/cortex.md +135 -0
  6. minitap/mobile_use/agents/cortex/cortex.py +152 -0
  7. minitap/mobile_use/agents/cortex/types.py +15 -0
  8. minitap/mobile_use/agents/executor/executor.md +42 -0
  9. minitap/mobile_use/agents/executor/executor.py +87 -0
  10. minitap/mobile_use/agents/executor/tool_node.py +152 -0
  11. minitap/mobile_use/agents/hopper/hopper.md +15 -0
  12. minitap/mobile_use/agents/hopper/hopper.py +44 -0
  13. minitap/mobile_use/agents/orchestrator/human.md +12 -0
  14. minitap/mobile_use/agents/orchestrator/orchestrator.md +21 -0
  15. minitap/mobile_use/agents/orchestrator/orchestrator.py +134 -0
  16. minitap/mobile_use/agents/orchestrator/types.py +11 -0
  17. minitap/mobile_use/agents/outputter/human.md +25 -0
  18. minitap/mobile_use/agents/outputter/outputter.py +85 -0
  19. minitap/mobile_use/agents/outputter/test_outputter.py +167 -0
  20. minitap/mobile_use/agents/planner/human.md +14 -0
  21. minitap/mobile_use/agents/planner/planner.md +126 -0
  22. minitap/mobile_use/agents/planner/planner.py +101 -0
  23. minitap/mobile_use/agents/planner/types.py +51 -0
  24. minitap/mobile_use/agents/planner/utils.py +70 -0
  25. minitap/mobile_use/agents/summarizer/summarizer.py +35 -0
  26. minitap/mobile_use/agents/video_analyzer/__init__.py +5 -0
  27. minitap/mobile_use/agents/video_analyzer/human.md +5 -0
  28. minitap/mobile_use/agents/video_analyzer/video_analyzer.md +37 -0
  29. minitap/mobile_use/agents/video_analyzer/video_analyzer.py +111 -0
  30. minitap/mobile_use/clients/browserstack_client.py +477 -0
  31. minitap/mobile_use/clients/idb_client.py +429 -0
  32. minitap/mobile_use/clients/ios_client.py +332 -0
  33. minitap/mobile_use/clients/ios_client_config.py +141 -0
  34. minitap/mobile_use/clients/ui_automator_client.py +330 -0
  35. minitap/mobile_use/clients/wda_client.py +526 -0
  36. minitap/mobile_use/clients/wda_lifecycle.py +367 -0
  37. minitap/mobile_use/config.py +413 -0
  38. minitap/mobile_use/constants.py +3 -0
  39. minitap/mobile_use/context.py +106 -0
  40. minitap/mobile_use/controllers/__init__.py +0 -0
  41. minitap/mobile_use/controllers/android_controller.py +524 -0
  42. minitap/mobile_use/controllers/controller_factory.py +46 -0
  43. minitap/mobile_use/controllers/device_controller.py +182 -0
  44. minitap/mobile_use/controllers/ios_controller.py +436 -0
  45. minitap/mobile_use/controllers/platform_specific_commands_controller.py +199 -0
  46. minitap/mobile_use/controllers/types.py +106 -0
  47. minitap/mobile_use/controllers/unified_controller.py +193 -0
  48. minitap/mobile_use/graph/graph.py +160 -0
  49. minitap/mobile_use/graph/state.py +115 -0
  50. minitap/mobile_use/main.py +309 -0
  51. minitap/mobile_use/sdk/__init__.py +12 -0
  52. minitap/mobile_use/sdk/agent.py +1294 -0
  53. minitap/mobile_use/sdk/builders/__init__.py +10 -0
  54. minitap/mobile_use/sdk/builders/agent_config_builder.py +307 -0
  55. minitap/mobile_use/sdk/builders/index.py +15 -0
  56. minitap/mobile_use/sdk/builders/task_request_builder.py +236 -0
  57. minitap/mobile_use/sdk/constants.py +1 -0
  58. minitap/mobile_use/sdk/examples/README.md +83 -0
  59. minitap/mobile_use/sdk/examples/__init__.py +1 -0
  60. minitap/mobile_use/sdk/examples/app_lock_messaging.py +54 -0
  61. minitap/mobile_use/sdk/examples/platform_manual_task_example.py +67 -0
  62. minitap/mobile_use/sdk/examples/platform_minimal_example.py +48 -0
  63. minitap/mobile_use/sdk/examples/simple_photo_organizer.py +76 -0
  64. minitap/mobile_use/sdk/examples/smart_notification_assistant.py +225 -0
  65. minitap/mobile_use/sdk/examples/video_transcription_example.py +117 -0
  66. minitap/mobile_use/sdk/services/cloud_mobile.py +656 -0
  67. minitap/mobile_use/sdk/services/platform.py +434 -0
  68. minitap/mobile_use/sdk/types/__init__.py +51 -0
  69. minitap/mobile_use/sdk/types/agent.py +84 -0
  70. minitap/mobile_use/sdk/types/exceptions.py +138 -0
  71. minitap/mobile_use/sdk/types/platform.py +183 -0
  72. minitap/mobile_use/sdk/types/task.py +269 -0
  73. minitap/mobile_use/sdk/utils.py +29 -0
  74. minitap/mobile_use/services/accessibility.py +100 -0
  75. minitap/mobile_use/services/llm.py +247 -0
  76. minitap/mobile_use/services/telemetry.py +421 -0
  77. minitap/mobile_use/tools/index.py +67 -0
  78. minitap/mobile_use/tools/mobile/back.py +52 -0
  79. minitap/mobile_use/tools/mobile/erase_one_char.py +56 -0
  80. minitap/mobile_use/tools/mobile/focus_and_clear_text.py +317 -0
  81. minitap/mobile_use/tools/mobile/focus_and_input_text.py +153 -0
  82. minitap/mobile_use/tools/mobile/launch_app.py +86 -0
  83. minitap/mobile_use/tools/mobile/long_press_on.py +169 -0
  84. minitap/mobile_use/tools/mobile/open_link.py +62 -0
  85. minitap/mobile_use/tools/mobile/press_key.py +83 -0
  86. minitap/mobile_use/tools/mobile/stop_app.py +62 -0
  87. minitap/mobile_use/tools/mobile/swipe.py +156 -0
  88. minitap/mobile_use/tools/mobile/tap.py +154 -0
  89. minitap/mobile_use/tools/mobile/video_recording.py +177 -0
  90. minitap/mobile_use/tools/mobile/wait_for_delay.py +81 -0
  91. minitap/mobile_use/tools/scratchpad.py +147 -0
  92. minitap/mobile_use/tools/test_utils.py +413 -0
  93. minitap/mobile_use/tools/tool_wrapper.py +16 -0
  94. minitap/mobile_use/tools/types.py +35 -0
  95. minitap/mobile_use/tools/utils.py +336 -0
  96. minitap/mobile_use/utils/app_launch_utils.py +173 -0
  97. minitap/mobile_use/utils/cli_helpers.py +37 -0
  98. minitap/mobile_use/utils/cli_selection.py +143 -0
  99. minitap/mobile_use/utils/conversations.py +31 -0
  100. minitap/mobile_use/utils/decorators.py +124 -0
  101. minitap/mobile_use/utils/errors.py +6 -0
  102. minitap/mobile_use/utils/file.py +13 -0
  103. minitap/mobile_use/utils/logger.py +183 -0
  104. minitap/mobile_use/utils/media.py +186 -0
  105. minitap/mobile_use/utils/recorder.py +52 -0
  106. minitap/mobile_use/utils/requests_utils.py +37 -0
  107. minitap/mobile_use/utils/shell_utils.py +20 -0
  108. minitap/mobile_use/utils/test_ui_hierarchy.py +178 -0
  109. minitap/mobile_use/utils/time.py +6 -0
  110. minitap/mobile_use/utils/ui_hierarchy.py +132 -0
  111. minitap/mobile_use/utils/video.py +281 -0
  112. minitap_mobile_use-3.3.0.dist-info/METADATA +329 -0
  113. minitap_mobile_use-3.3.0.dist-info/RECORD +115 -0
  114. minitap_mobile_use-3.3.0.dist-info/WHEEL +4 -0
  115. minitap_mobile_use-3.3.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,329 @@
1
+ Metadata-Version: 2.3
2
+ Name: minitap-mobile-use
3
+ Version: 3.3.0
4
+ Summary: AI-powered multi-agent system that automates real Android and iOS devices through low-level control using LangGraph.
5
+ Author: Pierre-Louis Favreau, Jean-Pierre Lo, Nicolas Dehandschoewercker
6
+ License: MIT License
7
+
8
+ Copyright (c) 2025 Minitap, Inc
9
+
10
+ Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ of this software and associated documentation files (the "Software"), to deal
12
+ in the Software without restriction, including without limitation the rights
13
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ copies of the Software, and to permit persons to whom the Software is
15
+ furnished to do so, subject to the following conditions:
16
+
17
+ The above copyright notice and this permission notice shall be included in all
18
+ copies or substantial portions of the Software.
19
+
20
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ SOFTWARE.
27
+ Requires-Dist: langgraph>=1.0.0
28
+ Requires-Dist: adbutils==2.9.3
29
+ Requires-Dist: langchain-google-genai>=2.1.10
30
+ Requires-Dist: langchain>=0.3.27
31
+ Requires-Dist: langchain-core>=0.3.75
32
+ Requires-Dist: jinja2==3.1.6
33
+ Requires-Dist: python-dotenv==1.1.1
34
+ Requires-Dist: pydantic-settings==2.10.1
35
+ Requires-Dist: langchain-mcp-adapters==0.1.7
36
+ Requires-Dist: langchain-openai==0.3.27
37
+ Requires-Dist: typer==0.16.0
38
+ Requires-Dist: langchain-cerebras>=0.5.0
39
+ Requires-Dist: inquirer>=3.4.0
40
+ Requires-Dist: sseclient-py==1.8.0
41
+ Requires-Dist: fastapi==0.111.0
42
+ Requires-Dist: uvicorn[standard]==0.30.1
43
+ Requires-Dist: colorama>=0.4.6
44
+ Requires-Dist: psutil>=5.9.0
45
+ Requires-Dist: langchain-google-vertexai>=2.0.28
46
+ Requires-Dist: httpx>=0.28.1
47
+ Requires-Dist: uiautomator2>=3.5.0
48
+ Requires-Dist: fb-idb==1.1.7
49
+ Requires-Dist: facebook-wda>=1.5.4
50
+ Requires-Dist: appium-python-client>=5.0.0
51
+ Requires-Dist: posthog>=7.4.2
52
+ Requires-Dist: uuid-utils>=0.12.0
53
+ Requires-Dist: ruff==0.5.3 ; extra == 'dev'
54
+ Requires-Dist: pytest==8.4.1 ; extra == 'dev'
55
+ Requires-Dist: pytest-cov==5.0.0 ; extra == 'dev'
56
+ Requires-Dist: pyright==1.1.405 ; extra == 'dev'
57
+ Requires-Python: >=3.12
58
+ Project-URL: Homepage, https://minitap.ai/
59
+ Project-URL: Source, https://github.com/minitap-ai/mobile-use
60
+ Provides-Extra: dev
61
+ Description-Content-Type: text/markdown
62
+
63
+ # mobile-use: automate your phone with natural language
64
+
65
+ <div align="center">
66
+
67
+ ![mobile-use in Action](./doc/banner-v2.png)
68
+
69
+ </div>
70
+
71
+ <div align="center">
72
+
73
+ [![Discord](https://img.shields.io/discord/1403058278342201394?color=7289DA&label=Discord&logo=discord&logoColor=white&style=for-the-badge)](https://discord.gg/6nSqmQ9pQs)
74
+ [![GitHub stars](https://img.shields.io/github/stars/minitap-ai/mobile-use?style=for-the-badge&color=e0a8dd)](https://github.com/minitap-ai/mobile-use/stargazers)
75
+
76
+ <h3>
77
+ <a href="https://docs.minitap.ai/v2/mcp-server/introduction"><b>📚 Official Documentation</b></a>
78
+ </h3>
79
+ <p align="center">
80
+ <a href="https://discord.gg/6nSqmQ9pQs"><b>Discord</b></a> •
81
+ <a href="https://x.com/minitap_ai?t=iRWtI497UhRGLeCKYQekig&s=09"><b>Twitter / X</b></a>
82
+ </p>
83
+
84
+ [![PyPI version](https://img.shields.io/pypi/v/minitap-mobile-use.svg?color=blue)](https://pypi.org/project/minitap-mobile-use/)
85
+ [![Python Version](https://img.shields.io/badge/python-3.12%2B-blue)](https://www.python.org/downloads/)
86
+ [![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/minitap-ai/mobile-use/blob/main/LICENSE)
87
+
88
+ </div>
89
+
90
+ Mobile-use is a powerful, open-source AI agent that controls your Android or IOS device using natural language. It understands your commands and interacts with the UI to perform tasks, from sending messages to navigating complex apps.
91
+
92
+ > Mobile-use is quickly evolving. Your suggestions, ideas, and reported bugs will shape this project. Do not hesitate to join in the conversation on [Discord](https://discord.gg/6nSqmQ9pQs) or contribute directly, we will reply to everyone! ❤️
93
+
94
+ ## ✨ Features
95
+
96
+ - 🗣️ **Natural Language Control**: Interact with your phone using your native language.
97
+ - 📱 **UI-Aware Automation**: Intelligently navigates through app interfaces (note: currently has limited effectiveness with games as they don't provide accessibility tree data).
98
+ - 📊 **Data Scraping**: Extract information from any app and structure it into your desired format (e.g., JSON) using a natural language description.
99
+ - 🔧 **Extensible & Customizable**: Easily configure different LLMs to power the agents that power mobile-use.
100
+
101
+ ## Benchmarks
102
+
103
+ <p align="center">
104
+ <a href="https://minitap.ai/benchmark">
105
+ <img src="https://files.peachworlds.com/website/753680a0-c383-451e-9800-703d04489ea9/comparison.png" alt="Project banner" />
106
+ </a>
107
+ </p>
108
+
109
+ We stand among the top performers in the AndroidWorld benchmark.
110
+ More info here: https://minitap.ai/benchmark
111
+
112
+ The official leaderboard is available [here](https://docs.google.com/spreadsheets/d/1cchzP9dlTZ3WXQTfYNhh3avxoLipqHN75v1Tb86uhHo/edit?pli=1&gid=0#gid=0)
113
+
114
+ ## 🚀 Getting Started
115
+
116
+ Ready to automate your mobile experience? Follow these steps to get mobile-use up and running.
117
+
118
+ ### 🌐 From our Platform
119
+
120
+ Easiest way to get started is to use our Platform.
121
+ Follow our [Platform quickstart](https://docs.minitap.ai/v2/platform-quickstart) to get started.
122
+
123
+ ### 🛠️ From source
124
+
125
+ 1. **Set up Environment Variables:**
126
+ Copy the example `.env.example` file to `.env` and add your API keys.
127
+
128
+ ```bash
129
+ cp .env.example .env
130
+ ```
131
+
132
+ 2. **(Optional) Customize LLM Configuration:**
133
+ To use different models or providers, create your own LLM configuration file.
134
+
135
+ ```bash
136
+ cp llm-config.override.template.jsonc llm-config.override.jsonc
137
+ ```
138
+
139
+ Then, edit `llm-config.override.jsonc` to fit your needs.
140
+
141
+ You can also use local LLMs or any other openai-api compatible providers :
142
+
143
+ 1. Set `OPENAI_BASE_URL` and `OPENAI_API_KEY` in your `.env`
144
+ 2. In your `llm-config.override.jsonc`, set `openai` as the provider for the agent nodes you want, and choose a model supported by your provider.
145
+
146
+ > [!NOTE]
147
+ > If you want to use Google Vertex AI, you must either:
148
+ >
149
+ > - Have credentials configured for your environment (gcloud, workload identity, etc…)
150
+ > - Store the path to a service account JSON file as the GOOGLE_APPLICATION_CREDENTIALS environment variable
151
+ >
152
+ > More information: - [Credential types](https://cloud.google.com/docs/authentication/application-default-credentials#GAC) - [google.auth API reference](https://googleapis.dev/python/google-auth/latest/reference/google.auth.html#module-google.auth)
153
+
154
+ ### Quick Launch (Docker)
155
+
156
+ > [!NOTE]
157
+ > This quickstart, is only available for Android devices/emulators as of now, and you must have Docker installed.
158
+
159
+ First:
160
+
161
+ - Either plug your Android device and enable USB-debugging via the Developer Options
162
+ - Or launch an Android emulator
163
+
164
+ Then run in your terminal:
165
+
166
+ 1. For Linux/macOS:
167
+
168
+ ```bash
169
+ chmod +x mobile-use.sh
170
+ bash ./mobile-use.sh \
171
+ "Open Gmail, find first 3 unread emails, and list their sender and subject line" \
172
+ --output-description "A JSON list of objects, each with 'sender' and 'subject' keys"
173
+ ```
174
+
175
+ 2. For Windows (inside a Powershell terminal):
176
+
177
+ ```powershell
178
+ powershell.exe -ExecutionPolicy Bypass -File mobile-use.ps1 `
179
+ "Open Gmail, find first 3 unread emails, and list their sender and subject line" `
180
+ --output-description "A JSON list of objects, each with 'sender' and 'subject' keys"
181
+ ```
182
+
183
+ > [!NOTE]
184
+ > If using your own device, make sure to accept the ADB-related connection requests that will pop up on your device.
185
+
186
+ #### 🧰 Troubleshooting
187
+
188
+ The script will try to connect to your device via IP.
189
+ Therefore, your device **must be connected to the same Wi-Fi network as your computer**.
190
+
191
+ ##### 1. No device IP found
192
+
193
+ If the script fails with the following message:
194
+
195
+ ```
196
+ Could not get device IP. Is a device connected via USB and on the same Wi-Fi network?
197
+ ```
198
+
199
+ Then it couldn't find one of the common Wi-Fi interfaces on your device.
200
+ Therefore, you must determine what WLAN interface your phone is using via `adb shell ip addr show up`.
201
+ Then add the `--interface <YOUR_INTERFACE_NAME>` option to the script.
202
+
203
+ ##### 2. Failed to connect to <DEVICE_IP>:5555 inside Docker
204
+
205
+ This is most probably an issue with your firewall blocking the connection. Therefore there is no clear fix for this.
206
+
207
+ ##### 3. Failed to pull GHCR docker images (unauthorized)
208
+
209
+ Since UV docker images rely on a `ghcr.io` public repositories, you may have an expired token if you used `ghcr.io` before for private repositories.
210
+ Try running `docker logout ghcr.io` and then run the script again.
211
+
212
+ ### Manual Launch (Development Mode)
213
+
214
+ For developers who want to set up the environment manually:
215
+
216
+ #### 1. Device Support
217
+
218
+ Mobile-use currently supports the following devices:
219
+
220
+ - **Physical Android Phones**: Connect via USB with USB debugging enabled.
221
+ - **Android Simulators**: Set up through Android Studio.
222
+ - **iOS Simulators**: Supported for macOS users.
223
+
224
+ > [!NOTE]
225
+ > Physical iOS devices are not yet supported.
226
+
227
+ #### 2. Prerequisites
228
+
229
+ **For Android:**
230
+
231
+ - **[Android Debug Bridge (ADB)](https://developer.android.com/studio/releases/platform-tools)**: A tool to connect to your device.
232
+
233
+ **For iOS (macOS only):**
234
+
235
+ - **[Xcode](https://developer.apple.com/xcode/)**: Apple's IDE for iOS development.
236
+ - **[fb-idb](https://fbidb.io/docs/installation/)**: Facebook's iOS Development Bridge for device automation.
237
+
238
+ ```bash
239
+ # Install via Homebrew (macOS)
240
+ brew tap facebook/fb
241
+ brew install idb-companion
242
+ ```
243
+
244
+ > [!NOTE]
245
+ > `idb_companion` is required to communicate with iOS simulators. Make sure it's in your PATH after installation.
246
+
247
+ **Common requirements:**
248
+
249
+ Before you begin, ensure you have the following installed:
250
+
251
+ - **[uv](https://github.com/astral-sh/uv)**: A lightning-fast Python package manager.
252
+
253
+ #### 3. Installation
254
+
255
+ 1. **Clone the repository:**
256
+
257
+ ```bash
258
+ git clone https://github.com/minitap-ai/mobile-use.git && cd mobile-use
259
+ ```
260
+
261
+ 2. [**Setup environment variables**](#-getting-started)
262
+
263
+ 3. **Create & activate the virtual environment:**
264
+
265
+ ```bash
266
+ # This will create a .venv directory using the Python version in .python-version
267
+ uv venv
268
+
269
+ # Activate the environment
270
+ # On macOS/Linux:
271
+ source .venv/bin/activate
272
+ # On Windows:
273
+ .venv\Scripts\activate
274
+ ```
275
+
276
+ 4. **Install dependencies:**
277
+ ```bash
278
+ # Sync with the locked dependencies for a consistent setup
279
+ uv sync
280
+ ```
281
+
282
+ ## 👨‍💻 Usage
283
+
284
+ To run mobile-use, simply pass your command as an argument.
285
+
286
+ **Example 1: Basic Command**
287
+
288
+ ```bash
289
+ python ./src/mobile_use/main.py "Go to settings and tell me my current battery level"
290
+ ```
291
+
292
+ **Example 2: Data Scraping**
293
+
294
+ Extract specific information and get it back in a structured format. For instance, to get a list of your unread emails:
295
+
296
+ ```bash
297
+ python ./src/mobile_use/main.py \
298
+ "Open Gmail, find all unread emails, and list their sender and subject line" \
299
+ --output-description "A JSON list of objects, each with 'sender' and 'subject' keys"
300
+ ```
301
+
302
+ > [!NOTE]
303
+ > If you haven't configured a specific model, mobile-use will prompt you to choose one from the available options.
304
+
305
+ ## 🔎 Agentic System Overview
306
+
307
+ <div align="center">
308
+
309
+ ![Graph Visualization](doc/graph.png)
310
+
311
+ _This diagram is automatically updated from the codebase. This is our current agentic system architecture._
312
+
313
+ </div>
314
+
315
+ ## ❤️ Contributing
316
+
317
+ We love contributions! Whether you're fixing a bug, adding a feature, or improving documentation, your help is welcome. Please read our **[Contributing Guidelines](CONTRIBUTING.md)** to get started.
318
+
319
+ ## ⭐ Star History
320
+
321
+ <p align="center">
322
+ <a href="https://star-history.com/#minitap-ai/mobile-use&Date">
323
+ <img src="https://api.star-history.com/svg?repos=minitap-ai/mobile-use&type=Date" alt="Star History Chart" />
324
+ </a>
325
+ </p>
326
+
327
+ ## 📜 License
328
+
329
+ This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
@@ -0,0 +1,115 @@
1
+ minitap/mobile_use/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
2
+ minitap/mobile_use/agents/contextor/contextor.md,sha256=07fa3d8fd4c1175c44edccd677c9a9eade33625380eaf7861c2c9734e26d00a9,1187
3
+ minitap/mobile_use/agents/contextor/contextor.py,sha256=401dde4a66a3d879b0bfc17b190e8c6fbd09dad03d5009fe6eedf118f6bf331b,7469
4
+ minitap/mobile_use/agents/contextor/types.py,sha256=e7e27871e65cafb864cdef327492847ad3ea45aff82a1d68b2e50076639d6f11,1320
5
+ minitap/mobile_use/agents/cortex/cortex.md,sha256=1b957e44aff48613f2b729faea4a0f2e878df0bc4b530a3da817b1589ad00d2b,5169
6
+ minitap/mobile_use/agents/cortex/cortex.py,sha256=c274c23b779c865aa650a3b3538a50882f542d50fa93eed6825e107073b4ad66,6238
7
+ minitap/mobile_use/agents/cortex/types.py,sha256=cd3e78a22da581af2b72e78dbb0d194a0cc105cd6e2ac3d141a41686c45ebd2a,607
8
+ minitap/mobile_use/agents/executor/executor.md,sha256=4651b2f0e25dfbbf75d8dcd7a053d7e24da684a7edc3c35d63e9bdbffebfe82e,1283
9
+ minitap/mobile_use/agents/executor/executor.py,sha256=ae6577a3ba37430f95662aec13ad10b70339472091cf5f38a98687979d4a6b4a,3457
10
+ minitap/mobile_use/agents/executor/tool_node.py,sha256=da4142b80bfd8d56c874fdb7423466cac697296d1faf6bac7ca7aa830f5b660c,5779
11
+ minitap/mobile_use/agents/hopper/hopper.md,sha256=7335d89714d3e81ef2267d37fedda52fbe6edc48f3bb41b6bdc71de664b01c0d,662
12
+ minitap/mobile_use/agents/hopper/hopper.py,sha256=556d2543e9e04051a478565b287e0049bc240ceb4041d1abfafba9fad8fc5765,1647
13
+ minitap/mobile_use/agents/orchestrator/human.md,sha256=6559026aa921b7ad7dddcf3dfcd5d9930252edd6484d60ea92ff6ca97ed028fc,229
14
+ minitap/mobile_use/agents/orchestrator/orchestrator.md,sha256=ed672dc9fe262e83c6e738e2d2d6913deda729ce4a585fd7a16eed56d61c2efe,816
15
+ minitap/mobile_use/agents/orchestrator/orchestrator.py,sha256=4c3bfc13bb6ffaf68a29f32df6cbe419cbf124c1e2abce6ef12d7f0af98660e1,5378
16
+ minitap/mobile_use/agents/orchestrator/types.py,sha256=f53dfdc99e8d50888ac1cde5f7f90ba5c87837a8eee8dd8efa31f2640394433c,335
17
+ minitap/mobile_use/agents/outputter/human.md,sha256=6b9b45c640b163554524b1aec4cd97134c628eeb8557a32e23c8f966d32f642e,771
18
+ minitap/mobile_use/agents/outputter/outputter.py,sha256=570f996114deb9d9b12ea77db8586d5a5a3dac1238d3044d3a7860db1003d69e,3250
19
+ minitap/mobile_use/agents/outputter/test_outputter.py,sha256=7aacff522e3e9a163817833afac0afc8b1b59c1721357c9ca914a41d20f29adf,5469
20
+ minitap/mobile_use/agents/planner/human.md,sha256=57a84b0abd123631fd9223f023d1a255e91f464ed0d69a040d59c0e068021461,263
21
+ minitap/mobile_use/agents/planner/planner.md,sha256=6ceabdcd674bfded324fc90ae1fa749efc12fbf193af4cd0d486ecb06b8c53a6,3907
22
+ minitap/mobile_use/agents/planner/planner.py,sha256=ed6364ed29331f68bc9b4677ea329dc276be109364f737a6dc8f0dc3dc4bd17c,3978
23
+ minitap/mobile_use/agents/planner/types.py,sha256=e8acf3c2d1505286a138b6f7c3ef36f397d154953311d0875e3ef35152653e7f,1496
24
+ minitap/mobile_use/agents/planner/utils.py,sha256=88b4b039e09cea254615ff3d0bc8951c3717a68702742e913a0176ecfbcaf495,2315
25
+ minitap/mobile_use/agents/summarizer/summarizer.py,sha256=56c2c7d5d48f4ba045b1401538db78b2ddbd43280389ed4cbc58ecd1da0c7610,1083
26
+ minitap/mobile_use/agents/video_analyzer/__init__.py,sha256=1e3aacad18bd4b1de0516df0a2d59df2ea546e2ebc91e2a17092df6e96a3df0f,189
27
+ minitap/mobile_use/agents/video_analyzer/human.md,sha256=ea1950baea498e4292da365f794b09ac4bf0cd6171bc9c6ba0b433a4af866d28,107
28
+ minitap/mobile_use/agents/video_analyzer/video_analyzer.md,sha256=308ffa92d475392c4d1e1f61557152d48f4bd7bef1e26c95556f748eda069487,1386
29
+ minitap/mobile_use/agents/video_analyzer/video_analyzer.py,sha256=ef4add8b0591d35a8e6043e2ff3d6e09dc16b49ef4aebcc24ea03d94f62f9e1d,3703
30
+ minitap/mobile_use/clients/browserstack_client.py,sha256=6c15a305b9eff2022a9458151367529bc37b25a0d9a14cdc366b40439abc8ecc,16353
31
+ minitap/mobile_use/clients/idb_client.py,sha256=9d486c75655d88312a8e8ced00546bb0ff2d95f08d1d02e4e0bb160ecdfa3c46,15703
32
+ minitap/mobile_use/clients/ios_client.py,sha256=3d98b8f559a8b472dd1f9e74117b229002a775cbf4fbc073356a10fcdae9385e,10217
33
+ minitap/mobile_use/clients/ios_client_config.py,sha256=6859e9ad7122517e11d82b75a0f4d61b9982238b4cbca5eae4d5a67964ad2908,4569
34
+ minitap/mobile_use/clients/ui_automator_client.py,sha256=630c68396ad265a6d12690dc285e286ba72f510c8d23d7ae6a40bdfdbaed50ac,10006
35
+ minitap/mobile_use/clients/wda_client.py,sha256=ba275310f2f474ed15c53defbe9f66c81c6b2fd4a340984b3aaa5f6bed1b2b39,18967
36
+ minitap/mobile_use/clients/wda_lifecycle.py,sha256=e7728723734a11314f996115ef2cc4a8d0d3b6f756a83f9b1ea835368ff4de4b,11316
37
+ minitap/mobile_use/config.py,sha256=83922c94c25a0f6a9119ed8f43aec2e1821344f25c78af4b2f8e6b5299915961,14062
38
+ minitap/mobile_use/constants.py,sha256=3acd9d6ade5bc772e902b3473f3ba12ddd04e7306963ca2bae49d1132d89ba46,95
39
+ minitap/mobile_use/context.py,sha256=ab9ffea8fb7672be8c3f020214917b32bbb062a6747af317ae3595896dba0da0,3281
40
+ minitap/mobile_use/controllers/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
41
+ minitap/mobile_use/controllers/android_controller.py,sha256=79161c80c685092620b94a237ed3566bc3e7afb18d6003054e8cc2e3012b9922,18864
42
+ minitap/mobile_use/controllers/controller_factory.py,sha256=96606d796031343fc9dec06b5f23a7c2dd91db1b88ee44fb41421ecfd457cbda,1828
43
+ minitap/mobile_use/controllers/device_controller.py,sha256=734b16af9b9e37fe42eb83020677035db93572d6110d965063db6473dfa7bf64,5879
44
+ minitap/mobile_use/controllers/ios_controller.py,sha256=31141ebeb218dfdc04b93b60ba0c782dd0287e0270d8a56c83618a9f23c22e5e,16298
45
+ minitap/mobile_use/controllers/platform_specific_commands_controller.py,sha256=bef4b96293ec29092b8736316e5d26f7b8de5e37c063ec912edec3432502c43b,7391
46
+ minitap/mobile_use/controllers/types.py,sha256=0addc4efadb62704f6d15612147bf3c5eb39d56664c214f2cf5421d1a16e17af,3260
47
+ minitap/mobile_use/controllers/unified_controller.py,sha256=cda6349d88b255a6bac139a7e4f7066e0346f74c7476b54edfca41cdc8b20243,6634
48
+ minitap/mobile_use/graph/graph.py,sha256=2f9cd93f96d8f37c1e80412706da0fd6e527739019d09bf179833260b96191e7,5355
49
+ minitap/mobile_use/graph/state.py,sha256=0fcf0a6fb7a0651e6407bd6f5530497d3ff24e27328cfe73f14edbc1565e3577,4079
50
+ minitap/mobile_use/main.py,sha256=5f423bf32c45c847daa99abf2a0c9026224a050cf2229a046cd0dbb86201b2e1,9763
51
+ minitap/mobile_use/sdk/__init__.py,sha256=4e5555c0597242b9523827194a2500b9c6d7e5c04b1ccd2056c9b1f4d42a31cd,318
52
+ minitap/mobile_use/sdk/agent.py,sha256=e30b175d29438106ee03f80102858fd9a59a32e9a02006a3b868412e2f7b5eca,53553
53
+ minitap/mobile_use/sdk/builders/__init__.py,sha256=d6c96d39b80900a114698ef205ab5061a541f33bfa99c456d9345e5adb8ff6ff,424
54
+ minitap/mobile_use/sdk/builders/agent_config_builder.py,sha256=f57176d222e05ba78a10fdac6be65029a63cf6c801308c2cfd8a9318f981350e,11642
55
+ minitap/mobile_use/sdk/builders/index.py,sha256=64336ac3b3dea4673a48e95b8c5ac4196ecd5d2196380377d102593d0a1dc138,442
56
+ minitap/mobile_use/sdk/builders/task_request_builder.py,sha256=00f2e3bc9f513209b8f81962b63460c3f8c7c76078b35981b8e1e706c5ee7655,7568
57
+ minitap/mobile_use/sdk/constants.py,sha256=04dc61b27c723be51af2dd1cb18ac932fd02980a3af817fd43e9ab4bfeba61f6,33
58
+ minitap/mobile_use/sdk/examples/README.md,sha256=aa18a9cb72cfa8722e6bdf964cbfa4a3c56dec7283136b48c6b9df670b6985c5,3899
59
+ minitap/mobile_use/sdk/examples/__init__.py,sha256=c23868a2ca7e9b76e80d6835fe93c10e13ea8f2287dd6e785511b8ac30354e9b,46
60
+ minitap/mobile_use/sdk/examples/app_lock_messaging.py,sha256=4020909cde1948b7041109890811b03b13a973d6809dbed57a7331c3653fcab6,1722
61
+ minitap/mobile_use/sdk/examples/platform_manual_task_example.py,sha256=3cb9209ea11f52a9ac88657cb04250e0cc178148dd229677c81682199a498d39,2094
62
+ minitap/mobile_use/sdk/examples/platform_minimal_example.py,sha256=2fc49c642afd3d46210fa569d711eb826a75cbcf172aa51ce6000b7b8d2001cc,1510
63
+ minitap/mobile_use/sdk/examples/simple_photo_organizer.py,sha256=4b271309905d3b99cd60060a5e4a12594983838641ef456dbba4b3cbc842edcd,2618
64
+ minitap/mobile_use/sdk/examples/smart_notification_assistant.py,sha256=b01aba7d07db04eed229875a2f5fb4d8473c4b966162d86bc21b78d19f784849,8151
65
+ minitap/mobile_use/sdk/examples/video_transcription_example.py,sha256=5b10721f9ce963ca3771e2f5f754d7a5dd7618660d4c0b3e0c6a44bd54c1c543,3637
66
+ minitap/mobile_use/sdk/services/cloud_mobile.py,sha256=6be53e7c2e5ea65c583ad45d06ef09ef9279a9aea19e949f63527ee475254304,24942
67
+ minitap/mobile_use/sdk/services/platform.py,sha256=85500e87073b36f8ac7fe73476627c7d74b06d0ca03180e1a547e6f0f034df33,17397
68
+ minitap/mobile_use/sdk/types/__init__.py,sha256=433aff6b35f84a985633204edbbdaca9f2f61fb2b822630f9723c481b9bb5c10,1078
69
+ minitap/mobile_use/sdk/types/agent.py,sha256=6019af5cbe8ef8473d8e6ae34cd812e9f608ddc86fd501e61611a86551b84872,2716
70
+ minitap/mobile_use/sdk/types/exceptions.py,sha256=7591e4ad87dac97061183c650a3c6779613bd3887438af2a73b01a97c423812a,4690
71
+ minitap/mobile_use/sdk/types/platform.py,sha256=77fef81e23c344d2e7f69c44da89f0d9537098ddb1ecbf813878ce75f32d2037,7301
72
+ minitap/mobile_use/sdk/types/task.py,sha256=ac410566cf35c190ef74906d48c5b5cddba7bd2ebd004c91b52b68b74e12368c,8876
73
+ minitap/mobile_use/sdk/utils.py,sha256=647f1f4a463c3029c3b0eb3c33f7dd778d5f5fd9d293224f5474595a60e1de6f,967
74
+ minitap/mobile_use/services/accessibility.py,sha256=42bcbe81b427ee6f6e82bcfe420fc40630db950bda354e3e433c2dda2e159628,3404
75
+ minitap/mobile_use/services/llm.py,sha256=1a7921fdf9430fe8f18a515f8b537e9773a445e0182b09992751073e2f55f1e5,7055
76
+ minitap/mobile_use/services/telemetry.py,sha256=3f658e51eec2be35355f0df1c4614f825c32306cd04854f18d118c6cc64187b7,13066
77
+ minitap/mobile_use/tools/index.py,sha256=55ba7bd892681cba36350445f3d67ec1b5de943edea1d8bb0416c9a7115c35e1,2439
78
+ minitap/mobile_use/tools/mobile/back.py,sha256=bce558e051087727c5c39c16522ce90ba299d6d1c2ab5b749f262e0573256ed5,1918
79
+ minitap/mobile_use/tools/mobile/erase_one_char.py,sha256=149b159e1ce3f1cbad4c8f8585f5e63d5c017288eac96544d19ff7ff4d11cf58,2017
80
+ minitap/mobile_use/tools/mobile/focus_and_clear_text.py,sha256=6de08ce84812a1c9cfe910a9400cb6a1d882453b2ef8a0bf61a3fbc1c3582086,10495
81
+ minitap/mobile_use/tools/mobile/focus_and_input_text.py,sha256=d313b0353f1c06646501cd97f696b99a333a02add9f8c438f41d6229fee0845a,5690
82
+ minitap/mobile_use/tools/mobile/launch_app.py,sha256=4a31553cc56291fb80f0e54c07b6a887cd3d8efc4746d46dc58dfde0aa3e9bfa,3209
83
+ minitap/mobile_use/tools/mobile/long_press_on.py,sha256=267a31ce7e31a46dff94c8c65b225761ea5b7be7232953c9061e69f230088082,7148
84
+ minitap/mobile_use/tools/mobile/open_link.py,sha256=222130c723801407d69503393907bd1a64c225a3b649c8c1137dbd36d8d3d84b,2052
85
+ minitap/mobile_use/tools/mobile/press_key.py,sha256=cf3c816eb3c3462c6de3727e80705cb3ae46af8f990fa845d5c46b1eae35900a,2613
86
+ minitap/mobile_use/tools/mobile/stop_app.py,sha256=f1873a5d38956975b03dbca2178dd82c63845adc33235d8d308b4c348aa3ba72,2297
87
+ minitap/mobile_use/tools/mobile/swipe.py,sha256=2ebe04d5d0038eb8771a14c392a7eb1c7a6269743f4c64188095052a4f7c5354,6033
88
+ minitap/mobile_use/tools/mobile/tap.py,sha256=f9df07d28d8c3913b421ea9516fe62871ac45af26da13a478688039a89cad7f6,6736
89
+ minitap/mobile_use/tools/mobile/video_recording.py,sha256=2c603789469ee571cf338911cc04f38df9b5a3b0556efaf9cd3b07cb8c4e7ab5,6388
90
+ minitap/mobile_use/tools/mobile/wait_for_delay.py,sha256=0bec99b51b28f3779752cad4b67d2204009392984a41a0a821d00bea490dc35c,2688
91
+ minitap/mobile_use/tools/scratchpad.py,sha256=2597f8c9ccba84c89e47020c720ef3252c0c4ab3078390aff07755f1e0e3a2c6,4511
92
+ minitap/mobile_use/tools/test_utils.py,sha256=ee21af95375256cf6a9d61a3cd6f0d8747a338389cfdd30978fd76ab529f0363,15031
93
+ minitap/mobile_use/tools/tool_wrapper.py,sha256=f0f27beaae25a1bcfd9b72bf994de84b2e5fba9e242d8ad18a8d1a97cd7619e4,454
94
+ minitap/mobile_use/tools/types.py,sha256=f0088ea5dcaa970a1e68b766aeb67ff4248a46572d9b399d566c346262ae4996,1293
95
+ minitap/mobile_use/tools/utils.py,sha256=e1cd9593a023efd212ff7cf9fb7bfdbe27f32c6efb5d7d48e767919d5b0e1b89,11334
96
+ minitap/mobile_use/utils/app_launch_utils.py,sha256=f00f61a85700f122f39c9865af2d1aaaf6e1e12b0d1c5e4a7878c17c3ea0a7ae,5899
97
+ minitap/mobile_use/utils/cli_helpers.py,sha256=bdc1b83a59b50e9da6b7a35a1093fc6bb424829db4cf07c840e0d397998378db,1476
98
+ minitap/mobile_use/utils/cli_selection.py,sha256=62e949bf075e984b5d23b4a9880ff2bccf8f9e0f7ccb48120030a6a82075352b,4788
99
+ minitap/mobile_use/utils/conversations.py,sha256=8f1d924300ec3f6f7c71510c21e3011b75caca5b1fff06fdaccb377c3cde24ec,914
100
+ minitap/mobile_use/utils/decorators.py,sha256=0bb30fb4f5d5cef0aef45643e68e199d39910f1d771eb4086f3e083d566c16a5,3591
101
+ minitap/mobile_use/utils/errors.py,sha256=6c5566484cff48ce1eb168c3cbe93d6e5365457828f59616a15147598feef769,156
102
+ minitap/mobile_use/utils/file.py,sha256=1ca968613452a273b23e4f58460ab39f87255b02cdb6fb8ca04f4e628b346070,315
103
+ minitap/mobile_use/utils/logger.py,sha256=011fe08c39b111997ec685b9f0b378761607e35ac049234b5e86c2b58f29bbe3,5633
104
+ minitap/mobile_use/utils/media.py,sha256=846b6ea92dbfec6931794af6151348431f4c2048e8eefeb6c83b83629cfc16b9,5560
105
+ minitap/mobile_use/utils/recorder.py,sha256=d432487f5834b09479b936dd85b83201322c008d30b4e195fe5bcea75c98d935,1938
106
+ minitap/mobile_use/utils/requests_utils.py,sha256=5c3a2e2aff7c521cd6a43b74c084e2244e1ff55065a5b722e6e251c6419861fd,1168
107
+ minitap/mobile_use/utils/shell_utils.py,sha256=b35ae7f863379adb86c9ba0f9b3b9d4954118d12aef1ffed0bc260b32d73d857,650
108
+ minitap/mobile_use/utils/test_ui_hierarchy.py,sha256=96c1549c05b4f7254a22d57dbd40aea860756f1e0b9d8cc24319383643448422,5911
109
+ minitap/mobile_use/utils/time.py,sha256=41bfaabb3751de11443ccb4a3f1f53d5ebacc7744c72e32695fdcc3d23f17d49,160
110
+ minitap/mobile_use/utils/ui_hierarchy.py,sha256=066fa46b6b3b75cb572875a7ca21b8d9ecae711c14d0439feefffd600c4f02c4,4061
111
+ minitap/mobile_use/utils/video.py,sha256=2741deef14bf42a77627784fd75bc6569bccab2f032896ecfafa8c3604b27455,8637
112
+ minitap_mobile_use-3.3.0.dist-info/WHEEL,sha256=ab6157bc637547491fb4567cd7ddf26b04d63382916ca16c29a5c8e94c9c9ef7,79
113
+ minitap_mobile_use-3.3.0.dist-info/entry_points.txt,sha256=663a29cfd551a4eaa0f27335f0bd7e4a732a4e39c76b68ef5c8dc444d4a285fa,60
114
+ minitap_mobile_use-3.3.0.dist-info/METADATA,sha256=e9210951bb0581b8fbeca3a04d6a72d5ad6a7a7e0f67e8fb21f38c59c16b2bd6,12490
115
+ minitap_mobile_use-3.3.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.7.22
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ mobile-use = minitap.mobile_use.main:cli
3
+