lim 0.52.3 → 0.53.1

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 (189) hide show
  1. package/JSON_OUTPUT.md +39 -20
  2. package/README.md +48 -1
  3. package/dist/base-command.d.ts +7 -0
  4. package/dist/base-command.d.ts.map +1 -1
  5. package/dist/base-command.js +13 -1
  6. package/dist/base-command.js.map +1 -1
  7. package/dist/commands/android/adb-shell.d.ts +1 -0
  8. package/dist/commands/android/adb-shell.d.ts.map +1 -1
  9. package/dist/commands/android/adb-shell.js +6 -1
  10. package/dist/commands/android/adb-shell.js.map +1 -1
  11. package/dist/commands/android/blocklist/add.d.ts +18 -0
  12. package/dist/commands/android/blocklist/add.d.ts.map +1 -0
  13. package/dist/commands/android/blocklist/add.js +50 -0
  14. package/dist/commands/android/blocklist/add.js.map +1 -0
  15. package/dist/commands/android/blocklist/add.test.d.ts +2 -0
  16. package/dist/commands/android/blocklist/add.test.d.ts.map +1 -0
  17. package/dist/commands/android/blocklist/add.test.js +52 -0
  18. package/dist/commands/android/blocklist/add.test.js.map +1 -0
  19. package/dist/commands/android/blocklist/clear.d.ts +16 -0
  20. package/dist/commands/android/blocklist/clear.d.ts.map +1 -0
  21. package/dist/commands/android/blocklist/clear.js +40 -0
  22. package/dist/commands/android/blocklist/clear.js.map +1 -0
  23. package/dist/commands/android/blocklist/list.d.ts +16 -0
  24. package/dist/commands/android/blocklist/list.d.ts.map +1 -0
  25. package/dist/commands/android/blocklist/list.js +43 -0
  26. package/dist/commands/android/blocklist/list.js.map +1 -0
  27. package/dist/commands/android/blocklist/remove.d.ts +18 -0
  28. package/dist/commands/android/blocklist/remove.d.ts.map +1 -0
  29. package/dist/commands/android/blocklist/remove.js +51 -0
  30. package/dist/commands/android/blocklist/remove.js.map +1 -0
  31. package/dist/commands/android/create.d.ts +2 -0
  32. package/dist/commands/android/create.d.ts.map +1 -1
  33. package/dist/commands/android/create.js +15 -1
  34. package/dist/commands/android/create.js.map +1 -1
  35. package/dist/commands/android/set/env-from-secret.d.ts +3 -0
  36. package/dist/commands/android/set/env-from-secret.d.ts.map +1 -0
  37. package/dist/commands/android/set/env-from-secret.js +5 -0
  38. package/dist/commands/android/set/env-from-secret.js.map +1 -0
  39. package/dist/commands/gradle/build.d.ts +2 -0
  40. package/dist/commands/gradle/build.d.ts.map +1 -1
  41. package/dist/commands/gradle/build.js +8 -0
  42. package/dist/commands/gradle/build.js.map +1 -1
  43. package/dist/commands/gradle/create.d.ts +2 -0
  44. package/dist/commands/gradle/create.d.ts.map +1 -1
  45. package/dist/commands/gradle/create.js +6 -0
  46. package/dist/commands/gradle/create.js.map +1 -1
  47. package/dist/commands/gradle/set/env-from-secret.d.ts +3 -0
  48. package/dist/commands/gradle/set/env-from-secret.d.ts.map +1 -0
  49. package/dist/commands/gradle/set/env-from-secret.js +5 -0
  50. package/dist/commands/gradle/set/env-from-secret.js.map +1 -0
  51. package/dist/commands/gradle/set/file-from-secret.d.ts +3 -0
  52. package/dist/commands/gradle/set/file-from-secret.d.ts.map +1 -0
  53. package/dist/commands/gradle/set/file-from-secret.js +5 -0
  54. package/dist/commands/gradle/set/file-from-secret.js.map +1 -0
  55. package/dist/commands/ios/blocklist/add.d.ts +18 -0
  56. package/dist/commands/ios/blocklist/add.d.ts.map +1 -0
  57. package/dist/commands/ios/blocklist/add.js +50 -0
  58. package/dist/commands/ios/blocklist/add.js.map +1 -0
  59. package/dist/commands/ios/blocklist/add.test.d.ts +2 -0
  60. package/dist/commands/ios/blocklist/add.test.d.ts.map +1 -0
  61. package/dist/commands/ios/blocklist/add.test.js +52 -0
  62. package/dist/commands/ios/blocklist/add.test.js.map +1 -0
  63. package/dist/commands/ios/blocklist/clear.d.ts +16 -0
  64. package/dist/commands/ios/blocklist/clear.d.ts.map +1 -0
  65. package/dist/commands/ios/blocklist/clear.js +40 -0
  66. package/dist/commands/ios/blocklist/clear.js.map +1 -0
  67. package/dist/commands/ios/blocklist/list.d.ts +16 -0
  68. package/dist/commands/ios/blocklist/list.d.ts.map +1 -0
  69. package/dist/commands/ios/blocklist/list.js +43 -0
  70. package/dist/commands/ios/blocklist/list.js.map +1 -0
  71. package/dist/commands/ios/blocklist/remove.d.ts +18 -0
  72. package/dist/commands/ios/blocklist/remove.d.ts.map +1 -0
  73. package/dist/commands/ios/blocklist/remove.js +51 -0
  74. package/dist/commands/ios/blocklist/remove.js.map +1 -0
  75. package/dist/commands/ios/create.d.ts +2 -0
  76. package/dist/commands/ios/create.d.ts.map +1 -1
  77. package/dist/commands/ios/create.js +16 -1
  78. package/dist/commands/ios/create.js.map +1 -1
  79. package/dist/commands/ios/launch-app.d.ts +1 -0
  80. package/dist/commands/ios/launch-app.d.ts.map +1 -1
  81. package/dist/commands/ios/launch-app.js +7 -1
  82. package/dist/commands/ios/launch-app.js.map +1 -1
  83. package/dist/commands/ios/launch-app.test.js +24 -2
  84. package/dist/commands/ios/launch-app.test.js.map +1 -1
  85. package/dist/commands/ios/set/env-from-secret.d.ts +3 -0
  86. package/dist/commands/ios/set/env-from-secret.d.ts.map +1 -0
  87. package/dist/commands/ios/set/env-from-secret.js +5 -0
  88. package/dist/commands/ios/set/env-from-secret.js.map +1 -0
  89. package/dist/commands/ios/simctl.d.ts +1 -0
  90. package/dist/commands/ios/simctl.d.ts.map +1 -1
  91. package/dist/commands/ios/simctl.js +9 -1
  92. package/dist/commands/ios/simctl.js.map +1 -1
  93. package/dist/commands/secret/commands.test.d.ts +2 -0
  94. package/dist/commands/secret/commands.test.d.ts.map +1 -0
  95. package/dist/commands/secret/commands.test.js +137 -0
  96. package/dist/commands/secret/commands.test.js.map +1 -0
  97. package/dist/commands/secret/create.d.ts +19 -0
  98. package/dist/commands/secret/create.d.ts.map +1 -0
  99. package/dist/commands/secret/create.js +32 -0
  100. package/dist/commands/secret/create.js.map +1 -0
  101. package/dist/commands/secret/delete.d.ts +16 -0
  102. package/dist/commands/secret/delete.d.ts.map +1 -0
  103. package/dist/commands/secret/delete.js +22 -0
  104. package/dist/commands/secret/delete.js.map +1 -0
  105. package/dist/commands/secret/get.d.ts +20 -0
  106. package/dist/commands/secret/get.d.ts.map +1 -0
  107. package/dist/commands/secret/get.js +33 -0
  108. package/dist/commands/secret/get.js.map +1 -0
  109. package/dist/commands/secret/read.d.ts +18 -0
  110. package/dist/commands/secret/read.d.ts.map +1 -0
  111. package/dist/commands/secret/read.js +42 -0
  112. package/dist/commands/secret/read.js.map +1 -0
  113. package/dist/commands/secret/update.d.ts +17 -0
  114. package/dist/commands/secret/update.d.ts.map +1 -0
  115. package/dist/commands/secret/update.js +26 -0
  116. package/dist/commands/secret/update.js.map +1 -0
  117. package/dist/commands/secret/write.d.ts +20 -0
  118. package/dist/commands/secret/write.d.ts.map +1 -0
  119. package/dist/commands/secret/write.js +50 -0
  120. package/dist/commands/secret/write.js.map +1 -0
  121. package/dist/commands/xcode/build.d.ts +2 -0
  122. package/dist/commands/xcode/build.d.ts.map +1 -1
  123. package/dist/commands/xcode/build.js +10 -1
  124. package/dist/commands/xcode/build.js.map +1 -1
  125. package/dist/commands/xcode/create.d.ts +2 -0
  126. package/dist/commands/xcode/create.d.ts.map +1 -1
  127. package/dist/commands/xcode/create.js +6 -0
  128. package/dist/commands/xcode/create.js.map +1 -1
  129. package/dist/commands/xcode/set/env-from-secret.d.ts +3 -0
  130. package/dist/commands/xcode/set/env-from-secret.d.ts.map +1 -0
  131. package/dist/commands/xcode/set/env-from-secret.js +5 -0
  132. package/dist/commands/xcode/set/env-from-secret.js.map +1 -0
  133. package/dist/commands/xcode/set/file-from-secret.d.ts +3 -0
  134. package/dist/commands/xcode/set/file-from-secret.d.ts.map +1 -0
  135. package/dist/commands/xcode/set/file-from-secret.js +5 -0
  136. package/dist/commands/xcode/set/file-from-secret.js.map +1 -0
  137. package/dist/commands/xcode/test.d.ts +5 -0
  138. package/dist/commands/xcode/test.d.ts.map +1 -1
  139. package/dist/commands/xcode/test.js +122 -16
  140. package/dist/commands/xcode/test.js.map +1 -1
  141. package/dist/json-contract.test.js +80 -0
  142. package/dist/json-contract.test.js.map +1 -1
  143. package/dist/lib/blocklist.d.ts +5 -0
  144. package/dist/lib/blocklist.d.ts.map +1 -0
  145. package/dist/lib/blocklist.js +25 -0
  146. package/dist/lib/blocklist.js.map +1 -0
  147. package/dist/lib/blocklist.test.d.ts +2 -0
  148. package/dist/lib/blocklist.test.d.ts.map +1 -0
  149. package/dist/lib/blocklist.test.js +15 -0
  150. package/dist/lib/blocklist.test.js.map +1 -0
  151. package/dist/lib/build-run-command.d.ts.map +1 -1
  152. package/dist/lib/build-run-command.js +9 -0
  153. package/dist/lib/build-run-command.js.map +1 -1
  154. package/dist/lib/delegated-permissions.d.ts.map +1 -1
  155. package/dist/lib/delegated-permissions.js +7 -1
  156. package/dist/lib/delegated-permissions.js.map +1 -1
  157. package/dist/lib/launch-app-runtime.d.ts +4 -1
  158. package/dist/lib/launch-app-runtime.d.ts.map +1 -1
  159. package/dist/lib/launch-app-runtime.js +9 -2
  160. package/dist/lib/launch-app-runtime.js.map +1 -1
  161. package/dist/lib/secret-env-flags.d.ts +7 -0
  162. package/dist/lib/secret-env-flags.d.ts.map +1 -0
  163. package/dist/lib/secret-env-flags.js +19 -0
  164. package/dist/lib/secret-env-flags.js.map +1 -0
  165. package/dist/lib/secret-env.d.ts +7 -0
  166. package/dist/lib/secret-env.d.ts.map +1 -0
  167. package/dist/lib/secret-env.js +105 -0
  168. package/dist/lib/secret-env.js.map +1 -0
  169. package/dist/lib/secret-env.test.d.ts +2 -0
  170. package/dist/lib/secret-env.test.d.ts.map +1 -0
  171. package/dist/lib/secret-env.test.js +79 -0
  172. package/dist/lib/secret-env.test.js.map +1 -0
  173. package/dist/lib/secret-input.d.ts +5 -0
  174. package/dist/lib/secret-input.d.ts.map +1 -0
  175. package/dist/lib/secret-input.js +47 -0
  176. package/dist/lib/secret-input.js.map +1 -0
  177. package/dist/lib/set-secret-env-command.d.ts +3 -0
  178. package/dist/lib/set-secret-env-command.d.ts.map +1 -0
  179. package/dist/lib/set-secret-env-command.js +96 -0
  180. package/dist/lib/set-secret-env-command.js.map +1 -0
  181. package/dist/lib/set-secret-env-command.test.d.ts +2 -0
  182. package/dist/lib/set-secret-env-command.test.d.ts.map +1 -0
  183. package/dist/lib/set-secret-env-command.test.js +115 -0
  184. package/dist/lib/set-secret-env-command.test.js.map +1 -0
  185. package/dist/xcode-test-rerun.test.d.ts +2 -0
  186. package/dist/xcode-test-rerun.test.d.ts.map +1 -0
  187. package/dist/xcode-test-rerun.test.js +26 -0
  188. package/dist/xcode-test-rerun.test.js.map +1 -0
  189. package/package.json +10 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-secret-env-command.test.d.ts","sourceRoot":"","sources":["../../src/lib/set-secret-env-command.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api_1 = require("@limrun/api");
4
+ const set_secret_env_command_1 = require("./set-secret-env-command");
5
+ test.each(['xcode', 'gradle', 'ios', 'android'])('%s saves bindings and permissions atomically, retrying ETag conflicts', async (platform) => {
6
+ const Command = (0, set_secret_env_command_1.setSecretEnvCommand)(platform);
7
+ const command = new Command([], {});
8
+ const id = 'instance';
9
+ const live = jest
10
+ .fn()
11
+ .mockResolvedValueOnce({
12
+ data: {
13
+ spec: { envFromSecret: { OLD: 'name/old' }, role: { permissions: ['asset:name/source:read'] } },
14
+ status: { state: 'ready' },
15
+ },
16
+ response: new Response(null, { headers: { etag: '"1"' } }),
17
+ })
18
+ .mockResolvedValueOnce({
19
+ data: {
20
+ spec: {
21
+ envFromSecret: { OLD: 'name/old', CONCURRENT: 'name/concurrent' },
22
+ role: { permissions: ['asset:name/source:read', 'secret:name/concurrent:read'] },
23
+ },
24
+ status: { state: 'ready' },
25
+ },
26
+ response: new Response(null, { headers: { etag: '"2"' } }),
27
+ });
28
+ const update = jest
29
+ .fn()
30
+ .mockRejectedValueOnce(api_1.APIError.generate(412, {}, 'changed', new Headers()))
31
+ .mockResolvedValue(undefined);
32
+ Object.assign(command, {
33
+ parse: async () => ({ argv: ['NPM_TOKEN=team/npm'], flags: { unset: ['OLD', 'NPM_TOKEN'] } }),
34
+ withAuth: async (fn) => fn(),
35
+ resolveXcodeTarget: async () => ({ id }),
36
+ resolveGradleTarget: () => ({ id }),
37
+ resolveIosInstance: () => ({ id }),
38
+ resolveAndroidInstance: () => ({ id }),
39
+ outputResult: jest.fn(),
40
+ });
41
+ Object.defineProperty(command, 'client', {
42
+ value: { [`${platform}Instances`]: { get: () => ({ withResponse: live }), update } },
43
+ });
44
+ await command.run();
45
+ expect(update).toHaveBeenLastCalledWith(id, {
46
+ ifMatch: '"2"',
47
+ spec: {
48
+ envFromSecret: { CONCURRENT: 'name/concurrent', NPM_TOKEN: 'name/team/npm' },
49
+ role: {
50
+ permissions: ['asset:name/source:read', 'secret:name/concurrent:read', 'secret:name/team/npm:read'],
51
+ },
52
+ },
53
+ });
54
+ });
55
+ test.each(['xcode', 'gradle'])('%s saves file bindings and permissions atomically, retrying ETag conflicts', async (platform) => {
56
+ const Command = (0, set_secret_env_command_1.setSecretEnvCommand)(platform, 'file');
57
+ const command = new Command([], {});
58
+ const id = 'instance';
59
+ const live = jest
60
+ .fn()
61
+ .mockResolvedValueOnce({
62
+ data: {
63
+ spec: {
64
+ fileFromSecret: { '/etc/old': 'name/old', 'config/token': 'name/previous' },
65
+ role: { permissions: ['asset:name/source:read'] },
66
+ },
67
+ status: { state: 'ready' },
68
+ },
69
+ response: new Response(null, { headers: { etag: '"1"' } }),
70
+ })
71
+ .mockResolvedValueOnce({
72
+ data: {
73
+ spec: {
74
+ fileFromSecret: {
75
+ '/etc/old': 'name/old',
76
+ 'config/token': 'name/previous',
77
+ '~/concurrent': 'name/concurrent',
78
+ },
79
+ role: { permissions: ['asset:name/source:read', 'secret:name/concurrent:read'] },
80
+ },
81
+ status: { state: 'ready' },
82
+ },
83
+ response: new Response(null, { headers: { etag: '"2"' } }),
84
+ });
85
+ const update = jest
86
+ .fn()
87
+ .mockRejectedValueOnce(api_1.APIError.generate(412, {}, 'changed', new Headers()))
88
+ .mockResolvedValue(undefined);
89
+ Object.assign(command, {
90
+ parse: async () => ({
91
+ argv: ['/config/token=team/npm'],
92
+ flags: { unset: ['etc/old', 'config/token'] },
93
+ }),
94
+ withAuth: async (fn) => fn(),
95
+ resolveXcodeTarget: async () => ({ id }),
96
+ resolveGradleTarget: () => ({ id }),
97
+ resolveIosInstance: () => ({ id }),
98
+ resolveAndroidInstance: () => ({ id }),
99
+ outputResult: jest.fn(),
100
+ });
101
+ Object.defineProperty(command, 'client', {
102
+ value: { [`${platform}Instances`]: { get: () => ({ withResponse: live }), update } },
103
+ });
104
+ await command.run();
105
+ expect(update).toHaveBeenLastCalledWith(id, {
106
+ ifMatch: '"2"',
107
+ spec: {
108
+ fileFromSecret: { '~/concurrent': 'name/concurrent', 'config/token': 'name/team/npm' },
109
+ role: {
110
+ permissions: ['asset:name/source:read', 'secret:name/concurrent:read', 'secret:name/team/npm:read'],
111
+ },
112
+ },
113
+ });
114
+ });
115
+ //# sourceMappingURL=set-secret-env-command.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-secret-env-command.test.js","sourceRoot":"","sources":["../../src/lib/set-secret-env-command.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=xcode-test-rerun.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xcode-test-rerun.test.d.ts","sourceRoot":"","sources":["../src/xcode-test-rerun.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const test_1 = __importDefault(require("./commands/xcode/test"));
7
+ jest.mock('./lib/config', () => ({
8
+ ...jest.requireActual('./lib/config'),
9
+ loadLastXcodeInstance: jest.fn(() => null),
10
+ registerCreatedInstance: jest.fn(),
11
+ }));
12
+ test('xcode test --without-building never creates a sandbox, which would have nothing built', async () => {
13
+ const create = jest.fn();
14
+ const command = new test_1.default([], {});
15
+ Object.assign(command, {
16
+ parse: async () => ({ args: {}, flags: { 'without-building': true } }),
17
+ withAuth: async (fn) => fn(),
18
+ info: jest.fn(),
19
+ });
20
+ Object.defineProperty(command, 'client', {
21
+ value: { xcodeInstances: { create }, iosInstances: { create } },
22
+ });
23
+ await expect(command.run()).rejects.toThrow('--without-building reruns the tests a live Xcode sandbox already built');
24
+ expect(create).not.toHaveBeenCalled();
25
+ });
26
+ //# sourceMappingURL=xcode-test-rerun.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xcode-test-rerun.test.js","sourceRoot":"","sources":["../src/xcode-test-rerun.test.ts"],"names":[],"mappings":";;;;;AAAA,iEAA8C;AAE9C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC;IACrC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAC1C,uBAAuB,EAAE,IAAI,CAAC,EAAE,EAAE;CACnC,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;IACvG,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,cAAS,CAAC,EAAE,EAAE,EAAW,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC;QACtE,QAAQ,EAAE,KAAK,EAAE,EAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;QACjD,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;QACvC,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE;KAChE,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CACzC,wEAAwE,CACzE,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AACxC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lim",
3
- "version": "0.52.3",
3
+ "version": "0.53.1",
4
4
  "description": "Use remote XCode, Gradle, iOS Simulator, Android Emulator and more to build and test apps from Linux, Windows or macOS.",
5
5
  "bin": {
6
6
  "lim": "./bin/run.js",
@@ -26,7 +26,7 @@
26
26
  "test": "jest"
27
27
  },
28
28
  "dependencies": {
29
- "@limrun/api": "0.69.4",
29
+ "@limrun/api": "0.70.2",
30
30
  "@oclif/core": "^4",
31
31
  "cli-progress": "^3.12.0",
32
32
  "cli-table3": "^0.6.5",
@@ -54,7 +54,10 @@
54
54
  "topicSeparator": " ",
55
55
  "topics": {
56
56
  "android": {
57
- "description": "Execute any task on remote Android Emulators: create, list, get, delete, connect, sync, screenshot, tap, tap-element, find-element, element-tree, type, press-key, scroll, open-url, install-app, launch-app, terminate-app, app-log, logcat, record, play-on-microphone, set-wifi-bandwidth, adb-shell, ca, proxy"
57
+ "description": "Execute any task on remote Android Emulators: create, list, get, delete, connect, sync, screenshot, tap, tap-element, find-element, element-tree, type, press-key, scroll, open-url, install-app, launch-app, terminate-app, app-log, logcat, record, play-on-microphone, set-wifi-bandwidth, adb-shell, ca, proxy, blocklist"
58
+ },
59
+ "android:blocklist": {
60
+ "description": "Block domains on a running Android instance: add, remove, list, clear"
58
61
  },
59
62
  "android:ca": {
60
63
  "description": "Trust CA certificates on a running Android instance: add"
@@ -72,7 +75,10 @@
72
75
  "description": "Build Android projects on cloud Gradle sandboxes: create, list, get, delete, sync, build, run, pull-file, logs, use, tools, attach-emulator, detach-emulator"
73
76
  },
74
77
  "ios": {
75
- "description": "Execute any task on remote iOS Simulators: create, list, get, delete, attach-xcode, info, fold, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, clipboard, defaults, notify, proxy, ca, install-app, keychain, record, camera, microphone, perform, ls, push-file, pull-file, delete-file, simctl, cp, xcrun, xcodebuild, lsof, reverse, tunnel"
78
+ "description": "Execute any task on remote iOS Simulators: create, list, get, delete, attach-xcode, info, fold, list-apps, launch-app, terminate-app, app-log, syslog, sync, screenshot, tap, tap-element, element-tree, type, press-key, toggle-keyboard, scroll, open-url, clipboard, defaults, notify, proxy, ca, blocklist, install-app, keychain, record, camera, microphone, perform, ls, push-file, pull-file, delete-file, simctl, cp, xcrun, xcodebuild, lsof, reverse, tunnel"
79
+ },
80
+ "ios:blocklist": {
81
+ "description": "Block domains on a running iOS instance: add, remove, list, clear"
76
82
  },
77
83
  "ios:ca": {
78
84
  "description": "Trust CA certificates on a running iOS instance: add"