minitap-mobile-use 2.6.0__tar.gz → 2.7.0__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.

Potentially problematic release.


This version of minitap-mobile-use might be problematic. Click here for more details.

Files changed (102) hide show
  1. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/PKG-INFO +1 -1
  2. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/agent.py +4 -0
  3. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/services/platform.py +15 -1
  4. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/types/platform.py +1 -0
  5. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/types/task.py +10 -1
  6. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/pyproject.toml +1 -1
  7. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/LICENSE +0 -0
  8. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/README.md +0 -0
  9. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/__init__.py +0 -0
  10. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/contextor/contextor.py +0 -0
  11. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/cortex/cortex.md +0 -0
  12. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/cortex/cortex.py +0 -0
  13. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/cortex/types.py +0 -0
  14. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/executor/executor.md +0 -0
  15. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/executor/executor.py +0 -0
  16. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/executor/tool_node.py +0 -0
  17. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/executor/utils.py +0 -0
  18. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/hopper/hopper.md +0 -0
  19. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/hopper/hopper.py +0 -0
  20. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/orchestrator/human.md +0 -0
  21. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/orchestrator/orchestrator.md +0 -0
  22. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/orchestrator/orchestrator.py +0 -0
  23. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/orchestrator/types.py +0 -0
  24. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/outputter/human.md +0 -0
  25. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/outputter/outputter.py +0 -0
  26. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/outputter/test_outputter.py +0 -0
  27. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/planner/human.md +0 -0
  28. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/planner/planner.md +0 -0
  29. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/planner/planner.py +0 -0
  30. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/planner/types.py +0 -0
  31. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/planner/utils.py +0 -0
  32. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/screen_analyzer/human.md +0 -0
  33. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/screen_analyzer/screen_analyzer.py +0 -0
  34. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/agents/summarizer/summarizer.py +0 -0
  35. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/clients/device_hardware_client.py +0 -0
  36. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/clients/ios_client.py +0 -0
  37. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/clients/screen_api_client.py +0 -0
  38. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/config.py +0 -0
  39. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/constants.py +0 -0
  40. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/context.py +0 -0
  41. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/controllers/__init__.py +0 -0
  42. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/controllers/mobile_command_controller.py +0 -0
  43. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/controllers/platform_specific_commands_controller.py +0 -0
  44. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/controllers/types.py +0 -0
  45. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/graph/graph.py +0 -0
  46. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/graph/state.py +0 -0
  47. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/main.py +0 -0
  48. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/__init__.py +0 -0
  49. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/builders/__init__.py +0 -0
  50. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/builders/agent_config_builder.py +0 -0
  51. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/builders/index.py +0 -0
  52. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/builders/task_request_builder.py +0 -0
  53. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/constants.py +0 -0
  54. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/README.md +0 -0
  55. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/__init__.py +0 -0
  56. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/platform_manual_task_example.py +0 -0
  57. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/platform_minimal_example.py +0 -0
  58. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/simple_photo_organizer.py +0 -0
  59. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/examples/smart_notification_assistant.py +0 -0
  60. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/types/__init__.py +0 -0
  61. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/types/agent.py +0 -0
  62. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/types/exceptions.py +0 -0
  63. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/sdk/utils.py +0 -0
  64. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/config.py +0 -0
  65. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/device_hardware_bridge.py +0 -0
  66. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/device_screen_api.py +0 -0
  67. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/start_servers.py +0 -0
  68. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/stop_servers.py +0 -0
  69. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/servers/utils.py +0 -0
  70. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/services/accessibility.py +0 -0
  71. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/services/llm.py +0 -0
  72. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/index.py +0 -0
  73. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/back.py +0 -0
  74. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/erase_one_char.py +0 -0
  75. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/focus_and_clear_text.py +0 -0
  76. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/focus_and_input_text.py +0 -0
  77. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/launch_app.py +0 -0
  78. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/long_press_on.py +0 -0
  79. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/open_link.py +0 -0
  80. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/press_key.py +0 -0
  81. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/stop_app.py +0 -0
  82. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/swipe.py +0 -0
  83. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/tap.py +0 -0
  84. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/mobile/wait_for_delay.py +0 -0
  85. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/test_utils.py +0 -0
  86. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/tool_wrapper.py +0 -0
  87. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/types.py +0 -0
  88. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/tools/utils.py +0 -0
  89. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/cli_helpers.py +0 -0
  90. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/cli_selection.py +0 -0
  91. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/conversations.py +0 -0
  92. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/decorators.py +0 -0
  93. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/errors.py +0 -0
  94. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/file.py +0 -0
  95. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/logger.py +0 -0
  96. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/media.py +0 -0
  97. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/recorder.py +0 -0
  98. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/requests_utils.py +0 -0
  99. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/shell_utils.py +0 -0
  100. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/test_ui_hierarchy.py +0 -0
  101. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/time.py +0 -0
  102. {minitap_mobile_use-2.6.0 → minitap_mobile_use-2.7.0}/minitap/mobile_use/utils/ui_hierarchy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: minitap-mobile-use
3
- Version: 2.6.0
3
+ Version: 2.7.0
4
4
  Summary: AI-powered multi-agent system that automates real Android and iOS devices through low-level control using LangGraph.
5
5
  Author: Pierre-Louis Favreau, Jean-Pierre Lo, Nicolas Dehandschoewercker
6
6
  License: MIT License
@@ -53,6 +53,7 @@ from minitap.mobile_use.sdk.types.task import (
53
53
  AgentProfile,
54
54
  PlatformTaskInfo,
55
55
  PlatformTaskRequest,
56
+ CloudDevicePlatformTaskRequest,
56
57
  Task,
57
58
  TaskRequest,
58
59
  )
@@ -244,6 +245,9 @@ class Agent:
244
245
  else:
245
246
  raise PlatformServiceUninitializedError()
246
247
  task_info = await platform_service.create_task_run(request=request)
248
+ if isinstance(request, CloudDevicePlatformTaskRequest):
249
+ request.task_run_id = task_info.task_run.id
250
+ request.task_run_id_available_event.set()
247
251
  self._config.agent_profiles[task_info.llm_profile.name] = task_info.llm_profile
248
252
  request = task_info.task_request
249
253
  return await self._run_task(
@@ -23,6 +23,7 @@ from minitap.mobile_use.sdk.types.platform import (
23
23
  )
24
24
  from minitap.mobile_use.sdk.types.task import (
25
25
  AgentProfile,
26
+ CloudDevicePlatformTaskRequest,
26
27
  ManualTaskConfig,
27
28
  PlatformTaskInfo,
28
29
  PlatformTaskRequest,
@@ -60,6 +61,10 @@ class PlatformService:
60
61
 
61
62
  async def create_task_run(self, request: PlatformTaskRequest) -> PlatformTaskInfo:
62
63
  try:
64
+ virtual_mobile_id = None
65
+ if isinstance(request, CloudDevicePlatformTaskRequest):
66
+ virtual_mobile_id = request.virtual_mobile_id
67
+
63
68
  # Check if task is a string (fetch from platform) or ManualTaskConfig (create manually)
64
69
  if isinstance(request.task, str):
65
70
  # Fetch task from platform
@@ -87,7 +92,11 @@ class PlatformService:
87
92
  thoughts_output_path=request.thoughts_output_path,
88
93
  )
89
94
 
90
- task_run = await self._create_task_run(task=task, profile=profile)
95
+ task_run = await self._create_task_run(
96
+ task=task,
97
+ profile=profile,
98
+ virtual_mobile_id=virtual_mobile_id,
99
+ )
91
100
  else:
92
101
  # Create task manually from ManualTaskConfig
93
102
  logger.info(f"Creating manual task with goal: {request.task.goal}")
@@ -113,6 +122,7 @@ class PlatformService:
113
122
  task_run = await self._create_manual_task_run(
114
123
  manual_config=request.task,
115
124
  profile=profile,
125
+ virtual_mobile_id=virtual_mobile_id,
116
126
  )
117
127
 
118
128
  return PlatformTaskInfo(
@@ -244,12 +254,14 @@ class PlatformService:
244
254
  self,
245
255
  task: TaskResponse,
246
256
  profile: LLMProfileResponse,
257
+ virtual_mobile_id: str | None = None,
247
258
  ) -> TaskRunResponse:
248
259
  try:
249
260
  logger.info(f"Creating task run for task: {task.name}")
250
261
  task_run = CreateTaskRunRequest(
251
262
  task_id=task.id,
252
263
  llm_profile_id=profile.id,
264
+ virtual_mobile_id=virtual_mobile_id,
253
265
  )
254
266
  response = await self._client.post(url="v1/task-runs", json=task_run.model_dump())
255
267
  response.raise_for_status()
@@ -264,6 +276,7 @@ class PlatformService:
264
276
  self,
265
277
  manual_config: ManualTaskConfig,
266
278
  profile: LLMProfileResponse,
279
+ virtual_mobile_id: str | None = None,
267
280
  ) -> TaskRunResponse:
268
281
  """
269
282
  Create an orphan task run from a manual task configuration.
@@ -277,6 +290,7 @@ class PlatformService:
277
290
  "inputPrompt": manual_config.goal,
278
291
  "outputDescription": manual_config.output_description,
279
292
  "llmProfileId": profile.id,
293
+ "virtualMobileId": virtual_mobile_id,
280
294
  }
281
295
 
282
296
  response = await self._client.post(url="v1/task-runs/orphan", json=orphan_payload)
@@ -63,6 +63,7 @@ class CreateTaskRunRequest(BaseApiModel):
63
63
 
64
64
  task_id: str = Field(..., description="ID of the task to run")
65
65
  llm_profile_id: str = Field(..., description="LLM profile ID to use")
66
+ virtual_mobile_id: str | None = Field(None, description="Virtual mobile ID to use")
66
67
 
67
68
 
68
69
  class UpdateTaskRunStatusRequest(BaseApiModel):
@@ -2,12 +2,13 @@
2
2
  Task-related type definitions for the Mobile-use SDK.
3
3
  """
4
4
 
5
+ from asyncio import Event
5
6
  from collections.abc import Callable, Coroutine
6
7
  from datetime import datetime
7
8
  from pathlib import Path
8
9
  from typing import Any, TypeVar, overload
9
10
 
10
- from pydantic import BaseModel, Field
11
+ from pydantic import BaseModel, ConfigDict, Field
11
12
 
12
13
  from minitap.mobile_use.config import LLMConfig, get_default_llm_config
13
14
  from minitap.mobile_use.constants import RECURSION_LIMIT
@@ -135,6 +136,14 @@ class PlatformTaskRequest[TOutput](TaskRequestBase):
135
136
  api_key: str | None = None
136
137
 
137
138
 
139
+ class CloudDevicePlatformTaskRequest[TOutput](PlatformTaskRequest[TOutput]):
140
+ model_config = ConfigDict(arbitrary_types_allowed=True)
141
+
142
+ task_run_id_available_event: Event = Event()
143
+ task_run_id: str | None = None
144
+ virtual_mobile_id: str | None = None
145
+
146
+
138
147
  class TaskResult(BaseModel):
139
148
  """
140
149
  Result of a mobile automation task.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "minitap-mobile-use"
3
- version = "2.6.0"
3
+ version = "2.7.0"
4
4
  description = "AI-powered multi-agent system that automates real Android and iOS devices through low-level control using LangGraph."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }