minitap-mobile-use 2.0.0__py3-none-any.whl → 2.1.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.
- minitap/mobile_use/agents/cortex/cortex.md +19 -10
- minitap/mobile_use/agents/cortex/cortex.py +15 -2
- minitap/mobile_use/agents/cortex/types.py +2 -4
- minitap/mobile_use/agents/executor/executor.md +20 -15
- minitap/mobile_use/agents/executor/executor.py +6 -18
- minitap/mobile_use/agents/executor/tool_node.py +105 -0
- minitap/mobile_use/agents/hopper/hopper.md +2 -10
- minitap/mobile_use/agents/hopper/hopper.py +4 -9
- minitap/mobile_use/agents/orchestrator/human.md +3 -4
- minitap/mobile_use/agents/orchestrator/orchestrator.md +25 -7
- minitap/mobile_use/agents/orchestrator/orchestrator.py +56 -56
- minitap/mobile_use/agents/orchestrator/types.py +5 -8
- minitap/mobile_use/agents/outputter/outputter.py +1 -2
- minitap/mobile_use/agents/planner/planner.md +25 -15
- minitap/mobile_use/agents/planner/planner.py +7 -1
- minitap/mobile_use/agents/planner/types.py +10 -5
- minitap/mobile_use/agents/planner/utils.py +11 -0
- minitap/mobile_use/agents/summarizer/summarizer.py +2 -1
- minitap/mobile_use/clients/device_hardware_client.py +3 -0
- minitap/mobile_use/config.py +16 -14
- minitap/mobile_use/constants.py +1 -0
- minitap/mobile_use/context.py +3 -4
- minitap/mobile_use/controllers/mobile_command_controller.py +37 -26
- minitap/mobile_use/controllers/platform_specific_commands_controller.py +3 -4
- minitap/mobile_use/graph/graph.py +10 -31
- minitap/mobile_use/graph/state.py +34 -14
- minitap/mobile_use/main.py +11 -8
- minitap/mobile_use/sdk/agent.py +78 -63
- minitap/mobile_use/sdk/builders/agent_config_builder.py +23 -11
- minitap/mobile_use/sdk/builders/task_request_builder.py +9 -9
- minitap/mobile_use/sdk/examples/smart_notification_assistant.py +1 -2
- minitap/mobile_use/sdk/types/agent.py +10 -5
- minitap/mobile_use/sdk/types/task.py +19 -18
- minitap/mobile_use/sdk/utils.py +1 -1
- minitap/mobile_use/servers/config.py +1 -2
- minitap/mobile_use/servers/device_hardware_bridge.py +3 -4
- minitap/mobile_use/servers/start_servers.py +4 -4
- minitap/mobile_use/servers/stop_servers.py +12 -18
- minitap/mobile_use/services/llm.py +4 -2
- minitap/mobile_use/tools/index.py +11 -7
- minitap/mobile_use/tools/mobile/back.py +8 -12
- minitap/mobile_use/tools/mobile/clear_text.py +277 -0
- minitap/mobile_use/tools/mobile/copy_text_from.py +8 -12
- minitap/mobile_use/tools/mobile/erase_one_char.py +56 -0
- minitap/mobile_use/tools/mobile/find_packages.py +69 -0
- minitap/mobile_use/tools/mobile/input_text.py +55 -32
- minitap/mobile_use/tools/mobile/launch_app.py +8 -12
- minitap/mobile_use/tools/mobile/long_press_on.py +9 -13
- minitap/mobile_use/tools/mobile/open_link.py +8 -12
- minitap/mobile_use/tools/mobile/paste_text.py +8 -12
- minitap/mobile_use/tools/mobile/press_key.py +8 -12
- minitap/mobile_use/tools/mobile/stop_app.py +9 -13
- minitap/mobile_use/tools/mobile/swipe.py +8 -12
- minitap/mobile_use/tools/mobile/take_screenshot.py +8 -12
- minitap/mobile_use/tools/mobile/tap.py +9 -13
- minitap/mobile_use/tools/mobile/wait_for_animation_to_end.py +9 -13
- minitap/mobile_use/tools/tool_wrapper.py +1 -23
- minitap/mobile_use/tools/utils.py +86 -0
- minitap/mobile_use/utils/cli_helpers.py +1 -2
- minitap/mobile_use/utils/cli_selection.py +5 -6
- minitap/mobile_use/utils/decorators.py +21 -20
- minitap/mobile_use/utils/logger.py +3 -4
- minitap/mobile_use/utils/media.py +1 -1
- minitap/mobile_use/utils/recorder.py +11 -10
- minitap/mobile_use/utils/ui_hierarchy.py +98 -3
- {minitap_mobile_use-2.0.0.dist-info → minitap_mobile_use-2.1.0.dist-info}/METADATA +12 -2
- minitap_mobile_use-2.1.0.dist-info/RECORD +96 -0
- minitap/mobile_use/agents/executor/executor_context_cleaner.py +0 -27
- minitap/mobile_use/tools/mobile/erase_text.py +0 -124
- minitap/mobile_use/tools/mobile/list_packages.py +0 -78
- minitap/mobile_use/tools/mobile/run_flow.py +0 -57
- minitap_mobile_use-2.0.0.dist-info/RECORD +0 -95
- {minitap_mobile_use-2.0.0.dist-info → minitap_mobile_use-2.1.0.dist-info}/WHEEL +0 -0
- {minitap_mobile_use-2.0.0.dist-info → minitap_mobile_use-2.1.0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
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=69358852474f65144486fc60196b17bdc5f99d2891fbb4cae26fd2331260f6ba,5598
|
|
4
|
+
minitap/mobile_use/agents/cortex/cortex.py,sha256=232dfe2e2dbbfbc34873875ee32cf5f9d4156f6b9afc9d9d9146addd102be40c,4896
|
|
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=be92742d91296650288c12e83f8065589d8eab7aeaa977a47c34ed25879a9bb6,2771
|
|
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=41c973c8d34a6c24c81b275f725fc447d58805dcea1900f4285c5980502fc756,3337
|
|
21
|
+
minitap/mobile_use/agents/planner/planner.py,sha256=0b8c92857847d390d98efb8d1130762883e46ea4dfc354ea3352e45450913771,2686
|
|
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=d5bd2bf71f229d57757bf8375b5caf858b4964178507ecb855942bb197646fdd,9399
|
|
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=1ea22f569affae3d82ea74afd37629898cf3d10b3bdf6cb1a7671d1a09f2c000,12206
|
|
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=51a826974071997d7ca1d6913e199c7844633e483db0471f3c294688be028834,3743
|
|
37
|
+
minitap/mobile_use/sdk/__init__.py,sha256=4e5555c0597242b9523827194a2500b9c6d7e5c04b1ccd2056c9b1f4d42a31cd,318
|
|
38
|
+
minitap/mobile_use/sdk/agent.py,sha256=43b198cfabdffa28add7f1b77046704ee28da74da92b710dc8bb265c8df16472,20898
|
|
39
|
+
minitap/mobile_use/sdk/builders/__init__.py,sha256=d6c96d39b80900a114698ef205ab5061a541f33bfa99c456d9345e5adb8ff6ff,424
|
|
40
|
+
minitap/mobile_use/sdk/builders/agent_config_builder.py,sha256=d963ab932fa78117eef3ea4a2503c34b872f7b865c1a2e25b20e7fa5072e466b,7600
|
|
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=493c77e43fcb58535eef43416716a3283488577c127060de5c0317d0b737b01f,945
|
|
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=c3e99290431bcdcbf81cbffd08bf3abbd4a3760c20cb0873278c418df0d28b0f,3724
|
|
61
|
+
minitap/mobile_use/tools/index.py,sha256=db61053f24beb88952cc34be37336defd8ebf5e1fec0ecf81e2439a76b29bde1,2449
|
|
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=4d0da8c0db0995598a9a74ebfc5e7fdc176abc8e5277fd8d5f588de864947dda,1878
|
|
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=166d9c4b7950e66407eb397a81d88354779ee3056a8dc7ad1bf160a3aa54580c,334
|
|
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=83dcb953b9caf00bf3e4853c3eee447166e1279e7ceefbbeb25d93e932ec698d,1937
|
|
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.1.0.dist-info/WHEEL,sha256=ab6157bc637547491fb4567cd7ddf26b04d63382916ca16c29a5c8e94c9c9ef7,79
|
|
94
|
+
minitap_mobile_use-2.1.0.dist-info/entry_points.txt,sha256=663a29cfd551a4eaa0f27335f0bd7e4a732a4e39c76b68ef5c8dc444d4a285fa,60
|
|
95
|
+
minitap_mobile_use-2.1.0.dist-info/METADATA,sha256=95abc6db29ea323284374508c8faba3fd6cf83db998a2a45b82585af354b8ab2,10574
|
|
96
|
+
minitap_mobile_use-2.1.0.dist-info/RECORD,,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
from langchain_core.messages.ai import AIMessage
|
|
2
|
-
from minitap.mobile_use.graph.state import State
|
|
3
|
-
from minitap.mobile_use.utils.decorators import wrap_with_callbacks
|
|
4
|
-
from minitap.mobile_use.utils.logger import get_logger
|
|
5
|
-
|
|
6
|
-
logger = get_logger(__name__)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
@wrap_with_callbacks(
|
|
10
|
-
before=lambda: logger.info("Starting Executor Context Cleaner..."),
|
|
11
|
-
on_success=lambda _: logger.success("Executor Context Cleaner"),
|
|
12
|
-
on_failure=lambda _: logger.error("Executor Context Cleaner"),
|
|
13
|
-
)
|
|
14
|
-
async def executor_context_cleaner_node(state: State):
|
|
15
|
-
"""Clears the executor context."""
|
|
16
|
-
update: dict = {
|
|
17
|
-
"executor_failed": False,
|
|
18
|
-
"executor_retrigger": False,
|
|
19
|
-
}
|
|
20
|
-
if len(state.executor_messages) > 0 and isinstance(state.executor_messages[-1], AIMessage):
|
|
21
|
-
last_executor_message = state.executor_messages[-1]
|
|
22
|
-
if len(last_executor_message.tool_calls) > 0:
|
|
23
|
-
# A previous tool call raised an uncaught exception -> sanitize the executor messages
|
|
24
|
-
tool_error_message = state.messages[-1]
|
|
25
|
-
logger.error("Tool call failed with error: " + str(tool_error_message.content))
|
|
26
|
-
update["executor_messages"] = [tool_error_message]
|
|
27
|
-
return update
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from langchain_core.messages import ToolMessage
|
|
4
|
-
from langchain_core.tools import tool
|
|
5
|
-
from langchain_core.tools.base import InjectedToolCallId
|
|
6
|
-
from langgraph.prebuilt import InjectedState
|
|
7
|
-
from langgraph.types import Command
|
|
8
|
-
from typing_extensions import Annotated
|
|
9
|
-
|
|
10
|
-
from minitap.mobile_use.controllers.mobile_command_controller import (
|
|
11
|
-
ScreenDataResponse,
|
|
12
|
-
WaitTimeout,
|
|
13
|
-
get_screen_data,
|
|
14
|
-
wait_for_animation_to_end,
|
|
15
|
-
)
|
|
16
|
-
from minitap.mobile_use.controllers.mobile_command_controller import (
|
|
17
|
-
erase_text as erase_text_controller,
|
|
18
|
-
)
|
|
19
|
-
from minitap.mobile_use.graph.state import State
|
|
20
|
-
from minitap.mobile_use.tools.tool_wrapper import ExecutorMetadata, ToolWrapper
|
|
21
|
-
from minitap.mobile_use.utils.ui_hierarchy import find_element_by_resource_id
|
|
22
|
-
from minitap.mobile_use.context import MobileUseContext
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
def get_erase_text_tool(ctx: MobileUseContext):
|
|
26
|
-
@tool
|
|
27
|
-
def erase_text(
|
|
28
|
-
tool_call_id: Annotated[str, InjectedToolCallId],
|
|
29
|
-
state: Annotated[State, InjectedState],
|
|
30
|
-
agent_thought: str,
|
|
31
|
-
input_text_resource_id: str,
|
|
32
|
-
executor_metadata: Optional[ExecutorMetadata],
|
|
33
|
-
nb_chars: Optional[int] = None,
|
|
34
|
-
):
|
|
35
|
-
"""
|
|
36
|
-
Erases up to `nb_chars` characters from the currently selected text field (default: 50).
|
|
37
|
-
|
|
38
|
-
iOS Note:
|
|
39
|
-
This may be flaky on iOS. As a workaround:
|
|
40
|
-
- long_press_on("<input id>")
|
|
41
|
-
- tap_on("Select All")
|
|
42
|
-
- erase_text()
|
|
43
|
-
|
|
44
|
-
Matches 'clearText' in search.
|
|
45
|
-
"""
|
|
46
|
-
# value of text key from input_text_ressource_id
|
|
47
|
-
latest_ui_hierarchy = state.latest_ui_hierarchy
|
|
48
|
-
previous_text_value = None
|
|
49
|
-
new_text_value = None
|
|
50
|
-
nb_char_erased = -1
|
|
51
|
-
if latest_ui_hierarchy is not None:
|
|
52
|
-
text_input_element = find_element_by_resource_id(
|
|
53
|
-
ui_hierarchy=latest_ui_hierarchy, resource_id=input_text_resource_id
|
|
54
|
-
)
|
|
55
|
-
if text_input_element:
|
|
56
|
-
previous_text_value = text_input_element.get("text", None)
|
|
57
|
-
|
|
58
|
-
output = erase_text_controller(ctx=ctx, nb_chars=nb_chars)
|
|
59
|
-
has_failed = output is not None
|
|
60
|
-
|
|
61
|
-
wait_for_animation_to_end(ctx=ctx, timeout=WaitTimeout.MEDIUM)
|
|
62
|
-
|
|
63
|
-
screen_data: ScreenDataResponse = get_screen_data(screen_api_client=ctx.screen_api_client)
|
|
64
|
-
latest_ui_hierarchy = screen_data.elements
|
|
65
|
-
|
|
66
|
-
if not has_failed and latest_ui_hierarchy is not None:
|
|
67
|
-
text_input_element = find_element_by_resource_id(
|
|
68
|
-
ui_hierarchy=latest_ui_hierarchy, resource_id=input_text_resource_id
|
|
69
|
-
)
|
|
70
|
-
if text_input_element:
|
|
71
|
-
new_text_value = text_input_element.get("text", None)
|
|
72
|
-
|
|
73
|
-
if previous_text_value is not None and new_text_value is not None:
|
|
74
|
-
if previous_text_value == new_text_value:
|
|
75
|
-
has_failed = True
|
|
76
|
-
output = (
|
|
77
|
-
"Unable to erase text: text is very likely a placeholder."
|
|
78
|
-
" Thus, assuming the text input is empty."
|
|
79
|
-
)
|
|
80
|
-
else:
|
|
81
|
-
nb_char_erased = len(previous_text_value) - len(new_text_value)
|
|
82
|
-
tool_message = ToolMessage(
|
|
83
|
-
tool_call_id=tool_call_id,
|
|
84
|
-
content=erase_text_wrapper.on_failure_fn(output)
|
|
85
|
-
if has_failed
|
|
86
|
-
else erase_text_wrapper.on_success_fn(
|
|
87
|
-
nb_char_erased=nb_char_erased, new_text_value=new_text_value
|
|
88
|
-
),
|
|
89
|
-
additional_kwargs={"error": output} if has_failed else {},
|
|
90
|
-
)
|
|
91
|
-
|
|
92
|
-
return Command(
|
|
93
|
-
update=erase_text_wrapper.handle_executor_state_fields(
|
|
94
|
-
ctx=ctx,
|
|
95
|
-
state=state,
|
|
96
|
-
executor_metadata=executor_metadata,
|
|
97
|
-
tool_message=tool_message,
|
|
98
|
-
is_failure=has_failed,
|
|
99
|
-
updates={
|
|
100
|
-
"agents_thoughts": [agent_thought],
|
|
101
|
-
"messages": [tool_message],
|
|
102
|
-
},
|
|
103
|
-
),
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
return erase_text
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
def format_success_message(nb_char_erased: int, new_text_value: Optional[str]):
|
|
110
|
-
output = ""
|
|
111
|
-
if nb_char_erased == -1:
|
|
112
|
-
output = "Text erased successfully."
|
|
113
|
-
else:
|
|
114
|
-
output = f"Text erased successfully. {nb_char_erased} characters were erased."
|
|
115
|
-
if new_text_value is not None:
|
|
116
|
-
output += f" New text in the input is {new_text_value}."
|
|
117
|
-
return output
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
erase_text_wrapper = ToolWrapper(
|
|
121
|
-
tool_fn_getter=get_erase_text_tool,
|
|
122
|
-
on_success_fn=format_success_message,
|
|
123
|
-
on_failure_fn=lambda output: "Failed to erase text. " + output,
|
|
124
|
-
)
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from langchain_core.messages import ToolMessage
|
|
4
|
-
from langchain_core.tools import tool
|
|
5
|
-
from langchain_core.tools.base import InjectedToolCallId
|
|
6
|
-
from langgraph.prebuilt import InjectedState
|
|
7
|
-
from langgraph.types import Command
|
|
8
|
-
from minitap.mobile_use.agents.hopper.hopper import HopperOutput, hopper
|
|
9
|
-
from minitap.mobile_use.context import MobileUseContext
|
|
10
|
-
from minitap.mobile_use.controllers.platform_specific_commands_controller import (
|
|
11
|
-
list_packages as list_packages_command,
|
|
12
|
-
)
|
|
13
|
-
from minitap.mobile_use.graph.state import State
|
|
14
|
-
from minitap.mobile_use.tools.tool_wrapper import ExecutorMetadata, ToolWrapper
|
|
15
|
-
from typing_extensions import Annotated
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
def get_list_packages_tool(ctx: MobileUseContext):
|
|
19
|
-
@tool
|
|
20
|
-
async def list_packages(
|
|
21
|
-
tool_call_id: Annotated[str, InjectedToolCallId],
|
|
22
|
-
state: Annotated[State, InjectedState],
|
|
23
|
-
agent_thought: str,
|
|
24
|
-
executor_metadata: Optional[ExecutorMetadata],
|
|
25
|
-
) -> Command:
|
|
26
|
-
"""
|
|
27
|
-
Lists all the applications on the device.
|
|
28
|
-
Outputs the full package names list (android) or bundle ids list (IOS).
|
|
29
|
-
"""
|
|
30
|
-
output: str = list_packages_command(ctx=ctx)
|
|
31
|
-
has_failed = False
|
|
32
|
-
|
|
33
|
-
try:
|
|
34
|
-
hopper_output: HopperOutput = await hopper(
|
|
35
|
-
ctx=ctx,
|
|
36
|
-
initial_goal=state.initial_goal,
|
|
37
|
-
messages=state.messages,
|
|
38
|
-
data=output,
|
|
39
|
-
)
|
|
40
|
-
tool_message = ToolMessage(
|
|
41
|
-
tool_call_id=tool_call_id,
|
|
42
|
-
content=list_packages_wrapper.on_success_fn()
|
|
43
|
-
+ ": "
|
|
44
|
-
+ hopper_output.step
|
|
45
|
-
+ ": "
|
|
46
|
-
+ hopper_output.output,
|
|
47
|
-
)
|
|
48
|
-
except Exception as e:
|
|
49
|
-
print("Failed to extract insights from data: " + str(e))
|
|
50
|
-
tool_message = ToolMessage(
|
|
51
|
-
tool_call_id=tool_call_id,
|
|
52
|
-
content=list_packages_wrapper.on_failure_fn(),
|
|
53
|
-
additional_kwargs={"output": output},
|
|
54
|
-
)
|
|
55
|
-
has_failed = True
|
|
56
|
-
|
|
57
|
-
return Command(
|
|
58
|
-
update=list_packages_wrapper.handle_executor_state_fields(
|
|
59
|
-
ctx=ctx,
|
|
60
|
-
state=state,
|
|
61
|
-
executor_metadata=executor_metadata,
|
|
62
|
-
tool_message=tool_message,
|
|
63
|
-
is_failure=has_failed,
|
|
64
|
-
updates={
|
|
65
|
-
"agents_thoughts": [agent_thought],
|
|
66
|
-
"messages": [tool_message],
|
|
67
|
-
},
|
|
68
|
-
),
|
|
69
|
-
)
|
|
70
|
-
|
|
71
|
-
return list_packages
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
list_packages_wrapper = ToolWrapper(
|
|
75
|
-
tool_fn_getter=get_list_packages_tool,
|
|
76
|
-
on_success_fn=lambda: "Packages listed successfully.",
|
|
77
|
-
on_failure_fn=lambda: "Failed to list packages.",
|
|
78
|
-
)
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
from langchain_core.messages import ToolMessage
|
|
3
|
-
from langchain_core.tools import tool
|
|
4
|
-
from langchain_core.tools.base import InjectedToolCallId
|
|
5
|
-
from langgraph.prebuilt import InjectedState
|
|
6
|
-
from langgraph.types import Command
|
|
7
|
-
from minitap.mobile_use.context import MobileUseContext
|
|
8
|
-
from minitap.mobile_use.controllers.mobile_command_controller import run_flow as run_flow_controller
|
|
9
|
-
from minitap.mobile_use.graph.state import State
|
|
10
|
-
from minitap.mobile_use.tools.tool_wrapper import ExecutorMetadata, ToolWrapper
|
|
11
|
-
from typing_extensions import Annotated
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def get_run_flow_tool(ctx: MobileUseContext):
|
|
15
|
-
@tool
|
|
16
|
-
def run_flow(
|
|
17
|
-
tool_call_id: Annotated[str, InjectedToolCallId],
|
|
18
|
-
state: Annotated[State, InjectedState],
|
|
19
|
-
agent_thought: str,
|
|
20
|
-
flow_steps: list,
|
|
21
|
-
executor_metadata: Optional[ExecutorMetadata],
|
|
22
|
-
dry_run: bool = False,
|
|
23
|
-
):
|
|
24
|
-
"""
|
|
25
|
-
Run a flow i.e, a sequence of commands.
|
|
26
|
-
"""
|
|
27
|
-
output = run_flow_controller(ctx=ctx, flow_steps=flow_steps, dry_run=dry_run)
|
|
28
|
-
has_failed = output is not None
|
|
29
|
-
tool_message = ToolMessage(
|
|
30
|
-
tool_call_id=tool_call_id,
|
|
31
|
-
content=run_flow_wrapper.on_failure_fn()
|
|
32
|
-
if has_failed
|
|
33
|
-
else run_flow_wrapper.on_success_fn(),
|
|
34
|
-
additional_kwargs={"error": output} if has_failed else {},
|
|
35
|
-
)
|
|
36
|
-
return Command(
|
|
37
|
-
update=run_flow_wrapper.handle_executor_state_fields(
|
|
38
|
-
ctx=ctx,
|
|
39
|
-
state=state,
|
|
40
|
-
executor_metadata=executor_metadata,
|
|
41
|
-
tool_message=tool_message,
|
|
42
|
-
is_failure=has_failed,
|
|
43
|
-
updates={
|
|
44
|
-
"agents_thoughts": [agent_thought],
|
|
45
|
-
"messages": [tool_message],
|
|
46
|
-
},
|
|
47
|
-
),
|
|
48
|
-
)
|
|
49
|
-
|
|
50
|
-
return run_flow
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
run_flow_wrapper = ToolWrapper(
|
|
54
|
-
tool_fn_getter=get_run_flow_tool,
|
|
55
|
-
on_success_fn=lambda: "Flow run successfully.",
|
|
56
|
-
on_failure_fn=lambda: "Failed to run flow.",
|
|
57
|
-
)
|
|
@@ -1,95 +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=a51e032bbcc456ccee50883f176cb857c20241a2b2b63012213835434dcdfe60,4646
|
|
4
|
-
minitap/mobile_use/agents/cortex/cortex.py,sha256=efdc52d7ccb06fe00c607408144b7b26cca1b2b7241d38b47d78620898d667b6,4264
|
|
5
|
-
minitap/mobile_use/agents/cortex/types.py,sha256=19b8601c6dae8dae6259c027b63be541a9dc293e4d141e46f11f621ec35e45dc,399
|
|
6
|
-
minitap/mobile_use/agents/executor/executor.md,sha256=5d80434859d7899ceb4d07bf8b8aa1d32d43febb312e97a8966c3c6fba04ca17,2911
|
|
7
|
-
minitap/mobile_use/agents/executor/executor.py,sha256=20cbb293622cfdfff77ae6cf1c39f06977e41ecd251369c44c221fb7cee46947,3405
|
|
8
|
-
minitap/mobile_use/agents/executor/executor_context_cleaner.py,sha256=b813652ee951473df1a731741b7cf026addc7462f3668364464f518448309722,1211
|
|
9
|
-
minitap/mobile_use/agents/executor/utils.py,sha256=1a387d30047d3be05b5e550433866abe4388222b3f95d1360847870155ef8f12,368
|
|
10
|
-
minitap/mobile_use/agents/hopper/hopper.md,sha256=d80ca663c3404efa4612e8a70cc66e25ad36e66adee7ecd15a67a91aebd92610,732
|
|
11
|
-
minitap/mobile_use/agents/hopper/hopper.py,sha256=39a4976a044fdc505e0980c415877f8c1723bdcb6e75e53123897bec49753963,1426
|
|
12
|
-
minitap/mobile_use/agents/orchestrator/human.md,sha256=212c6d15d99e6d7294ad37bbf64707a7d9669d279c69c56b331db5582c7694aa,186
|
|
13
|
-
minitap/mobile_use/agents/orchestrator/orchestrator.md,sha256=159e6adfe5ee54529f76a4a1462c10418d690efefe0c0cd87c23584b02b4b96d,1242
|
|
14
|
-
minitap/mobile_use/agents/orchestrator/orchestrator.py,sha256=b0335056e117389592ee0bc0b1596c5f376b57f7ffa7a705334ce701a0fd0a8c,4391
|
|
15
|
-
minitap/mobile_use/agents/orchestrator/types.py,sha256=11ebb2317b5e65816d623499d4e445c705320bc7be06ef67ea95d0e38eaccd7d,244
|
|
16
|
-
minitap/mobile_use/agents/outputter/human.md,sha256=6b9b45c640b163554524b1aec4cd97134c628eeb8557a32e23c8f966d32f642e,771
|
|
17
|
-
minitap/mobile_use/agents/outputter/outputter.py,sha256=fd6143776e916439f39d823bf6860e3138d1d191b89d60d8cc809fbb49bd3808,2792
|
|
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=6c1945332a8606a71497829c55808eca951b386a5bfb4430a231f39d905bff7e,2568
|
|
21
|
-
minitap/mobile_use/agents/planner/planner.py,sha256=ac85084c8967ec63fc66d404eba2b4f0dad59b7512bd0bc9928d2b4289208a75,2408
|
|
22
|
-
minitap/mobile_use/agents/planner/types.py,sha256=1d434d15fb3b401331ae9a41b37638907f55d70e8dcc7963d046ecab3d7acab6,1202
|
|
23
|
-
minitap/mobile_use/agents/planner/utils.py,sha256=5032789152b4824458a96acef17d4b865dcf451e80005d3e42d75f936965b3b5,1486
|
|
24
|
-
minitap/mobile_use/agents/summarizer/summarizer.py,sha256=63899afe2c9c7ecbba4d1d6fdf18c865a2310cfe76e4c6c9b31e74d6746eb5b7,1070
|
|
25
|
-
minitap/mobile_use/clients/device_hardware_client.py,sha256=1b3e2601715296444b8e0166cb8654ab0051f1b74a32d93bb55d29e4179440ea,734
|
|
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=4aa7a41d8968ca4e815467b91664a5e835d200d2e99483e141c71a24896d3a31,9427
|
|
29
|
-
minitap/mobile_use/constants.py,sha256=93639619ee5e0e1c228a00356c074f044561132d75a902c560b9832768c7651b,51
|
|
30
|
-
minitap/mobile_use/context.py,sha256=8bed4b88c01c84a3686aebaa3b66454cc705f000d694ecd2ea73753be29b0c01,1792
|
|
31
|
-
minitap/mobile_use/controllers/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
|
|
32
|
-
minitap/mobile_use/controllers/mobile_command_controller.py,sha256=6096f559354f9a8b37b1d76fd2d29ad8ae7fad1bdf585b9d789e48aa8794998e,11760
|
|
33
|
-
minitap/mobile_use/controllers/platform_specific_commands_controller.py,sha256=3d62496216bd6e16a7127fda866a1eddd9086c6d5d19a23a997dc44f56d6e8f4,2745
|
|
34
|
-
minitap/mobile_use/graph/graph.py,sha256=5a44c5b571416656c6a6763fbff5035f57232ba98dcdee965db0fea5525d20bf,4855
|
|
35
|
-
minitap/mobile_use/graph/state.py,sha256=42b17c5c52d1bb1f5b6e20e456f60baa322087367107925d624e339a28fb17d6,2972
|
|
36
|
-
minitap/mobile_use/main.py,sha256=91c068961fbe3ca6d896796c5814dfa80cd0b16436c0e8dabebfe520e3d24205,3605
|
|
37
|
-
minitap/mobile_use/sdk/__init__.py,sha256=4e5555c0597242b9523827194a2500b9c6d7e5c04b1ccd2056c9b1f4d42a31cd,318
|
|
38
|
-
minitap/mobile_use/sdk/agent.py,sha256=b32aa85b9a6426e414786373ba6ac62a192e0e5d73926037a1a2197ed7a80cd5,20109
|
|
39
|
-
minitap/mobile_use/sdk/builders/__init__.py,sha256=d6c96d39b80900a114698ef205ab5061a541f33bfa99c456d9345e5adb8ff6ff,424
|
|
40
|
-
minitap/mobile_use/sdk/builders/agent_config_builder.py,sha256=88b9104443c1e2fe90d3f6bb3bfa9222091a72f209cf1234a4e9b52eb743a73f,7233
|
|
41
|
-
minitap/mobile_use/sdk/builders/index.py,sha256=64336ac3b3dea4673a48e95b8c5ac4196ecd5d2196380377d102593d0a1dc138,442
|
|
42
|
-
minitap/mobile_use/sdk/builders/task_request_builder.py,sha256=739f7886cbcc87602f83f5fa37f5da049323a7754f2254840bedc1f74abe19d2,6906
|
|
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=bf43241c33b882069d5845a6f0ea78038e4c484299893ce8345cebc5836a4e0c,6386
|
|
48
|
-
minitap/mobile_use/sdk/types/__init__.py,sha256=5dd148d83bf6261ac8ac60c994e2496b5bf535591d0835807d5fe394fd85a954,1014
|
|
49
|
-
minitap/mobile_use/sdk/types/agent.py,sha256=f8af16989d3d1d5b5cfc18e78e5762d37f30df3788663f3fb1b774621227c6b1,2133
|
|
50
|
-
minitap/mobile_use/sdk/types/exceptions.py,sha256=56ac3f749730740951448b1b0f200be21331dc0800916a87587b21e7850120a5,2288
|
|
51
|
-
minitap/mobile_use/sdk/types/task.py,sha256=d94e69dd0c58ecc8b613969dd223b45177a174b8a54f97f3a1cbf251517f31be,5915
|
|
52
|
-
minitap/mobile_use/sdk/utils.py,sha256=c32794fa7877062963c9fc035625668506b5ae05ae06aa47364356103fdce690,950
|
|
53
|
-
minitap/mobile_use/servers/config.py,sha256=b77296e56b8a0a3211bff4795d473cdc5fd58b31d3acaa8f9d920e6e4bed68f9,606
|
|
54
|
-
minitap/mobile_use/servers/device_hardware_bridge.py,sha256=ac446958157e7049dbf6eda6c8a55d710a28c221cb0042f271f63033186a2780,7211
|
|
55
|
-
minitap/mobile_use/servers/device_screen_api.py,sha256=63bf866f17cde4ab97631b710080866b8427225d3857b2351ab83db38a9c5107,5064
|
|
56
|
-
minitap/mobile_use/servers/start_servers.py,sha256=04fd57f629c39bfa012af6d953280567c7b9eb1fa1ad055b5d1f3c792a9b22f5,5056
|
|
57
|
-
minitap/mobile_use/servers/stop_servers.py,sha256=47c3dd2466a5dce9e6300226a25e505a00a4710d4f2ec3a92d0fdaf1ff11b0d4,7564
|
|
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=de49162b21afcf17396f98633cec1ff001814143145eff06e4dced18f5848acf,3665
|
|
61
|
-
minitap/mobile_use/tools/index.py,sha256=e7635124296215de6594f410812efedae73025e0a7085fb60b4908f3ea29e4f7,2309
|
|
62
|
-
minitap/mobile_use/tools/mobile/back.py,sha256=c98bada46ba3d09b326499a14d3fb365fada2f20dd51e73f2f2d7239c7bec282,1925
|
|
63
|
-
minitap/mobile_use/tools/mobile/copy_text_from.py,sha256=dae382f19f91f45f59f767649f79f79440945207bee63b35b9d61abcf5c8dea2,2859
|
|
64
|
-
minitap/mobile_use/tools/mobile/erase_text.py,sha256=0486e94926eb21618d5f1feb9be940e46ca757904f16c95f481652e4a7622cb1,4612
|
|
65
|
-
minitap/mobile_use/tools/mobile/input_text.py,sha256=9b0e349145e555b308ae4bb29df40ba38b2d9529b8c3c59bfb3353d2e4a8c746,2507
|
|
66
|
-
minitap/mobile_use/tools/mobile/launch_app.py,sha256=c7b8495920c8a7633245a8f8d207028b72d02e795d08cc382ea6b7810eb588f0,2166
|
|
67
|
-
minitap/mobile_use/tools/mobile/list_packages.py,sha256=88d7db8b54bd7f52b83722cfb4dd74064de2aa2269f82077ed7e2842e391489a,2749
|
|
68
|
-
minitap/mobile_use/tools/mobile/long_press_on.py,sha256=71fc373170af94321ce737bb479a026140ac03f2a5db4e4ad2ac9d0358fd2003,2339
|
|
69
|
-
minitap/mobile_use/tools/mobile/open_link.py,sha256=d00d722753a39908f96a66027f8e4bbc079686f0b1ea17bcfb9f8dc16af219a2,2013
|
|
70
|
-
minitap/mobile_use/tools/mobile/paste_text.py,sha256=2242a5385c1fbb219b88160bccfc0f76f1d6a32d8e8981978fac081b936e2e58,2240
|
|
71
|
-
minitap/mobile_use/tools/mobile/press_key.py,sha256=2f6e8f2dfe25f3f08265b04d7f769b006b0745a0a231546837bac53ba780fa4b,2077
|
|
72
|
-
minitap/mobile_use/tools/mobile/run_flow.py,sha256=ac1c1ccf1abaa0689474ea770d2855fec129882df4ce32b7d263e712ea838700,2040
|
|
73
|
-
minitap/mobile_use/tools/mobile/stop_app.py,sha256=59c18291cd919898115790dd745b86e0007c39906faadf56dc9173bb31dd0e43,2202
|
|
74
|
-
minitap/mobile_use/tools/mobile/swipe.py,sha256=4e5f614f70c7929647316481bd4aa1f3bcb1317e313a9322bb4bec22a66091f6,2012
|
|
75
|
-
minitap/mobile_use/tools/mobile/take_screenshot.py,sha256=6b59b7b2e9f054bbf4845cce6411e3f39d393e2b28a914ce9e3078cfa0741f40,2415
|
|
76
|
-
minitap/mobile_use/tools/mobile/tap.py,sha256=7528fb878993452709d3d1548d4b1ce110dd83ca93cbf6ea6a82ef83794c0ddd,2432
|
|
77
|
-
minitap/mobile_use/tools/mobile/wait_for_animation_to_end.py,sha256=c3eb61e0713524a1c65288dfd97ce5f11dafbf0b98f015b3e85845b97c18d2b0,2650
|
|
78
|
-
minitap/mobile_use/tools/tool_wrapper.py,sha256=c6d8dd5430731de5a69f7cb98b6b850551595a9310a3ef98d527093c590e0dfb,1077
|
|
79
|
-
minitap/mobile_use/utils/cli_helpers.py,sha256=00578e45bfa71a6b332026572bbf255716f40f0499dd8a246f075f801bce7c7d,1751
|
|
80
|
-
minitap/mobile_use/utils/cli_selection.py,sha256=8cbdb9559f4f3d40ae3ad5287239050cfc7ca826ecf2cb488c8c6d255dab0cd3,4828
|
|
81
|
-
minitap/mobile_use/utils/conversations.py,sha256=8f1d924300ec3f6f7c71510c21e3011b75caca5b1fff06fdaccb377c3cde24ec,914
|
|
82
|
-
minitap/mobile_use/utils/decorators.py,sha256=c88b4ab78724cb97d4c8d40c6049e874293e8d0c0ee6cb0131aa869d9b205810,3631
|
|
83
|
-
minitap/mobile_use/utils/errors.py,sha256=6c5566484cff48ce1eb168c3cbe93d6e5365457828f59616a15147598feef769,156
|
|
84
|
-
minitap/mobile_use/utils/file.py,sha256=1ca968613452a273b23e4f58460ab39f87255b02cdb6fb8ca04f4e628b346070,315
|
|
85
|
-
minitap/mobile_use/utils/logger.py,sha256=ff75d4e373cc750ba4cdaee6c86139841420c44e8ad291f7f3afc77367dc7daa,5695
|
|
86
|
-
minitap/mobile_use/utils/media.py,sha256=cd51b2f1c268aca2dd56439a97d761765454a92e9598d76c0a86f62185b990f9,2233
|
|
87
|
-
minitap/mobile_use/utils/recorder.py,sha256=4bd4ffd51370c610da582fee4567dfeda8ad661379ec99c715cd0ed5e016c146,2133
|
|
88
|
-
minitap/mobile_use/utils/requests_utils.py,sha256=5c3a2e2aff7c521cd6a43b74c084e2244e1ff55065a5b722e6e251c6419861fd,1168
|
|
89
|
-
minitap/mobile_use/utils/shell_utils.py,sha256=b35ae7f863379adb86c9ba0f9b3b9d4954118d12aef1ffed0bc260b32d73d857,650
|
|
90
|
-
minitap/mobile_use/utils/time.py,sha256=41bfaabb3751de11443ccb4a3f1f53d5ebacc7744c72e32695fdcc3d23f17d49,160
|
|
91
|
-
minitap/mobile_use/utils/ui_hierarchy.py,sha256=0465fdbad394252ba2d02c6227f8095b82ee3ad0970a4cb3cf5c22e8f5b1de71,1005
|
|
92
|
-
minitap_mobile_use-2.0.0.dist-info/WHEEL,sha256=ab6157bc637547491fb4567cd7ddf26b04d63382916ca16c29a5c8e94c9c9ef7,79
|
|
93
|
-
minitap_mobile_use-2.0.0.dist-info/entry_points.txt,sha256=663a29cfd551a4eaa0f27335f0bd7e4a732a4e39c76b68ef5c8dc444d4a285fa,60
|
|
94
|
-
minitap_mobile_use-2.0.0.dist-info/METADATA,sha256=1ff980fbce9f5fdecce85c88f5d44319b48993f5471ee35e67e9930398ca386d,10363
|
|
95
|
-
minitap_mobile_use-2.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|