@swmansion/argent 0.22.2-next.7 → 0.22.2-next.9

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 (29) hide show
  1. package/dist/cli-cmds.mjs +4 -1
  2. package/dist/installer.mjs +4 -1
  3. package/dist/mcp-server.mjs +3 -0
  4. package/dist/tool-server.cjs +152 -42
  5. package/package.json +1 -1
  6. package/bin/linux/resources/android/LICENSE.txt +0 -186
  7. package/bin/linux/resources/android/README.md +0 -11
  8. package/bin/linux/resources/android/arm64-v8a/libscreen-sharing-agent.so +0 -0
  9. package/bin/linux/resources/android/armeabi-v7a/libscreen-sharing-agent.so +0 -0
  10. package/bin/linux/resources/android/screen-sharing-agent.jar +0 -0
  11. package/bin/linux/resources/android/x86_64/libscreen-sharing-agent.so +0 -0
  12. package/bin/linux-arm64/resources/android/LICENSE.txt +0 -186
  13. package/bin/linux-arm64/resources/android/README.md +0 -11
  14. package/bin/linux-arm64/resources/android/arm64-v8a/libscreen-sharing-agent.so +0 -0
  15. package/bin/linux-arm64/resources/android/armeabi-v7a/libscreen-sharing-agent.so +0 -0
  16. package/bin/linux-arm64/resources/android/screen-sharing-agent.jar +0 -0
  17. package/bin/linux-arm64/resources/android/x86_64/libscreen-sharing-agent.so +0 -0
  18. package/bin/win32/resources/android/LICENSE.txt +0 -186
  19. package/bin/win32/resources/android/README.md +0 -11
  20. package/bin/win32/resources/android/arm64-v8a/libscreen-sharing-agent.so +0 -0
  21. package/bin/win32/resources/android/armeabi-v7a/libscreen-sharing-agent.so +0 -0
  22. package/bin/win32/resources/android/screen-sharing-agent.jar +0 -0
  23. package/bin/win32/resources/android/x86_64/libscreen-sharing-agent.so +0 -0
  24. /package/bin/{darwin/resources → resources}/android/LICENSE.txt +0 -0
  25. /package/bin/{darwin/resources → resources}/android/README.md +0 -0
  26. /package/bin/{darwin/resources → resources}/android/arm64-v8a/libscreen-sharing-agent.so +0 -0
  27. /package/bin/{darwin/resources → resources}/android/armeabi-v7a/libscreen-sharing-agent.so +0 -0
  28. /package/bin/{darwin/resources → resources}/android/screen-sharing-agent.jar +0 -0
  29. /package/bin/{darwin/resources → resources}/android/x86_64/libscreen-sharing-agent.so +0 -0
package/dist/cli-cmds.mjs CHANGED
@@ -2287,6 +2287,9 @@ var FAILURE_CODES = {
2287
2287
  SIMULATOR_SERVER_READY_TIMEOUT: "SIMULATOR_SERVER_READY_TIMEOUT",
2288
2288
  SIMULATOR_SERVER_PROCESS_ERROR: "SIMULATOR_SERVER_PROCESS_ERROR",
2289
2289
  SIMULATOR_SERVER_TERMINATED: "SIMULATOR_SERVER_TERMINATED",
2290
+ SIMULATOR_COMMAND_REJECTED: "SIMULATOR_COMMAND_REJECTED",
2291
+ SIMULATOR_COMMAND_ACK_TIMEOUT: "SIMULATOR_COMMAND_ACK_TIMEOUT",
2292
+ SIMULATOR_COMMAND_TRANSPORT_FAILED: "SIMULATOR_COMMAND_TRANSPORT_FAILED",
2290
2293
  AX_QUERY_TIMEOUT: "AX_QUERY_TIMEOUT",
2291
2294
  AX_DAEMON_READY_TIMEOUT: "AX_DAEMON_READY_TIMEOUT",
2292
2295
  AX_DAEMON_EXITED_BEFORE_READY: "AX_DAEMON_EXITED_BEFORE_READY",
@@ -7214,7 +7217,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
7214
7217
  var SESSION_ID2 = randomUUID5();
7215
7218
  function readCliVersion() {
7216
7219
  if (true) {
7217
- return "0.22.2-next.7";
7220
+ return "0.22.2-next.9";
7218
7221
  }
7219
7222
  return "0.0.0";
7220
7223
  }
@@ -15443,6 +15443,9 @@ var FAILURE_CODES = {
15443
15443
  SIMULATOR_SERVER_READY_TIMEOUT: "SIMULATOR_SERVER_READY_TIMEOUT",
15444
15444
  SIMULATOR_SERVER_PROCESS_ERROR: "SIMULATOR_SERVER_PROCESS_ERROR",
15445
15445
  SIMULATOR_SERVER_TERMINATED: "SIMULATOR_SERVER_TERMINATED",
15446
+ SIMULATOR_COMMAND_REJECTED: "SIMULATOR_COMMAND_REJECTED",
15447
+ SIMULATOR_COMMAND_ACK_TIMEOUT: "SIMULATOR_COMMAND_ACK_TIMEOUT",
15448
+ SIMULATOR_COMMAND_TRANSPORT_FAILED: "SIMULATOR_COMMAND_TRANSPORT_FAILED",
15446
15449
  AX_QUERY_TIMEOUT: "AX_QUERY_TIMEOUT",
15447
15450
  AX_DAEMON_READY_TIMEOUT: "AX_DAEMON_READY_TIMEOUT",
15448
15451
  AX_DAEMON_EXITED_BEFORE_READY: "AX_DAEMON_EXITED_BEFORE_READY",
@@ -16428,7 +16431,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
16428
16431
  var SESSION_ID = randomUUID4();
16429
16432
  function readCliVersion() {
16430
16433
  if (true) {
16431
- return "0.22.2-next.7";
16434
+ return "0.22.2-next.9";
16432
16435
  }
16433
16436
  return "0.0.0";
16434
16437
  }
@@ -16471,6 +16471,9 @@ var FAILURE_CODES = {
16471
16471
  SIMULATOR_SERVER_READY_TIMEOUT: "SIMULATOR_SERVER_READY_TIMEOUT",
16472
16472
  SIMULATOR_SERVER_PROCESS_ERROR: "SIMULATOR_SERVER_PROCESS_ERROR",
16473
16473
  SIMULATOR_SERVER_TERMINATED: "SIMULATOR_SERVER_TERMINATED",
16474
+ SIMULATOR_COMMAND_REJECTED: "SIMULATOR_COMMAND_REJECTED",
16475
+ SIMULATOR_COMMAND_ACK_TIMEOUT: "SIMULATOR_COMMAND_ACK_TIMEOUT",
16476
+ SIMULATOR_COMMAND_TRANSPORT_FAILED: "SIMULATOR_COMMAND_TRANSPORT_FAILED",
16474
16477
  AX_QUERY_TIMEOUT: "AX_QUERY_TIMEOUT",
16475
16478
  AX_DAEMON_READY_TIMEOUT: "AX_DAEMON_READY_TIMEOUT",
16476
16479
  AX_DAEMON_EXITED_BEFORE_READY: "AX_DAEMON_EXITED_BEFORE_READY",
@@ -628,6 +628,9 @@ var init_failure_codes = __esm({
628
628
  SIMULATOR_SERVER_READY_TIMEOUT: "SIMULATOR_SERVER_READY_TIMEOUT",
629
629
  SIMULATOR_SERVER_PROCESS_ERROR: "SIMULATOR_SERVER_PROCESS_ERROR",
630
630
  SIMULATOR_SERVER_TERMINATED: "SIMULATOR_SERVER_TERMINATED",
631
+ SIMULATOR_COMMAND_REJECTED: "SIMULATOR_COMMAND_REJECTED",
632
+ SIMULATOR_COMMAND_ACK_TIMEOUT: "SIMULATOR_COMMAND_ACK_TIMEOUT",
633
+ SIMULATOR_COMMAND_TRANSPORT_FAILED: "SIMULATOR_COMMAND_TRANSPORT_FAILED",
631
634
  AX_QUERY_TIMEOUT: "AX_QUERY_TIMEOUT",
632
635
  AX_DAEMON_READY_TIMEOUT: "AX_DAEMON_READY_TIMEOUT",
633
636
  AX_DAEMON_EXITED_BEFORE_READY: "AX_DAEMON_EXITED_BEFORE_READY",
@@ -93890,7 +93893,7 @@ var _CI_VENDOR_COUNT_FOR_TEST = vendors_default.length;
93890
93893
  var SESSION_ID = (0, import_node_crypto3.randomUUID)();
93891
93894
  function readCliVersion() {
93892
93895
  if (true) {
93893
- return "0.22.2-next.7";
93896
+ return "0.22.2-next.9";
93894
93897
  }
93895
93898
  return "0.0.0";
93896
93899
  }
@@ -94258,7 +94261,10 @@ function simulatorServerBinaryPath() {
94258
94261
  }
94259
94262
  return p;
94260
94263
  }
94261
- function simulatorServerBinaryDir() {
94264
+ function simulatorServerRunDir() {
94265
+ if (fs7.existsSync(path8.join(BIN_DIR, "resources", "android"))) {
94266
+ return BIN_DIR;
94267
+ }
94262
94268
  return platformBinDir();
94263
94269
  }
94264
94270
  function requireBinIn(dir, name) {
@@ -106322,33 +106328,127 @@ var DEFAULT_SCREENSHOT_SCALE = 0.25;
106322
106328
  var NO_IMAGE_ERROR = /no image to export/i;
106323
106329
  var FIRST_FRAME_WAIT_MS = 6e3;
106324
106330
  var FIRST_FRAME_POLL_MS = 250;
106331
+ var COMMAND_ACK_TIMEOUT_MS = 5e3;
106325
106332
  var connections = /* @__PURE__ */ new Map();
106326
106333
  var cmdId = 0;
106327
- function getOrCreateWs(api) {
106334
+ function failAllPending(conn, makeError) {
106335
+ const entries = [...conn.pending.values()];
106336
+ conn.pending.clear();
106337
+ for (const entry of entries) entry.settle(makeError(entry.cmd));
106338
+ }
106339
+ function transportError(cmd, apiUrl, detail) {
106340
+ return new FailureError(
106341
+ `simulator-server did not accept the '${cmd}' command: ${detail}. The command was NOT delivered to the device. Check that the simulator is still booted and the simulator-server for ${apiUrl} is running.`,
106342
+ {
106343
+ error_code: FAILURE_CODES.SIMULATOR_COMMAND_TRANSPORT_FAILED,
106344
+ failure_stage: "simulator_command_transport",
106345
+ failure_area: "tool_server",
106346
+ error_kind: "network",
106347
+ network_failure: "connection_reset",
106348
+ failure_command: "simulator_server"
106349
+ }
106350
+ );
106351
+ }
106352
+ function getOrCreateConnection(api) {
106328
106353
  const key2 = api.apiUrl;
106329
106354
  const existing = connections.get(key2);
106330
- if (existing && (existing.readyState === wrapper_default.OPEN || existing.readyState === wrapper_default.CONNECTING)) {
106355
+ if (existing && (existing.ws.readyState === wrapper_default.OPEN || existing.ws.readyState === wrapper_default.CONNECTING)) {
106331
106356
  return existing;
106332
106357
  }
106333
106358
  const { host } = new URL(api.apiUrl);
106334
106359
  const ws = new wrapper_default(`ws://${host}/ws`);
106335
- ws.on("error", () => connections.delete(key2));
106336
- ws.on("close", () => connections.delete(key2));
106337
- connections.set(key2, ws);
106338
- return ws;
106360
+ const conn = { ws, pending: /* @__PURE__ */ new Map() };
106361
+ ws.on("message", (data) => {
106362
+ const text = Buffer.isBuffer(data) ? data.toString() : Array.isArray(data) ? Buffer.concat(data).toString() : Buffer.from(data).toString();
106363
+ let ack;
106364
+ try {
106365
+ ack = JSON.parse(text);
106366
+ } catch {
106367
+ return;
106368
+ }
106369
+ if (ack.status !== "ok" && ack.status !== "error") return;
106370
+ if (ack.id != null && !conn.pending.has(ack.id)) return;
106371
+ const id = ack.id ?? conn.pending.keys().next().value;
106372
+ if (id == null) return;
106373
+ const entry = conn.pending.get(id);
106374
+ if (entry == null) return;
106375
+ conn.pending.delete(id);
106376
+ if (ack.status === "ok") {
106377
+ entry.settle();
106378
+ return;
106379
+ }
106380
+ entry.settle(
106381
+ new FailureError(
106382
+ `simulator-server rejected the '${entry.cmd}' command: ${ack.message ?? "unknown error"}. The command was NOT delivered to the device.`,
106383
+ {
106384
+ error_code: FAILURE_CODES.SIMULATOR_COMMAND_REJECTED,
106385
+ failure_stage: "simulator_command_rejected",
106386
+ failure_area: "tool_server",
106387
+ error_kind: "unknown",
106388
+ failure_command: "simulator_server"
106389
+ }
106390
+ )
106391
+ );
106392
+ });
106393
+ ws.on("error", (err) => {
106394
+ connections.delete(key2);
106395
+ failAllPending(conn, (cmd) => transportError(cmd, key2, err.message));
106396
+ });
106397
+ ws.on("close", () => {
106398
+ connections.delete(key2);
106399
+ failAllPending(conn, (cmd) => transportError(cmd, key2, "the connection closed"));
106400
+ });
106401
+ connections.set(key2, conn);
106402
+ return conn;
106339
106403
  }
106340
106404
  function sendCommand(api, cmd) {
106341
106405
  if (api.transport) {
106342
106406
  routeViaTransport(api.transport, cmd);
106343
- return;
106344
- }
106345
- const ws = getOrCreateWs(api);
106346
- const payload = JSON.stringify({ id: String(++cmdId), ...cmd });
106347
- if (ws.readyState === wrapper_default.OPEN) {
106348
- ws.send(payload);
106349
- } else {
106350
- ws.once("open", () => ws.send(payload));
106407
+ return Promise.resolve();
106351
106408
  }
106409
+ const conn = getOrCreateConnection(api);
106410
+ const id = String(++cmdId);
106411
+ const cmdName = typeof cmd.cmd === "string" ? cmd.cmd : "unknown";
106412
+ const payload = JSON.stringify({ id, ...cmd });
106413
+ return new Promise((resolve12, reject) => {
106414
+ let done = false;
106415
+ const settle = (err) => {
106416
+ if (done) return;
106417
+ done = true;
106418
+ clearTimeout(timer);
106419
+ conn.pending.delete(id);
106420
+ if (err) reject(err);
106421
+ else resolve12();
106422
+ };
106423
+ const timer = setTimeout(
106424
+ () => settleAndDropConnection(
106425
+ new FailureError(
106426
+ `simulator-server did not acknowledge the '${cmdName}' command within ${COMMAND_ACK_TIMEOUT_MS}ms. The command may not have reached the device \u2014 the simulator may be wedged or the simulator-server unresponsive.`,
106427
+ {
106428
+ error_code: FAILURE_CODES.SIMULATOR_COMMAND_ACK_TIMEOUT,
106429
+ failure_stage: "simulator_command_ack",
106430
+ failure_area: "tool_server",
106431
+ error_kind: "timeout",
106432
+ network_failure: "timeout",
106433
+ failure_command: "simulator_server"
106434
+ }
106435
+ )
106436
+ ),
106437
+ COMMAND_ACK_TIMEOUT_MS
106438
+ );
106439
+ timer.unref?.();
106440
+ const settleAndDropConnection = (err) => {
106441
+ settle(err);
106442
+ connections.delete(api.apiUrl);
106443
+ conn.ws.close();
106444
+ };
106445
+ conn.pending.set(id, { settle, cmd: cmdName });
106446
+ const write = () => conn.ws.send(payload, (err) => {
106447
+ if (err) settle(transportError(cmdName, api.apiUrl, err.message));
106448
+ });
106449
+ if (conn.ws.readyState === wrapper_default.OPEN) write();
106450
+ else conn.ws.once("open", write);
106451
+ });
106352
106452
  }
106353
106453
  function setPointerVisible(api, show, signal) {
106354
106454
  return pointerPost(api, { show }, signal);
@@ -106576,8 +106676,8 @@ function simulatorServerRef(device) {
106576
106676
  }
106577
106677
  var getPaths = () => {
106578
106678
  const BINARY_PATH = simulatorServerBinaryPath();
106579
- const BINARY_DIR = simulatorServerBinaryDir();
106580
- return { BINARY_PATH, BINARY_DIR };
106679
+ const RUN_DIR = simulatorServerRunDir();
106680
+ return { BINARY_PATH, RUN_DIR };
106581
106681
  };
106582
106682
  var READY_TIMEOUT_MS = 3e4;
106583
106683
  async function buildRemoteInstance(device) {
@@ -106621,12 +106721,12 @@ async function spawnSimulatorServerProcess(udid, subcommand) {
106621
106721
  throw new Error(`Refusing to start simulator-server for unsafe device id "${udid}".`);
106622
106722
  }
106623
106723
  const deviceSet = subcommand === "ios" ? await deviceSetForUdid(udid) : null;
106624
- const { BINARY_PATH, BINARY_DIR } = getPaths();
106724
+ const { BINARY_PATH, RUN_DIR } = getPaths();
106625
106725
  return new Promise((resolve12, reject) => {
106626
106726
  const args = [subcommand, "--id", udid];
106627
106727
  if (deviceSet) args.push("--device-set", deviceSet);
106628
106728
  const proc = (0, import_node_child_process10.spawn)(BINARY_PATH, args, {
106629
- cwd: BINARY_DIR,
106729
+ cwd: RUN_DIR,
106630
106730
  stdio: ["pipe", "pipe", "pipe"]
106631
106731
  });
106632
106732
  let apiUrl = null;
@@ -119441,7 +119541,7 @@ Before tapping, determine the correct coordinates by using discovery tools \u201
119441
119541
  const api = services.simulatorServer;
119442
119542
  for (let i = 1; i <= clickCount; i++) {
119443
119543
  if (i > 1) await sleep2(MULTI_TAP_GAP_MS);
119444
- sendCommand(api, {
119544
+ await sendCommand(api, {
119445
119545
  cmd: "touch",
119446
119546
  type: "Down",
119447
119547
  x: params.x,
@@ -119450,7 +119550,7 @@ Before tapping, determine the correct coordinates by using discovery tools \u201
119450
119550
  second_y: null
119451
119551
  });
119452
119552
  await sleep2(TAP_HOLD_MS);
119453
- sendCommand(api, {
119553
+ await sendCommand(api, {
119454
119554
  cmd: "touch",
119455
119555
  type: "Up",
119456
119556
  x: params.x,
@@ -119535,20 +119635,24 @@ Pass momentum:false for a momentum-free swipe that lands where the finger lifts
119535
119635
  let lastY = 0;
119536
119636
  for (let i = 0; i <= steps; i++) {
119537
119637
  if (ctx?.signal?.aborted) {
119538
- if (i > 0) {
119539
- sendCommand(api, {
119540
- cmd: "touch",
119541
- type: "Up",
119542
- x: lastX,
119543
- y: lastY,
119544
- second_x: null,
119545
- second_y: null
119546
- });
119547
- }
119548
119638
  const err = new Error(
119549
119639
  `gesture-swipe aborted - cancelled mid-gesture after ${i} of ${steps + 1} frames`
119550
119640
  );
119551
119641
  err.name = "AbortError";
119642
+ if (i > 0) {
119643
+ try {
119644
+ await sendCommand(api, {
119645
+ cmd: "touch",
119646
+ type: "Up",
119647
+ x: lastX,
119648
+ y: lastY,
119649
+ second_x: null,
119650
+ second_y: null
119651
+ });
119652
+ } catch (liftErr) {
119653
+ err.cause = liftErr;
119654
+ }
119655
+ }
119552
119656
  throw err;
119553
119657
  }
119554
119658
  const t = i / steps;
@@ -119557,7 +119661,7 @@ Pass momentum:false for a momentum-free swipe that lands where the finger lifts
119557
119661
  const y = params.fromY + (params.toY - params.fromY) * progress;
119558
119662
  const type = i === 0 ? "Down" : i === steps ? "Up" : "Move";
119559
119663
  if (type === "Up") {
119560
- sendCommand(api, {
119664
+ await sendCommand(api, {
119561
119665
  cmd: "touch",
119562
119666
  type: "Move",
119563
119667
  x,
@@ -119566,7 +119670,7 @@ Pass momentum:false for a momentum-free swipe that lands where the finger lifts
119566
119670
  second_y: null
119567
119671
  });
119568
119672
  }
119569
- sendCommand(api, {
119673
+ await sendCommand(api, {
119570
119674
  cmd: "touch",
119571
119675
  type,
119572
119676
  x,
@@ -119809,7 +119913,7 @@ function interpolateEvents(events, steps) {
119809
119913
  return result;
119810
119914
  }
119811
119915
  function sendTouchEvent(api, type, x, y, x2, y2) {
119812
- sendCommand(api, {
119916
+ return sendCommand(api, {
119813
119917
  cmd: "touch",
119814
119918
  type,
119815
119919
  x,
@@ -119880,7 +119984,7 @@ Example pinch-to-zoom (with interpolate:10 for smoothness):
119880
119984
  const events = params.interpolate && params.interpolate > 0 ? interpolateEvents(params.events, params.interpolate) : params.events;
119881
119985
  for (const event2 of events) {
119882
119986
  await sleep6(event2.delayMs ?? 16);
119883
- sendCommand(api, {
119987
+ await sendCommand(api, {
119884
119988
  cmd: "touch",
119885
119989
  type: event2.type,
119886
119990
  x: event2.x,
@@ -119963,7 +120067,7 @@ Use when you need to zoom in or out on a map, image, or zoomable view. Returns {
119963
120067
  const y2 = cy + halfDist * sinA;
119964
120068
  const type = i === 0 ? "Down" : i === steps ? "Up" : "Move";
119965
120069
  if (i === 0) timestampMs = Date.now();
119966
- sendTouchEvent(api, type, x1, y1, x2, y2);
120070
+ await sendTouchEvent(api, type, x1, y1, x2, y2);
119967
120071
  if (i < steps) await sleep(16);
119968
120072
  }
119969
120073
  return { pinched: true, timestampMs };
@@ -120041,11 +120145,17 @@ Size the orbit with radius, or with radiusX and radiusY together (the pair overr
120041
120145
  let lastY2 = 0;
120042
120146
  for (let i = 0; i <= steps; i++) {
120043
120147
  if (ctx?.signal?.aborted) {
120044
- if (i > 0) sendTouchEvent(api, "Up", lastX1, lastY1, lastX2, lastY2);
120045
120148
  const err = new Error(
120046
120149
  `gesture-rotate aborted \u2014 cancelled mid-gesture after ${i} of ${steps + 1} frames`
120047
120150
  );
120048
120151
  err.name = "AbortError";
120152
+ if (i > 0) {
120153
+ try {
120154
+ await sendTouchEvent(api, "Up", lastX1, lastY1, lastX2, lastY2);
120155
+ } catch (liftErr) {
120156
+ err.cause = liftErr;
120157
+ }
120158
+ }
120049
120159
  throw err;
120050
120160
  }
120051
120161
  const t = i / steps;
@@ -120057,7 +120167,7 @@ Size the orbit with radius, or with radiusX and radiusY together (the pair overr
120057
120167
  const y2 = params.centerY - radiusY * Math.sin(angleRad);
120058
120168
  const type = i === 0 ? "Down" : i === steps ? "Up" : "Move";
120059
120169
  if (i === 0) timestampMs = Date.now();
120060
- sendTouchEvent(api, type, x1, y1, x2, y2);
120170
+ await sendTouchEvent(api, type, x1, y1, x2, y2);
120061
120171
  lastX1 = x1;
120062
120172
  lastY1 = y1;
120063
120173
  lastX2 = x2;
@@ -120126,13 +120236,13 @@ Fails if the device backend is not reachable \u2014 the simulator-server for iOS
120126
120236
  return { pressed: params.button };
120127
120237
  }
120128
120238
  const api = services.simulatorServer;
120129
- sendCommand(api, {
120239
+ await sendCommand(api, {
120130
120240
  cmd: "button",
120131
120241
  direction: "Down",
120132
120242
  button: params.button
120133
120243
  });
120134
120244
  await sleep7(50);
120135
- sendCommand(api, { cmd: "button", direction: "Up", button: params.button });
120245
+ await sendCommand(api, { cmd: "button", direction: "Up", button: params.button });
120136
120246
  return { pressed: params.button };
120137
120247
  }
120138
120248
  };
@@ -120943,7 +121053,7 @@ Returns { orientation }. Fails if the target device is not booted.`,
120943
121053
  }),
120944
121054
  async execute(services, params) {
120945
121055
  const api = services.simulatorServer;
120946
- sendCommand(api, { cmd: "rotate", direction: params.orientation });
121056
+ await sendCommand(api, { cmd: "rotate", direction: params.orientation });
120947
121057
  return { orientation: params.orientation };
120948
121058
  }
120949
121059
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@swmansion/argent",
3
- "version": "0.22.2-next.7",
3
+ "version": "0.22.2-next.9",
4
4
  "mcpName": "io.github.software-mansion/argent",
5
5
  "description": "MCP server for iOS Simulator and Android Emulator control",
6
6
  "license": "Apache-2.0",
@@ -1,186 +0,0 @@
1
- NOTE: This is the license for the Android screen-sharing agent bundled in this
2
- directory -- "screen-sharing-agent.jar" and the per-ABI
3
- "libscreen-sharing-agent.so" files. Those binaries are taken from the Android
4
- Studio IDE (JetBrains' "android/streaming" module) and are redistributed under
5
- the Apache License 2.0 reproduced below; see README.md in this directory for
6
- provenance. This note is informational only and does not modify the terms that
7
- follow.
8
-
9
- --------------------------------------------------------------------------------
10
-
11
- Apache License
12
- Version 2.0, January 2004
13
- http://www.apache.org/licenses/
14
-
15
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
16
-
17
- 1. Definitions.
18
-
19
- "License" shall mean the terms and conditions for use, reproduction,
20
- and distribution as defined by Sections 1 through 9 of this document.
21
-
22
- "Licensor" shall mean the copyright owner or entity authorized by
23
- the copyright owner that is granting the License.
24
-
25
- "Legal Entity" shall mean the union of the acting entity and all
26
- other entities that control, are controlled by, or are under common
27
- control with that entity. For the purposes of this definition,
28
- "control" means (i) the power, direct or indirect, to cause the
29
- direction or management of such entity, whether by contract or
30
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
31
- outstanding shares, or (iii) beneficial ownership of such entity.
32
-
33
- "You" (or "Your") shall mean an individual or Legal Entity
34
- exercising permissions granted by this License.
35
-
36
- "Source" form shall mean the preferred form for making modifications,
37
- including but not limited to software source code, documentation
38
- source, and configuration files.
39
-
40
- "Object" form shall mean any form resulting from mechanical
41
- transformation or translation of a Source form, including but
42
- not limited to compiled object code, generated documentation,
43
- and conversions to other media types.
44
-
45
- "Work" shall mean the work of authorship, whether in Source or
46
- Object form, made available under the License, as indicated by a
47
- copyright notice that is included in or attached to the work
48
- (an example is provided in the Appendix below).
49
-
50
- "Derivative Works" shall mean any work, whether in Source or Object
51
- form, that is based on (or derived from) the Work and for which the
52
- editorial revisions, annotations, elaborations, or other modifications
53
- represent, as a whole, an original work of authorship. For the purposes
54
- of this License, Derivative Works shall not include works that remain
55
- separable from, or merely link (or bind by name) to the interfaces of,
56
- the Work and Derivative Works thereof.
57
-
58
- "Contribution" shall mean any work of authorship, including
59
- the original version of the Work and any modifications or additions
60
- to that Work or Derivative Works thereof, that is intentionally
61
- submitted to Licensor for inclusion in the Work by the copyright owner
62
- or by an individual or Legal Entity authorized to submit on behalf of
63
- the copyright owner. For the purposes of this definition, "submitted"
64
- means any form of electronic, verbal, or written communication sent
65
- to the Licensor or its representatives, including but not limited to
66
- communication on electronic mailing lists, source code control systems,
67
- and issue tracking systems that are managed by, or on behalf of, the
68
- Licensor for the purpose of discussing and improving the Work, but
69
- excluding communication that is conspicuously marked or otherwise
70
- designated in writing by the copyright owner as "Not a Contribution."
71
-
72
- "Contributor" shall mean Licensor and any individual or Legal Entity
73
- on behalf of whom a Contribution has been received by Licensor and
74
- subsequently incorporated within the Work.
75
-
76
- 2. Grant of Copyright License. Subject to the terms and conditions of
77
- this License, each Contributor hereby grants to You a perpetual,
78
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
- copyright license to reproduce, prepare Derivative Works of,
80
- publicly display, publicly perform, sublicense, and distribute the
81
- Work and such Derivative Works in Source or Object form.
82
-
83
- 3. Grant of Patent License. Subject to the terms and conditions of
84
- this License, each Contributor hereby grants to You a perpetual,
85
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
86
- (except as stated in this section) patent license to make, have made,
87
- use, offer to sell, sell, import, and otherwise transfer the Work,
88
- where such license applies only to those patent claims licensable
89
- by such Contributor that are necessarily infringed by their
90
- Contribution(s) alone or by combination of their Contribution(s)
91
- with the Work to which such Contribution(s) was submitted. If You
92
- institute patent litigation against any entity (including a
93
- cross-claim or counterclaim in a lawsuit) alleging that the Work
94
- or a Contribution incorporated within the Work constitutes direct
95
- or contributory patent infringement, then any patent licenses
96
- granted to You under this License for that Work shall terminate
97
- as of the date such litigation is filed.
98
-
99
- 4. Redistribution. You may reproduce and distribute copies of the
100
- Work or Derivative Works thereof in any medium, with or without
101
- modifications, and in Source or Object form, provided that You
102
- meet the following conditions:
103
-
104
- (a) You must give any other recipients of the Work or
105
- Derivative Works a copy of this License; and
106
-
107
- (b) You must cause any modified files to carry prominent notices
108
- stating that You changed the files; and
109
-
110
- (c) You must retain, in the Source form of any Derivative Works
111
- that You distribute, all copyright, patent, trademark, and
112
- attribution notices from the Source form of the Work,
113
- excluding those notices that do not pertain to any part of
114
- the Derivative Works; and
115
-
116
- (d) If the Work includes a "NOTICE" text file as part of its
117
- distribution, then any Derivative Works that You distribute must
118
- include a readable copy of the attribution notices contained
119
- within such NOTICE file, excluding those notices that do not
120
- pertain to any part of the Derivative Works, in at least one
121
- of the following places: within a NOTICE text file distributed
122
- as part of the Derivative Works; within the Source form or
123
- documentation, if provided along with the Derivative Works; or,
124
- within a display generated by the Derivative Works, if and
125
- wherever such third-party notices normally appear. The contents
126
- of the NOTICE file are for informational purposes only and
127
- do not modify the License. You may add Your own attribution
128
- notices within Derivative Works that You distribute, alongside
129
- or as an addendum to the NOTICE text from the Work, provided
130
- that such additional attribution notices cannot be construed
131
- as modifying the License.
132
-
133
- You may add Your own copyright statement to Your modifications and
134
- may provide additional or different license terms and conditions
135
- for use, reproduction, or distribution of Your modifications, or
136
- for any such Derivative Works as a whole, provided Your use,
137
- reproduction, and distribution of the Work otherwise complies with
138
- the conditions stated in this License.
139
-
140
- 5. Submission of Contributions. Unless You explicitly state otherwise,
141
- any Contribution intentionally submitted for inclusion in the Work
142
- by You to the Licensor shall be under the terms and conditions of
143
- this License, without any additional terms or conditions.
144
- Notwithstanding the above, nothing herein shall supersede or modify
145
- the terms of any separate license agreement you may have executed
146
- with Licensor regarding such Contributions.
147
-
148
- 6. Trademarks. This License does not grant permission to use the trade
149
- names, trademarks, service marks, or product names of the Licensor,
150
- except as required for reasonable and customary use in describing the
151
- origin of the Work and reproducing the content of the NOTICE file.
152
-
153
- 7. Disclaimer of Warranty. Unless required by applicable law or
154
- agreed to in writing, Licensor provides the Work (and each
155
- Contributor provides its Contributions) on an "AS IS" BASIS,
156
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
157
- implied, including, without limitation, any warranties or conditions
158
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
159
- PARTICULAR PURPOSE. You are solely responsible for determining the
160
- appropriateness of using or redistributing the Work and assume any
161
- risks associated with Your exercise of permissions under this License.
162
-
163
- 8. Limitation of Liability. In no event and under no legal theory,
164
- whether in tort (including negligence), contract, or otherwise,
165
- unless required by applicable law (such as deliberate and grossly
166
- negligent acts) or agreed to in writing, shall any Contributor be
167
- liable to You for damages, including any direct, indirect, special,
168
- incidental, or consequential damages of any character arising as a
169
- result of this License or out of the use or inability to use the
170
- Work (including but not limited to damages for loss of goodwill,
171
- work stoppage, computer failure or malfunction, or any and all
172
- other commercial damages or losses), even if such Contributor
173
- has been advised of the possibility of such damages.
174
-
175
- 9. Accepting Warranty or Additional Liability. While redistributing
176
- the Work or Derivative Works thereof, You may choose to offer,
177
- and charge a fee for, acceptance of support, warranty, indemnity,
178
- or other liability obligations and/or rights consistent with this
179
- License. However, in accepting such obligations, You may act only
180
- on Your own behalf and on Your sole responsibility, not on behalf
181
- of any other Contributor, and only if You agree to indemnify,
182
- defend, and hold each Contributor harmless for any liability
183
- incurred by, or claims asserted against, such Contributor by reason
184
- of your accepting any such warranty or additional liability.
185
-
186
- END OF TERMS AND CONDITIONS
@@ -1,11 +0,0 @@
1
- This directory is provided as part of the Android Studio IDE
2
-
3
- ```
4
- /Applications/Android Studio.app/Contents/plugins/android/resources/screen-sharing-agent
5
- ```
6
-
7
- with source code available (and licensed under Apache 2.0 license) at
8
-
9
- ```
10
- https://github.com/JetBrains/android/streaming
11
- ```
@@ -1,186 +0,0 @@
1
- NOTE: This is the license for the Android screen-sharing agent bundled in this
2
- directory -- "screen-sharing-agent.jar" and the per-ABI
3
- "libscreen-sharing-agent.so" files. Those binaries are taken from the Android
4
- Studio IDE (JetBrains' "android/streaming" module) and are redistributed under
5
- the Apache License 2.0 reproduced below; see README.md in this directory for
6
- provenance. This note is informational only and does not modify the terms that
7
- follow.
8
-
9
- --------------------------------------------------------------------------------
10
-
11
- Apache License
12
- Version 2.0, January 2004
13
- http://www.apache.org/licenses/
14
-
15
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
16
-
17
- 1. Definitions.
18
-
19
- "License" shall mean the terms and conditions for use, reproduction,
20
- and distribution as defined by Sections 1 through 9 of this document.
21
-
22
- "Licensor" shall mean the copyright owner or entity authorized by
23
- the copyright owner that is granting the License.
24
-
25
- "Legal Entity" shall mean the union of the acting entity and all
26
- other entities that control, are controlled by, or are under common
27
- control with that entity. For the purposes of this definition,
28
- "control" means (i) the power, direct or indirect, to cause the
29
- direction or management of such entity, whether by contract or
30
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
31
- outstanding shares, or (iii) beneficial ownership of such entity.
32
-
33
- "You" (or "Your") shall mean an individual or Legal Entity
34
- exercising permissions granted by this License.
35
-
36
- "Source" form shall mean the preferred form for making modifications,
37
- including but not limited to software source code, documentation
38
- source, and configuration files.
39
-
40
- "Object" form shall mean any form resulting from mechanical
41
- transformation or translation of a Source form, including but
42
- not limited to compiled object code, generated documentation,
43
- and conversions to other media types.
44
-
45
- "Work" shall mean the work of authorship, whether in Source or
46
- Object form, made available under the License, as indicated by a
47
- copyright notice that is included in or attached to the work
48
- (an example is provided in the Appendix below).
49
-
50
- "Derivative Works" shall mean any work, whether in Source or Object
51
- form, that is based on (or derived from) the Work and for which the
52
- editorial revisions, annotations, elaborations, or other modifications
53
- represent, as a whole, an original work of authorship. For the purposes
54
- of this License, Derivative Works shall not include works that remain
55
- separable from, or merely link (or bind by name) to the interfaces of,
56
- the Work and Derivative Works thereof.
57
-
58
- "Contribution" shall mean any work of authorship, including
59
- the original version of the Work and any modifications or additions
60
- to that Work or Derivative Works thereof, that is intentionally
61
- submitted to Licensor for inclusion in the Work by the copyright owner
62
- or by an individual or Legal Entity authorized to submit on behalf of
63
- the copyright owner. For the purposes of this definition, "submitted"
64
- means any form of electronic, verbal, or written communication sent
65
- to the Licensor or its representatives, including but not limited to
66
- communication on electronic mailing lists, source code control systems,
67
- and issue tracking systems that are managed by, or on behalf of, the
68
- Licensor for the purpose of discussing and improving the Work, but
69
- excluding communication that is conspicuously marked or otherwise
70
- designated in writing by the copyright owner as "Not a Contribution."
71
-
72
- "Contributor" shall mean Licensor and any individual or Legal Entity
73
- on behalf of whom a Contribution has been received by Licensor and
74
- subsequently incorporated within the Work.
75
-
76
- 2. Grant of Copyright License. Subject to the terms and conditions of
77
- this License, each Contributor hereby grants to You a perpetual,
78
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
- copyright license to reproduce, prepare Derivative Works of,
80
- publicly display, publicly perform, sublicense, and distribute the
81
- Work and such Derivative Works in Source or Object form.
82
-
83
- 3. Grant of Patent License. Subject to the terms and conditions of
84
- this License, each Contributor hereby grants to You a perpetual,
85
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
86
- (except as stated in this section) patent license to make, have made,
87
- use, offer to sell, sell, import, and otherwise transfer the Work,
88
- where such license applies only to those patent claims licensable
89
- by such Contributor that are necessarily infringed by their
90
- Contribution(s) alone or by combination of their Contribution(s)
91
- with the Work to which such Contribution(s) was submitted. If You
92
- institute patent litigation against any entity (including a
93
- cross-claim or counterclaim in a lawsuit) alleging that the Work
94
- or a Contribution incorporated within the Work constitutes direct
95
- or contributory patent infringement, then any patent licenses
96
- granted to You under this License for that Work shall terminate
97
- as of the date such litigation is filed.
98
-
99
- 4. Redistribution. You may reproduce and distribute copies of the
100
- Work or Derivative Works thereof in any medium, with or without
101
- modifications, and in Source or Object form, provided that You
102
- meet the following conditions:
103
-
104
- (a) You must give any other recipients of the Work or
105
- Derivative Works a copy of this License; and
106
-
107
- (b) You must cause any modified files to carry prominent notices
108
- stating that You changed the files; and
109
-
110
- (c) You must retain, in the Source form of any Derivative Works
111
- that You distribute, all copyright, patent, trademark, and
112
- attribution notices from the Source form of the Work,
113
- excluding those notices that do not pertain to any part of
114
- the Derivative Works; and
115
-
116
- (d) If the Work includes a "NOTICE" text file as part of its
117
- distribution, then any Derivative Works that You distribute must
118
- include a readable copy of the attribution notices contained
119
- within such NOTICE file, excluding those notices that do not
120
- pertain to any part of the Derivative Works, in at least one
121
- of the following places: within a NOTICE text file distributed
122
- as part of the Derivative Works; within the Source form or
123
- documentation, if provided along with the Derivative Works; or,
124
- within a display generated by the Derivative Works, if and
125
- wherever such third-party notices normally appear. The contents
126
- of the NOTICE file are for informational purposes only and
127
- do not modify the License. You may add Your own attribution
128
- notices within Derivative Works that You distribute, alongside
129
- or as an addendum to the NOTICE text from the Work, provided
130
- that such additional attribution notices cannot be construed
131
- as modifying the License.
132
-
133
- You may add Your own copyright statement to Your modifications and
134
- may provide additional or different license terms and conditions
135
- for use, reproduction, or distribution of Your modifications, or
136
- for any such Derivative Works as a whole, provided Your use,
137
- reproduction, and distribution of the Work otherwise complies with
138
- the conditions stated in this License.
139
-
140
- 5. Submission of Contributions. Unless You explicitly state otherwise,
141
- any Contribution intentionally submitted for inclusion in the Work
142
- by You to the Licensor shall be under the terms and conditions of
143
- this License, without any additional terms or conditions.
144
- Notwithstanding the above, nothing herein shall supersede or modify
145
- the terms of any separate license agreement you may have executed
146
- with Licensor regarding such Contributions.
147
-
148
- 6. Trademarks. This License does not grant permission to use the trade
149
- names, trademarks, service marks, or product names of the Licensor,
150
- except as required for reasonable and customary use in describing the
151
- origin of the Work and reproducing the content of the NOTICE file.
152
-
153
- 7. Disclaimer of Warranty. Unless required by applicable law or
154
- agreed to in writing, Licensor provides the Work (and each
155
- Contributor provides its Contributions) on an "AS IS" BASIS,
156
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
157
- implied, including, without limitation, any warranties or conditions
158
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
159
- PARTICULAR PURPOSE. You are solely responsible for determining the
160
- appropriateness of using or redistributing the Work and assume any
161
- risks associated with Your exercise of permissions under this License.
162
-
163
- 8. Limitation of Liability. In no event and under no legal theory,
164
- whether in tort (including negligence), contract, or otherwise,
165
- unless required by applicable law (such as deliberate and grossly
166
- negligent acts) or agreed to in writing, shall any Contributor be
167
- liable to You for damages, including any direct, indirect, special,
168
- incidental, or consequential damages of any character arising as a
169
- result of this License or out of the use or inability to use the
170
- Work (including but not limited to damages for loss of goodwill,
171
- work stoppage, computer failure or malfunction, or any and all
172
- other commercial damages or losses), even if such Contributor
173
- has been advised of the possibility of such damages.
174
-
175
- 9. Accepting Warranty or Additional Liability. While redistributing
176
- the Work or Derivative Works thereof, You may choose to offer,
177
- and charge a fee for, acceptance of support, warranty, indemnity,
178
- or other liability obligations and/or rights consistent with this
179
- License. However, in accepting such obligations, You may act only
180
- on Your own behalf and on Your sole responsibility, not on behalf
181
- of any other Contributor, and only if You agree to indemnify,
182
- defend, and hold each Contributor harmless for any liability
183
- incurred by, or claims asserted against, such Contributor by reason
184
- of your accepting any such warranty or additional liability.
185
-
186
- END OF TERMS AND CONDITIONS
@@ -1,11 +0,0 @@
1
- This directory is provided as part of the Android Studio IDE
2
-
3
- ```
4
- /Applications/Android Studio.app/Contents/plugins/android/resources/screen-sharing-agent
5
- ```
6
-
7
- with source code available (and licensed under Apache 2.0 license) at
8
-
9
- ```
10
- https://github.com/JetBrains/android/streaming
11
- ```
@@ -1,186 +0,0 @@
1
- NOTE: This is the license for the Android screen-sharing agent bundled in this
2
- directory -- "screen-sharing-agent.jar" and the per-ABI
3
- "libscreen-sharing-agent.so" files. Those binaries are taken from the Android
4
- Studio IDE (JetBrains' "android/streaming" module) and are redistributed under
5
- the Apache License 2.0 reproduced below; see README.md in this directory for
6
- provenance. This note is informational only and does not modify the terms that
7
- follow.
8
-
9
- --------------------------------------------------------------------------------
10
-
11
- Apache License
12
- Version 2.0, January 2004
13
- http://www.apache.org/licenses/
14
-
15
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
16
-
17
- 1. Definitions.
18
-
19
- "License" shall mean the terms and conditions for use, reproduction,
20
- and distribution as defined by Sections 1 through 9 of this document.
21
-
22
- "Licensor" shall mean the copyright owner or entity authorized by
23
- the copyright owner that is granting the License.
24
-
25
- "Legal Entity" shall mean the union of the acting entity and all
26
- other entities that control, are controlled by, or are under common
27
- control with that entity. For the purposes of this definition,
28
- "control" means (i) the power, direct or indirect, to cause the
29
- direction or management of such entity, whether by contract or
30
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
31
- outstanding shares, or (iii) beneficial ownership of such entity.
32
-
33
- "You" (or "Your") shall mean an individual or Legal Entity
34
- exercising permissions granted by this License.
35
-
36
- "Source" form shall mean the preferred form for making modifications,
37
- including but not limited to software source code, documentation
38
- source, and configuration files.
39
-
40
- "Object" form shall mean any form resulting from mechanical
41
- transformation or translation of a Source form, including but
42
- not limited to compiled object code, generated documentation,
43
- and conversions to other media types.
44
-
45
- "Work" shall mean the work of authorship, whether in Source or
46
- Object form, made available under the License, as indicated by a
47
- copyright notice that is included in or attached to the work
48
- (an example is provided in the Appendix below).
49
-
50
- "Derivative Works" shall mean any work, whether in Source or Object
51
- form, that is based on (or derived from) the Work and for which the
52
- editorial revisions, annotations, elaborations, or other modifications
53
- represent, as a whole, an original work of authorship. For the purposes
54
- of this License, Derivative Works shall not include works that remain
55
- separable from, or merely link (or bind by name) to the interfaces of,
56
- the Work and Derivative Works thereof.
57
-
58
- "Contribution" shall mean any work of authorship, including
59
- the original version of the Work and any modifications or additions
60
- to that Work or Derivative Works thereof, that is intentionally
61
- submitted to Licensor for inclusion in the Work by the copyright owner
62
- or by an individual or Legal Entity authorized to submit on behalf of
63
- the copyright owner. For the purposes of this definition, "submitted"
64
- means any form of electronic, verbal, or written communication sent
65
- to the Licensor or its representatives, including but not limited to
66
- communication on electronic mailing lists, source code control systems,
67
- and issue tracking systems that are managed by, or on behalf of, the
68
- Licensor for the purpose of discussing and improving the Work, but
69
- excluding communication that is conspicuously marked or otherwise
70
- designated in writing by the copyright owner as "Not a Contribution."
71
-
72
- "Contributor" shall mean Licensor and any individual or Legal Entity
73
- on behalf of whom a Contribution has been received by Licensor and
74
- subsequently incorporated within the Work.
75
-
76
- 2. Grant of Copyright License. Subject to the terms and conditions of
77
- this License, each Contributor hereby grants to You a perpetual,
78
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
79
- copyright license to reproduce, prepare Derivative Works of,
80
- publicly display, publicly perform, sublicense, and distribute the
81
- Work and such Derivative Works in Source or Object form.
82
-
83
- 3. Grant of Patent License. Subject to the terms and conditions of
84
- this License, each Contributor hereby grants to You a perpetual,
85
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
86
- (except as stated in this section) patent license to make, have made,
87
- use, offer to sell, sell, import, and otherwise transfer the Work,
88
- where such license applies only to those patent claims licensable
89
- by such Contributor that are necessarily infringed by their
90
- Contribution(s) alone or by combination of their Contribution(s)
91
- with the Work to which such Contribution(s) was submitted. If You
92
- institute patent litigation against any entity (including a
93
- cross-claim or counterclaim in a lawsuit) alleging that the Work
94
- or a Contribution incorporated within the Work constitutes direct
95
- or contributory patent infringement, then any patent licenses
96
- granted to You under this License for that Work shall terminate
97
- as of the date such litigation is filed.
98
-
99
- 4. Redistribution. You may reproduce and distribute copies of the
100
- Work or Derivative Works thereof in any medium, with or without
101
- modifications, and in Source or Object form, provided that You
102
- meet the following conditions:
103
-
104
- (a) You must give any other recipients of the Work or
105
- Derivative Works a copy of this License; and
106
-
107
- (b) You must cause any modified files to carry prominent notices
108
- stating that You changed the files; and
109
-
110
- (c) You must retain, in the Source form of any Derivative Works
111
- that You distribute, all copyright, patent, trademark, and
112
- attribution notices from the Source form of the Work,
113
- excluding those notices that do not pertain to any part of
114
- the Derivative Works; and
115
-
116
- (d) If the Work includes a "NOTICE" text file as part of its
117
- distribution, then any Derivative Works that You distribute must
118
- include a readable copy of the attribution notices contained
119
- within such NOTICE file, excluding those notices that do not
120
- pertain to any part of the Derivative Works, in at least one
121
- of the following places: within a NOTICE text file distributed
122
- as part of the Derivative Works; within the Source form or
123
- documentation, if provided along with the Derivative Works; or,
124
- within a display generated by the Derivative Works, if and
125
- wherever such third-party notices normally appear. The contents
126
- of the NOTICE file are for informational purposes only and
127
- do not modify the License. You may add Your own attribution
128
- notices within Derivative Works that You distribute, alongside
129
- or as an addendum to the NOTICE text from the Work, provided
130
- that such additional attribution notices cannot be construed
131
- as modifying the License.
132
-
133
- You may add Your own copyright statement to Your modifications and
134
- may provide additional or different license terms and conditions
135
- for use, reproduction, or distribution of Your modifications, or
136
- for any such Derivative Works as a whole, provided Your use,
137
- reproduction, and distribution of the Work otherwise complies with
138
- the conditions stated in this License.
139
-
140
- 5. Submission of Contributions. Unless You explicitly state otherwise,
141
- any Contribution intentionally submitted for inclusion in the Work
142
- by You to the Licensor shall be under the terms and conditions of
143
- this License, without any additional terms or conditions.
144
- Notwithstanding the above, nothing herein shall supersede or modify
145
- the terms of any separate license agreement you may have executed
146
- with Licensor regarding such Contributions.
147
-
148
- 6. Trademarks. This License does not grant permission to use the trade
149
- names, trademarks, service marks, or product names of the Licensor,
150
- except as required for reasonable and customary use in describing the
151
- origin of the Work and reproducing the content of the NOTICE file.
152
-
153
- 7. Disclaimer of Warranty. Unless required by applicable law or
154
- agreed to in writing, Licensor provides the Work (and each
155
- Contributor provides its Contributions) on an "AS IS" BASIS,
156
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
157
- implied, including, without limitation, any warranties or conditions
158
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
159
- PARTICULAR PURPOSE. You are solely responsible for determining the
160
- appropriateness of using or redistributing the Work and assume any
161
- risks associated with Your exercise of permissions under this License.
162
-
163
- 8. Limitation of Liability. In no event and under no legal theory,
164
- whether in tort (including negligence), contract, or otherwise,
165
- unless required by applicable law (such as deliberate and grossly
166
- negligent acts) or agreed to in writing, shall any Contributor be
167
- liable to You for damages, including any direct, indirect, special,
168
- incidental, or consequential damages of any character arising as a
169
- result of this License or out of the use or inability to use the
170
- Work (including but not limited to damages for loss of goodwill,
171
- work stoppage, computer failure or malfunction, or any and all
172
- other commercial damages or losses), even if such Contributor
173
- has been advised of the possibility of such damages.
174
-
175
- 9. Accepting Warranty or Additional Liability. While redistributing
176
- the Work or Derivative Works thereof, You may choose to offer,
177
- and charge a fee for, acceptance of support, warranty, indemnity,
178
- or other liability obligations and/or rights consistent with this
179
- License. However, in accepting such obligations, You may act only
180
- on Your own behalf and on Your sole responsibility, not on behalf
181
- of any other Contributor, and only if You agree to indemnify,
182
- defend, and hold each Contributor harmless for any liability
183
- incurred by, or claims asserted against, such Contributor by reason
184
- of your accepting any such warranty or additional liability.
185
-
186
- END OF TERMS AND CONDITIONS
@@ -1,11 +0,0 @@
1
- This directory is provided as part of the Android Studio IDE
2
-
3
- ```
4
- /Applications/Android Studio.app/Contents/plugins/android/resources/screen-sharing-agent
5
- ```
6
-
7
- with source code available (and licensed under Apache 2.0 license) at
8
-
9
- ```
10
- https://github.com/JetBrains/android/streaming
11
- ```