minitap-mobile-use 2.2.0__py3-none-any.whl → 2.4.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.

Potentially problematic release.


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

Files changed (59) hide show
  1. minitap/mobile_use/agents/contextor/contextor.py +6 -4
  2. minitap/mobile_use/agents/cortex/cortex.md +114 -27
  3. minitap/mobile_use/agents/cortex/cortex.py +8 -5
  4. minitap/mobile_use/agents/executor/executor.md +15 -10
  5. minitap/mobile_use/agents/executor/executor.py +6 -5
  6. minitap/mobile_use/agents/executor/utils.py +2 -1
  7. minitap/mobile_use/agents/hopper/hopper.py +6 -3
  8. minitap/mobile_use/agents/orchestrator/orchestrator.py +26 -11
  9. minitap/mobile_use/agents/outputter/outputter.py +6 -3
  10. minitap/mobile_use/agents/outputter/test_outputter.py +104 -42
  11. minitap/mobile_use/agents/planner/planner.md +20 -22
  12. minitap/mobile_use/agents/planner/planner.py +10 -7
  13. minitap/mobile_use/agents/planner/types.py +4 -2
  14. minitap/mobile_use/agents/planner/utils.py +14 -0
  15. minitap/mobile_use/agents/summarizer/summarizer.py +2 -2
  16. minitap/mobile_use/config.py +6 -1
  17. minitap/mobile_use/context.py +13 -3
  18. minitap/mobile_use/controllers/mobile_command_controller.py +1 -14
  19. minitap/mobile_use/graph/state.py +7 -3
  20. minitap/mobile_use/sdk/agent.py +204 -29
  21. minitap/mobile_use/sdk/examples/README.md +19 -1
  22. minitap/mobile_use/sdk/examples/platform_minimal_example.py +46 -0
  23. minitap/mobile_use/sdk/services/platform.py +244 -0
  24. minitap/mobile_use/sdk/types/__init__.py +14 -14
  25. minitap/mobile_use/sdk/types/exceptions.py +57 -0
  26. minitap/mobile_use/sdk/types/platform.py +125 -0
  27. minitap/mobile_use/sdk/types/task.py +60 -17
  28. minitap/mobile_use/servers/device_hardware_bridge.py +3 -2
  29. minitap/mobile_use/servers/stop_servers.py +11 -12
  30. minitap/mobile_use/servers/utils.py +6 -9
  31. minitap/mobile_use/services/llm.py +89 -5
  32. minitap/mobile_use/tools/index.py +2 -8
  33. minitap/mobile_use/tools/mobile/back.py +3 -3
  34. minitap/mobile_use/tools/mobile/clear_text.py +67 -38
  35. minitap/mobile_use/tools/mobile/erase_one_char.py +5 -4
  36. minitap/mobile_use/tools/mobile/{take_screenshot.py → glimpse_screen.py} +23 -15
  37. minitap/mobile_use/tools/mobile/input_text.py +67 -16
  38. minitap/mobile_use/tools/mobile/launch_app.py +54 -22
  39. minitap/mobile_use/tools/mobile/long_press_on.py +15 -8
  40. minitap/mobile_use/tools/mobile/open_link.py +15 -8
  41. minitap/mobile_use/tools/mobile/press_key.py +15 -8
  42. minitap/mobile_use/tools/mobile/stop_app.py +14 -8
  43. minitap/mobile_use/tools/mobile/swipe.py +11 -5
  44. minitap/mobile_use/tools/mobile/tap.py +103 -21
  45. minitap/mobile_use/tools/mobile/wait_for_animation_to_end.py +3 -3
  46. minitap/mobile_use/tools/test_utils.py +377 -0
  47. minitap/mobile_use/tools/types.py +35 -0
  48. minitap/mobile_use/tools/utils.py +149 -39
  49. minitap/mobile_use/utils/recorder.py +1 -1
  50. minitap/mobile_use/utils/test_ui_hierarchy.py +178 -0
  51. minitap/mobile_use/utils/ui_hierarchy.py +11 -4
  52. {minitap_mobile_use-2.2.0.dist-info → minitap_mobile_use-2.4.0.dist-info}/METADATA +6 -4
  53. minitap_mobile_use-2.4.0.dist-info/RECORD +99 -0
  54. minitap/mobile_use/tools/mobile/copy_text_from.py +0 -73
  55. minitap/mobile_use/tools/mobile/find_packages.py +0 -69
  56. minitap/mobile_use/tools/mobile/paste_text.py +0 -62
  57. minitap_mobile_use-2.2.0.dist-info/RECORD +0 -96
  58. {minitap_mobile_use-2.2.0.dist-info → minitap_mobile_use-2.4.0.dist-info}/WHEEL +0 -0
  59. {minitap_mobile_use-2.2.0.dist-info → minitap_mobile_use-2.4.0.dist-info}/entry_points.txt +0 -0
@@ -1,73 +0,0 @@
1
- from langchain_core.messages import ToolMessage
2
- from langchain_core.tools import tool
3
- from langchain_core.tools.base import InjectedToolCallId
4
- from langgraph.types import Command
5
- from minitap.mobile_use.constants import EXECUTOR_MESSAGES_KEY
6
- from minitap.mobile_use.controllers.mobile_command_controller import SelectorRequest
7
- from minitap.mobile_use.controllers.mobile_command_controller import (
8
- copy_text_from as copy_text_from_controller,
9
- )
10
- from minitap.mobile_use.tools.tool_wrapper import ToolWrapper
11
- from pydantic import Field
12
- from typing import Annotated
13
- from minitap.mobile_use.context import MobileUseContext
14
- from minitap.mobile_use.graph.state import State
15
- from langgraph.prebuilt import InjectedState
16
-
17
-
18
- def get_copy_text_from_tool(ctx: MobileUseContext):
19
- @tool
20
- def copy_text_from(
21
- tool_call_id: Annotated[str, InjectedToolCallId],
22
- state: Annotated[State, InjectedState],
23
- agent_thought: str,
24
- selector_request: SelectorRequest = Field(
25
- ..., description="The selector to copy text from"
26
- ),
27
- ):
28
- """
29
- Copies text from a UI element identified by the given selector and stores it in memory.
30
-
31
- The copied text can be:
32
- - Pasted later using `pasteText`
33
- - Accessed in JavaScript via `maestro.copiedText`
34
-
35
- Example Usage:
36
- - launchApp
37
- - copyTextFrom: { id: "someId" }
38
- - tapOn: { id: "searchFieldId" }
39
- - pasteText
40
-
41
- See the Selectors documentation for supported selector types.
42
- """
43
- output = copy_text_from_controller(ctx=ctx, selector_request=selector_request)
44
- has_failed = output is not None
45
- tool_message = ToolMessage(
46
- tool_call_id=tool_call_id,
47
- content=copy_text_from_wrapper.on_failure_fn(selector_request)
48
- if has_failed
49
- else copy_text_from_wrapper.on_success_fn(selector_request),
50
- additional_kwargs={"error": output} if has_failed else {},
51
- status="error" if has_failed else "success",
52
- )
53
- return Command(
54
- update=state.sanitize_update(
55
- ctx=ctx,
56
- update={
57
- "agents_thoughts": [agent_thought],
58
- EXECUTOR_MESSAGES_KEY: [tool_message],
59
- },
60
- agent="executor",
61
- ),
62
- )
63
-
64
- return copy_text_from
65
-
66
-
67
- copy_text_from_wrapper = ToolWrapper(
68
- tool_fn_getter=get_copy_text_from_tool,
69
- on_success_fn=lambda selector_request: (
70
- f'Text copied successfully from selector "{selector_request}".'
71
- ),
72
- on_failure_fn=lambda selector_request: f"Failed to copy text from selector {selector_request}.",
73
- )
@@ -1,69 +0,0 @@
1
- from langchain_core.messages import ToolMessage
2
- from langchain_core.tools import tool
3
- from langchain_core.tools.base import InjectedToolCallId
4
- from langgraph.prebuilt import InjectedState
5
- from langgraph.types import Command
6
- from minitap.mobile_use.agents.hopper.hopper import HopperOutput, hopper
7
- from minitap.mobile_use.constants import EXECUTOR_MESSAGES_KEY
8
- from minitap.mobile_use.context import MobileUseContext
9
- from minitap.mobile_use.controllers.platform_specific_commands_controller import list_packages
10
- from minitap.mobile_use.graph.state import State
11
- from minitap.mobile_use.tools.tool_wrapper import ToolWrapper
12
- from typing import Annotated
13
-
14
-
15
- def get_find_packages_tool(ctx: MobileUseContext):
16
- @tool
17
- async def find_packages(
18
- tool_call_id: Annotated[str, InjectedToolCallId],
19
- state: Annotated[State, InjectedState],
20
- appNames: list[str],
21
- agent_thought: str,
22
- ) -> Command:
23
- """
24
- Finds relevant applications.
25
- Outputs the full package names list (android) or bundle ids list (IOS).
26
- """
27
- output: str = list_packages(ctx=ctx)
28
-
29
- try:
30
- hopper_output: HopperOutput = await hopper(
31
- ctx=ctx,
32
- request=f"I'm looking for the package names of the following apps: {appNames}",
33
- data=output,
34
- )
35
- tool_message = ToolMessage(
36
- tool_call_id=tool_call_id,
37
- content=find_packages_wrapper.on_success_fn(
38
- hopper_output.step, hopper_output.output
39
- ),
40
- status="success",
41
- )
42
- except Exception as e:
43
- print("Failed to extract insights from data: " + str(e))
44
- tool_message = ToolMessage(
45
- tool_call_id=tool_call_id,
46
- content=find_packages_wrapper.on_failure_fn(),
47
- additional_kwargs={"output": output},
48
- status="error",
49
- )
50
-
51
- return Command(
52
- update=state.sanitize_update(
53
- ctx=ctx,
54
- update={
55
- "agents_thoughts": [agent_thought, tool_message.content],
56
- EXECUTOR_MESSAGES_KEY: [tool_message],
57
- },
58
- agent="executor",
59
- ),
60
- )
61
-
62
- return find_packages
63
-
64
-
65
- find_packages_wrapper = ToolWrapper(
66
- tool_fn_getter=get_find_packages_tool,
67
- on_success_fn=lambda thought, output: f"Packages found successfully ({thought}): {output}",
68
- on_failure_fn=lambda: "Failed to find packages.",
69
- )
@@ -1,62 +0,0 @@
1
- from langchain_core.messages import ToolMessage
2
- from langchain_core.tools import tool
3
- from langchain_core.tools.base import InjectedToolCallId
4
- from langgraph.types import Command
5
- from minitap.mobile_use.constants import EXECUTOR_MESSAGES_KEY
6
- from minitap.mobile_use.context import MobileUseContext
7
- from minitap.mobile_use.controllers.mobile_command_controller import (
8
- paste_text as paste_text_controller,
9
- )
10
- from minitap.mobile_use.graph.state import State
11
- from langgraph.prebuilt import InjectedState
12
- from minitap.mobile_use.tools.tool_wrapper import ToolWrapper
13
- from typing import Annotated
14
-
15
-
16
- def get_paste_text_tool(ctx: MobileUseContext):
17
- @tool
18
- def paste_text(
19
- tool_call_id: Annotated[str, InjectedToolCallId],
20
- state: Annotated[State, InjectedState],
21
- agent_thought: str,
22
- ):
23
- """
24
- Pastes text previously copied via `copyTextFrom` into the currently focused field.
25
-
26
- Note:
27
- The text field must be focused before using this command.
28
-
29
- Example:
30
- - copyTextFrom: { id: "someId" }
31
- - tapOn: { id: "searchFieldId" }
32
- - pasteText
33
- """
34
- output = paste_text_controller(ctx=ctx)
35
- has_failed = output is not None
36
- tool_message = ToolMessage(
37
- tool_call_id=tool_call_id,
38
- content=paste_text_wrapper.on_failure_fn()
39
- if has_failed
40
- else paste_text_wrapper.on_success_fn(),
41
- additional_kwargs={"error": output} if has_failed else {},
42
- status="error" if has_failed else "success",
43
- )
44
- return Command(
45
- update=state.sanitize_update(
46
- ctx=ctx,
47
- update={
48
- "agents_thoughts": [agent_thought],
49
- EXECUTOR_MESSAGES_KEY: [tool_message],
50
- },
51
- agent="executor",
52
- ),
53
- )
54
-
55
- return paste_text
56
-
57
-
58
- paste_text_wrapper = ToolWrapper(
59
- tool_fn_getter=get_paste_text_tool,
60
- on_success_fn=lambda: "Text pasted successfully.",
61
- on_failure_fn=lambda: "Failed to paste text.",
62
- )
@@ -1,96 +0,0 @@
1
- minitap/mobile_use/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
2
- minitap/mobile_use/agents/contextor/contextor.py,sha256=d7c98771a9173281c1660a2ee965149d4f70ecf7005cf75fa89eb1e9a9f2b660,1673
3
- minitap/mobile_use/agents/cortex/cortex.md,sha256=dcf42ec3081d21d1652b601b00276f6f876806855f4337e0c23d99f20a32b88f,5594
4
- minitap/mobile_use/agents/cortex/cortex.py,sha256=91d672cb6c6b3eb95ab335ec6031d2479446a8d2af087c65f0bd0300799547bb,4909
5
- minitap/mobile_use/agents/cortex/types.py,sha256=c33f2277752644d2185d84add03a493adaa530096d046d73366ab9121d99b946,361
6
- minitap/mobile_use/agents/executor/executor.md,sha256=800003af904d346ab0a6b8a205c0332930161a8c997ede584097a40e8f1ac478,2806
7
- minitap/mobile_use/agents/executor/executor.py,sha256=e740b76c9d2dfa832afbca60ac533f691963ae068c64dd97a96b2c58c80c925d,2850
8
- minitap/mobile_use/agents/executor/tool_node.py,sha256=2ad729ede393882460ae3d180ac1c0e1ab1688f40b2017220aad1b059f6485c5,3900
9
- minitap/mobile_use/agents/executor/utils.py,sha256=1a387d30047d3be05b5e550433866abe4388222b3f95d1360847870155ef8f12,368
10
- minitap/mobile_use/agents/hopper/hopper.md,sha256=2e9333ece8f6b76401ac2cce98ca06a025faa5dba6bacbbc344793ddf42292d0,362
11
- minitap/mobile_use/agents/hopper/hopper.py,sha256=1c015cc911f225c9cb26415e0852d5905ded8e715fb928ad2595143870a781e3,1324
12
- minitap/mobile_use/agents/orchestrator/human.md,sha256=6559026aa921b7ad7dddcf3dfcd5d9930252edd6484d60ea92ff6ca97ed028fc,229
13
- minitap/mobile_use/agents/orchestrator/orchestrator.md,sha256=cc1a353c577f2eef42d9a528178ccc2c0a4a144a907a29878f9efe57e83b12fa,2546
14
- minitap/mobile_use/agents/orchestrator/orchestrator.py,sha256=83524eefe8fc1d9639a2ffeb270dfed9e2a2b15af93e6e1d3d41d8e7c5b74951,4656
15
- minitap/mobile_use/agents/orchestrator/types.py,sha256=f53dfdc99e8d50888ac1cde5f7f90ba5c87837a8eee8dd8efa31f2640394433c,335
16
- minitap/mobile_use/agents/outputter/human.md,sha256=6b9b45c640b163554524b1aec4cd97134c628eeb8557a32e23c8f966d32f642e,771
17
- minitap/mobile_use/agents/outputter/outputter.py,sha256=0539cd1bfa307c6e24136488a0481128da17c37f20128e63388b5c4aea5aae50,2750
18
- minitap/mobile_use/agents/outputter/test_outputter.py,sha256=4c52988f8f29159657707a0e11500610f3987cac6390b17edec23f09ddfcc0ff,3334
19
- minitap/mobile_use/agents/planner/human.md,sha256=cb37be2af568918e60238eaa785837178a3ba8f8112de86850d9a62914c18314,222
20
- minitap/mobile_use/agents/planner/planner.md,sha256=dc13218df28b38fd2139803c9d013f0ba50899b2ae58545a3b8f3d2fd2aad734,3333
21
- minitap/mobile_use/agents/planner/planner.py,sha256=cb7fa02cf5ae9e6f95646afc1c41642e5f9e58113dc17d51839f5236a33e67b7,2722
22
- minitap/mobile_use/agents/planner/types.py,sha256=da551df70ae4ae574670bd8d79c4da1a82be88c24216034d6841a83d85c0c43c,1392
23
- minitap/mobile_use/agents/planner/utils.py,sha256=11731d0382bf88ef77b38aaf75873486f293343cdd048372c57e626c652b4a22,1839
24
- minitap/mobile_use/agents/summarizer/summarizer.py,sha256=3e1e92f9259c040487992636786f972dffe0a38d309a8c3758c9ff1aeff2f62c,1070
25
- minitap/mobile_use/clients/device_hardware_client.py,sha256=9593380a7a3df32f02aa22717678c25e91367df26b1743abde9e57aec5dc2474,857
26
- minitap/mobile_use/clients/ios_client.py,sha256=332bf47ac01bbd5bf6178a59eea7c7a30fed944f30907caea5388178f312d36b,1452
27
- minitap/mobile_use/clients/screen_api_client.py,sha256=3615dc65d25c38b4d8dc5512f9adb3bcf69dca7a0298a472a6812f604a275c47,2019
28
- minitap/mobile_use/config.py,sha256=9a2435a69c4453275439555d6af721a0c38bf7ca7ef1916598011c54c198c812,9931
29
- minitap/mobile_use/constants.py,sha256=3acd9d6ade5bc772e902b3473f3ba12ddd04e7306963ca2bae49d1132d89ba46,95
30
- minitap/mobile_use/context.py,sha256=fa4e43fb580db86c2ed707b1464d8363ead57332b40ea5688e0731ad57a40558,1747
31
- minitap/mobile_use/controllers/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
32
- minitap/mobile_use/controllers/mobile_command_controller.py,sha256=eb5f31cc6f2a711cbe3908f2561e841abe2214805475f77eeed3bc45731baddc,12217
33
- minitap/mobile_use/controllers/platform_specific_commands_controller.py,sha256=8b4fc30108c242da41fd998751dbfd5e6a69e2957a2dbbe5d6fc43d6b55f727e,2705
34
- minitap/mobile_use/graph/graph.py,sha256=c7b412e725b096eca8f212d704c3faf91d77eea4131f1fae7af1ee39bc57cdae,4269
35
- minitap/mobile_use/graph/state.py,sha256=cfe67d15833efa18b28a86293bc5c713ff8c777778b0552bb6e25fa7070534aa,3371
36
- minitap/mobile_use/main.py,sha256=7ac4dc592e3ce72bff602d67ba2f25b9b5e45e07a316e548d7c8e73735abf43d,3725
37
- minitap/mobile_use/sdk/__init__.py,sha256=4e5555c0597242b9523827194a2500b9c6d7e5c04b1ccd2056c9b1f4d42a31cd,318
38
- minitap/mobile_use/sdk/agent.py,sha256=0d598bc0fab7e4429654e38379d730a021243a0953ad8efcca721b382938be7a,20871
39
- minitap/mobile_use/sdk/builders/__init__.py,sha256=d6c96d39b80900a114698ef205ab5061a541f33bfa99c456d9345e5adb8ff6ff,424
40
- minitap/mobile_use/sdk/builders/agent_config_builder.py,sha256=c63f452350822daab86d29c44a333909b623fc7ff7bcbf74e5f9104b24630bf5,7582
41
- minitap/mobile_use/sdk/builders/index.py,sha256=64336ac3b3dea4673a48e95b8c5ac4196ecd5d2196380377d102593d0a1dc138,442
42
- minitap/mobile_use/sdk/builders/task_request_builder.py,sha256=9e6cf7afb68af986d6a81487179bb79d28f63047a068725d92996dbcbe753376,6857
43
- minitap/mobile_use/sdk/constants.py,sha256=436ba0700c6cf37ac0c9e3995a5f5a0d54ca87af72686eb9667a2c6a96e30f68,292
44
- minitap/mobile_use/sdk/examples/README.md,sha256=b6780de3025b1897ad2ef42fa968f2a69b82f929465807f9590c4e9321dab6e6,2306
45
- minitap/mobile_use/sdk/examples/__init__.py,sha256=c23868a2ca7e9b76e80d6835fe93c10e13ea8f2287dd6e785511b8ac30354e9b,46
46
- minitap/mobile_use/sdk/examples/simple_photo_organizer.py,sha256=8ad1cebb5281e3663264560bd15b090add41d2821b1db77e4cbc829860c98df8,2606
47
- minitap/mobile_use/sdk/examples/smart_notification_assistant.py,sha256=1d00658dc30c7bce5ef68369f982cd2d1932f53e2e2da6ded70cea13dc669c72,6362
48
- minitap/mobile_use/sdk/types/__init__.py,sha256=5dd148d83bf6261ac8ac60c994e2496b5bf535591d0835807d5fe394fd85a954,1014
49
- minitap/mobile_use/sdk/types/agent.py,sha256=390d5c642b3480f4a2203ddd28ec115c785f2576bec81e82e4db3c129399c020,2260
50
- minitap/mobile_use/sdk/types/exceptions.py,sha256=56ac3f749730740951448b1b0f200be21331dc0800916a87587b21e7850120a5,2288
51
- minitap/mobile_use/sdk/types/task.py,sha256=74743a398b63af62383528d5906824ae8aaba1e1885c75414b347623d7931f12,5837
52
- minitap/mobile_use/sdk/utils.py,sha256=647f1f4a463c3029c3b0eb3c33f7dd778d5f5fd9d293224f5474595a60e1de6f,967
53
- minitap/mobile_use/servers/config.py,sha256=8a4a6bce23e2093d047a91e135e2f88627f76ac12177d071f25a3ca739b3afeb,575
54
- minitap/mobile_use/servers/device_hardware_bridge.py,sha256=80b93fe1bd8ea9100ac198a83f0aea2c40565a11e810acff9785bbd3f3b31f37,7174
55
- minitap/mobile_use/servers/device_screen_api.py,sha256=63bf866f17cde4ab97631b710080866b8427225d3857b2351ab83db38a9c5107,5064
56
- minitap/mobile_use/servers/start_servers.py,sha256=1e86dc0fcbdf6e6570ae68c7097145e754f3c3448ca813d415b3e5ebb74db828,5037
57
- minitap/mobile_use/servers/stop_servers.py,sha256=9a3dc2eafb3c13e420248b1844694c80112be32f0d336f54ecc1015cb6f27be9,7127
58
- minitap/mobile_use/servers/utils.py,sha256=db5d26153a169ab141556337db3693adc1bf8522943316656bdeb05dbf95465b,394
59
- minitap/mobile_use/services/accessibility.py,sha256=42bcbe81b427ee6f6e82bcfe420fc40630db950bda354e3e433c2dda2e159628,3404
60
- minitap/mobile_use/services/llm.py,sha256=3706edcb2132709c5cb931fac86ea31908a209347b341ec7b0f1cfbb27959c66,4260
61
- minitap/mobile_use/tools/index.py,sha256=b380fa7b756108ca3dd1f81fbe397233f742ddcecaaefa2844c2e67ced7093be,2695
62
- minitap/mobile_use/tools/mobile/back.py,sha256=cf1053b22c4fbeb1c219578563d6d857425dcdff08af690149c6e52a0e29c195,1792
63
- minitap/mobile_use/tools/mobile/clear_text.py,sha256=28e9af14cbb62be3a8221e7b1e7645e9bc22f40202d84c6047874809137cd927,9316
64
- minitap/mobile_use/tools/mobile/copy_text_from.py,sha256=723d7563e19d05060da0071aedfb620ce36bfb90931fcb815ab8d01be7ed9dd5,2716
65
- minitap/mobile_use/tools/mobile/erase_one_char.py,sha256=e8c0a519a235271fa1cb785fe711e63e9ca14f4d33a61fbb39af04ec9bf18211,1960
66
- minitap/mobile_use/tools/mobile/find_packages.py,sha256=78f3051f40307ba75655fbffe6fe3fc3954f158eb8ceb0d270cb81a5e807d81d,2554
67
- minitap/mobile_use/tools/mobile/input_text.py,sha256=6a0b48ac79ad908fd6229a63fe17f7c5f26fb0e7466632700efd5db40393bda5,3199
68
- minitap/mobile_use/tools/mobile/launch_app.py,sha256=e1879333c0eae92b22ec3c147edd26dfe41252bf8049e5954a0b72d5a8b8f650,2027
69
- minitap/mobile_use/tools/mobile/long_press_on.py,sha256=b59bf885a10e7468069e5523eb7d23bfa6d41efc7d0521f7622e4dd2260fe879,2194
70
- minitap/mobile_use/tools/mobile/open_link.py,sha256=ad363f83b254a8e3e5969b4d8b90ef4e1fc4eceacc9c976e02a3e110e80ad23f,1875
71
- minitap/mobile_use/tools/mobile/paste_text.py,sha256=dc126297f174cdcdfc6f6d148fdb6a96ecb7813926e441ce0631e963b196b448,2101
72
- minitap/mobile_use/tools/mobile/press_key.py,sha256=a22d416279c33f2e843aaf28e4466a7eeae59aa690312c8866b62a3f84b57d5b,1939
73
- minitap/mobile_use/tools/mobile/stop_app.py,sha256=8fc1cf5682232d670270a7e909f365a795150643eac5310f042d792b79e7c0c0,2062
74
- minitap/mobile_use/tools/mobile/swipe.py,sha256=23c31022bef827afbfe90c7f6a7d195e5bef57eb3972cd32b0d2aa054b4c6d26,5754
75
- minitap/mobile_use/tools/mobile/take_screenshot.py,sha256=8762be82e0fb55549f1271a8e4c7b25040f906d21ed19f52121a616e70eb9bb0,2271
76
- minitap/mobile_use/tools/mobile/tap.py,sha256=d7a3de2ddb78b051b22d7886553d75bab13562abfc8562957c15fb16dd484a0a,2297
77
- minitap/mobile_use/tools/mobile/wait_for_animation_to_end.py,sha256=967d0df11dfb073dde6308761e9795e02c93ee2b0cbe17caf6edbe4a8beea28a,2493
78
- minitap/mobile_use/tools/tool_wrapper.py,sha256=f0f27beaae25a1bcfd9b72bf994de84b2e5fba9e242d8ad18a8d1a97cd7619e4,454
79
- minitap/mobile_use/tools/utils.py,sha256=bf6924e3d9e5338c2e04d88fd0ad9ed03a0c02058b62373025fa4b3a805712ae,2694
80
- minitap/mobile_use/utils/cli_helpers.py,sha256=1c53b6ea6cd2ba861302b182944c6a3a31dac27e316bca2c65cd6a3ca3256e81,1720
81
- minitap/mobile_use/utils/cli_selection.py,sha256=62e949bf075e984b5d23b4a9880ff2bccf8f9e0f7ccb48120030a6a82075352b,4788
82
- minitap/mobile_use/utils/conversations.py,sha256=8f1d924300ec3f6f7c71510c21e3011b75caca5b1fff06fdaccb377c3cde24ec,914
83
- minitap/mobile_use/utils/decorators.py,sha256=0bb30fb4f5d5cef0aef45643e68e199d39910f1d771eb4086f3e083d566c16a5,3591
84
- minitap/mobile_use/utils/errors.py,sha256=6c5566484cff48ce1eb168c3cbe93d6e5365457828f59616a15147598feef769,156
85
- minitap/mobile_use/utils/file.py,sha256=1ca968613452a273b23e4f58460ab39f87255b02cdb6fb8ca04f4e628b346070,315
86
- minitap/mobile_use/utils/logger.py,sha256=011fe08c39b111997ec685b9f0b378761607e35ac049234b5e86c2b58f29bbe3,5633
87
- minitap/mobile_use/utils/media.py,sha256=29fa7f009a0f2bd60de2a9eba4a90e6eecc91cc67c2736b753506d48ab2bf5eb,2228
88
- minitap/mobile_use/utils/recorder.py,sha256=f90c511a182553684fc4c51195dec6859c7867b83b66bd56dd13f0cdcab2b3ae,1724
89
- minitap/mobile_use/utils/requests_utils.py,sha256=5c3a2e2aff7c521cd6a43b74c084e2244e1ff55065a5b722e6e251c6419861fd,1168
90
- minitap/mobile_use/utils/shell_utils.py,sha256=b35ae7f863379adb86c9ba0f9b3b9d4954118d12aef1ffed0bc260b32d73d857,650
91
- minitap/mobile_use/utils/time.py,sha256=41bfaabb3751de11443ccb4a3f1f53d5ebacc7744c72e32695fdcc3d23f17d49,160
92
- minitap/mobile_use/utils/ui_hierarchy.py,sha256=b52acd081ac18169dab94b7187c6ffed4db72d4e4b7f56aeca9ef5b81166c4e0,3630
93
- minitap_mobile_use-2.2.0.dist-info/WHEEL,sha256=ab6157bc637547491fb4567cd7ddf26b04d63382916ca16c29a5c8e94c9c9ef7,79
94
- minitap_mobile_use-2.2.0.dist-info/entry_points.txt,sha256=663a29cfd551a4eaa0f27335f0bd7e4a732a4e39c76b68ef5c8dc444d4a285fa,60
95
- minitap_mobile_use-2.2.0.dist-info/METADATA,sha256=b0076a10119155863d990ff779bb901857df8b74c1321d6fef45ac6a16029db8,11825
96
- minitap_mobile_use-2.2.0.dist-info/RECORD,,