ds-harness-remote 0.4.25 → 0.4.27

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 (42) hide show
  1. package/README.md +6 -6
  2. package/dist/client-runtime.d.ts +11 -0
  3. package/dist/client-runtime.d.ts.map +1 -1
  4. package/dist/client-runtime.js +62 -0
  5. package/dist/client-runtime.js.map +1 -1
  6. package/dist/client.github.js +74 -107
  7. package/dist/client.js +74 -107
  8. package/dist/client.js.map +1 -1
  9. package/dist/codex/domain.d.ts.map +1 -1
  10. package/dist/codex/domain.js +22 -0
  11. package/dist/codex/domain.js.map +1 -1
  12. package/dist/config.d.ts +6 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +4 -1
  15. package/dist/config.js.map +1 -1
  16. package/dist/control-runtime.d.ts.map +1 -1
  17. package/dist/control-runtime.js +16 -1
  18. package/dist/control-runtime.js.map +1 -1
  19. package/dist/harness-version.d.ts.map +1 -1
  20. package/dist/harness-version.js +16 -3
  21. package/dist/harness-version.js.map +1 -1
  22. package/dist/index.js +213 -81
  23. package/dist/index.js.map +4 -4
  24. package/dist/loopback-host.d.ts +2 -2
  25. package/dist/loopback-host.d.ts.map +1 -1
  26. package/dist/loopback-host.js +41 -16
  27. package/dist/loopback-host.js.map +1 -1
  28. package/dist/server-api.d.ts +2 -0
  29. package/dist/server-api.d.ts.map +1 -1
  30. package/dist/server-api.js +5 -0
  31. package/dist/server-api.js.map +1 -1
  32. package/dist/server-connection.d.ts.map +1 -1
  33. package/dist/server-connection.js +8 -0
  34. package/dist/server-connection.js.map +1 -1
  35. package/dist/service.d.ts +4 -1
  36. package/dist/service.d.ts.map +1 -1
  37. package/dist/service.js +19 -5
  38. package/dist/service.js.map +1 -1
  39. package/dist/version.d.ts +1 -1
  40. package/dist/version.js +1 -1
  41. package/dsh-plugin.json +1 -1
  42. package/package.json +1 -1
@@ -23,18 +23,18 @@
23
23
  mod
24
24
  ));
25
25
 
26
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/can-promise.js
26
+ // ../../node_modules/qrcode/lib/can-promise.js
27
27
  var require_can_promise = __commonJS({
28
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/can-promise.js"(exports, module) {
28
+ "../../node_modules/qrcode/lib/can-promise.js"(exports, module) {
29
29
  module.exports = function() {
30
30
  return typeof Promise == "function" && Promise.prototype && Promise.prototype.then;
31
31
  };
32
32
  }
33
33
  });
34
34
 
35
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js
35
+ // ../../node_modules/qrcode/lib/core/utils.js
36
36
  var require_utils = __commonJS({
37
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js"(exports) {
37
+ "../../node_modules/qrcode/lib/core/utils.js"(exports) {
38
38
  var toSJISFunction, CODEWORDS_COUNT = [
39
39
  0,
40
40
  // Not used
@@ -107,9 +107,9 @@
107
107
  }
108
108
  });
109
109
 
110
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-level.js
110
+ // ../../node_modules/qrcode/lib/core/error-correction-level.js
111
111
  var require_error_correction_level = __commonJS({
112
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-level.js"(exports) {
112
+ "../../node_modules/qrcode/lib/core/error-correction-level.js"(exports) {
113
113
  exports.L = { bit: 1 };
114
114
  exports.M = { bit: 0 };
115
115
  exports.Q = { bit: 3 };
@@ -149,9 +149,9 @@
149
149
  }
150
150
  });
151
151
 
152
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-buffer.js
152
+ // ../../node_modules/qrcode/lib/core/bit-buffer.js
153
153
  var require_bit_buffer = __commonJS({
154
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-buffer.js"(exports, module) {
154
+ "../../node_modules/qrcode/lib/core/bit-buffer.js"(exports, module) {
155
155
  function BitBuffer() {
156
156
  this.buffer = [], this.length = 0;
157
157
  }
@@ -176,9 +176,9 @@
176
176
  }
177
177
  });
178
178
 
179
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-matrix.js
179
+ // ../../node_modules/qrcode/lib/core/bit-matrix.js
180
180
  var require_bit_matrix = __commonJS({
181
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/bit-matrix.js"(exports, module) {
181
+ "../../node_modules/qrcode/lib/core/bit-matrix.js"(exports, module) {
182
182
  function BitMatrix(size) {
183
183
  if (!size || size < 1)
184
184
  throw new Error("BitMatrix size must be defined and greater than 0");
@@ -201,9 +201,9 @@
201
201
  }
202
202
  });
203
203
 
204
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alignment-pattern.js
204
+ // ../../node_modules/qrcode/lib/core/alignment-pattern.js
205
205
  var require_alignment_pattern = __commonJS({
206
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alignment-pattern.js"(exports) {
206
+ "../../node_modules/qrcode/lib/core/alignment-pattern.js"(exports) {
207
207
  var getSymbolSize = require_utils().getSymbolSize;
208
208
  exports.getRowColCoords = function(version) {
209
209
  if (version === 1) return [];
@@ -224,9 +224,9 @@
224
224
  }
225
225
  });
226
226
 
227
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/finder-pattern.js
227
+ // ../../node_modules/qrcode/lib/core/finder-pattern.js
228
228
  var require_finder_pattern = __commonJS({
229
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/finder-pattern.js"(exports) {
229
+ "../../node_modules/qrcode/lib/core/finder-pattern.js"(exports) {
230
230
  var getSymbolSize = require_utils().getSymbolSize, FINDER_PATTERN_SIZE = 7;
231
231
  exports.getPositions = function(version) {
232
232
  let size = getSymbolSize(version);
@@ -242,9 +242,9 @@
242
242
  }
243
243
  });
244
244
 
245
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mask-pattern.js
245
+ // ../../node_modules/qrcode/lib/core/mask-pattern.js
246
246
  var require_mask_pattern = __commonJS({
247
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mask-pattern.js"(exports) {
247
+ "../../node_modules/qrcode/lib/core/mask-pattern.js"(exports) {
248
248
  exports.Patterns = {
249
249
  PATTERN000: 0,
250
250
  PATTERN001: 1,
@@ -342,9 +342,9 @@
342
342
  }
343
343
  });
344
344
 
345
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-code.js
345
+ // ../../node_modules/qrcode/lib/core/error-correction-code.js
346
346
  var require_error_correction_code = __commonJS({
347
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/error-correction-code.js"(exports) {
347
+ "../../node_modules/qrcode/lib/core/error-correction-code.js"(exports) {
348
348
  var ECLevel = require_error_correction_level(), EC_BLOCKS_TABLE = [
349
349
  // L M Q H
350
350
  1,
@@ -701,9 +701,9 @@
701
701
  }
702
702
  });
703
703
 
704
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/galois-field.js
704
+ // ../../node_modules/qrcode/lib/core/galois-field.js
705
705
  var require_galois_field = __commonJS({
706
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/galois-field.js"(exports) {
706
+ "../../node_modules/qrcode/lib/core/galois-field.js"(exports) {
707
707
  var EXP_TABLE = new Uint8Array(512), LOG_TABLE = new Uint8Array(256);
708
708
  (function() {
709
709
  let x = 1;
@@ -725,9 +725,9 @@
725
725
  }
726
726
  });
727
727
 
728
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/polynomial.js
728
+ // ../../node_modules/qrcode/lib/core/polynomial.js
729
729
  var require_polynomial = __commonJS({
730
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/polynomial.js"(exports) {
730
+ "../../node_modules/qrcode/lib/core/polynomial.js"(exports) {
731
731
  var GF = require_galois_field();
732
732
  exports.mul = function(p1, p2) {
733
733
  let coeff = new Uint8Array(p1.length + p2.length - 1);
@@ -757,9 +757,9 @@
757
757
  }
758
758
  });
759
759
 
760
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/reed-solomon-encoder.js
760
+ // ../../node_modules/qrcode/lib/core/reed-solomon-encoder.js
761
761
  var require_reed_solomon_encoder = __commonJS({
762
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/reed-solomon-encoder.js"(exports, module) {
762
+ "../../node_modules/qrcode/lib/core/reed-solomon-encoder.js"(exports, module) {
763
763
  var Polynomial = require_polynomial();
764
764
  function ReedSolomonEncoder(degree) {
765
765
  this.genPoly = void 0, this.degree = degree, this.degree && this.initialize(this.degree);
@@ -783,18 +783,18 @@
783
783
  }
784
784
  });
785
785
 
786
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version-check.js
786
+ // ../../node_modules/qrcode/lib/core/version-check.js
787
787
  var require_version_check = __commonJS({
788
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version-check.js"(exports) {
788
+ "../../node_modules/qrcode/lib/core/version-check.js"(exports) {
789
789
  exports.isValid = function(version) {
790
790
  return !isNaN(version) && version >= 1 && version <= 40;
791
791
  };
792
792
  }
793
793
  });
794
794
 
795
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/regex.js
795
+ // ../../node_modules/qrcode/lib/core/regex.js
796
796
  var require_regex = __commonJS({
797
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/regex.js"(exports) {
797
+ "../../node_modules/qrcode/lib/core/regex.js"(exports) {
798
798
  var numeric = "[0-9]+", alphanumeric = "[A-Z $%*+\\-./:]+", kanji = "(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";
799
799
  kanji = kanji.replace(/u/g, "\\u");
800
800
  var byte = "(?:(?![A-Z0-9 $%*+\\-./:]|" + kanji + `)(?:.|[\r
@@ -817,9 +817,9 @@
817
817
  }
818
818
  });
819
819
 
820
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mode.js
820
+ // ../../node_modules/qrcode/lib/core/mode.js
821
821
  var require_mode = __commonJS({
822
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/mode.js"(exports) {
822
+ "../../node_modules/qrcode/lib/core/mode.js"(exports) {
823
823
  var VersionCheck = require_version_check(), Regex = require_regex();
824
824
  exports.NUMERIC = {
825
825
  id: "Numeric",
@@ -888,9 +888,9 @@
888
888
  }
889
889
  });
890
890
 
891
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version.js
891
+ // ../../node_modules/qrcode/lib/core/version.js
892
892
  var require_version = __commonJS({
893
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/version.js"(exports) {
893
+ "../../node_modules/qrcode/lib/core/version.js"(exports) {
894
894
  var Utils = require_utils(), ECCode = require_error_correction_code(), ECLevel = require_error_correction_level(), Mode = require_mode(), VersionCheck = require_version_check(), G18 = 7973, G18_BCH = Utils.getBCHDigit(G18);
895
895
  function getBestVersionForDataLength(mode, length, errorCorrectionLevel) {
896
896
  for (let currentVersion = 1; currentVersion <= 40; currentVersion++)
@@ -957,9 +957,9 @@
957
957
  }
958
958
  });
959
959
 
960
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/format-info.js
960
+ // ../../node_modules/qrcode/lib/core/format-info.js
961
961
  var require_format_info = __commonJS({
962
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/format-info.js"(exports) {
962
+ "../../node_modules/qrcode/lib/core/format-info.js"(exports) {
963
963
  var Utils = require_utils(), G15 = 1335, G15_MASK = 21522, G15_BCH = Utils.getBCHDigit(G15);
964
964
  exports.getEncodedBits = function(errorCorrectionLevel, mask) {
965
965
  let data = errorCorrectionLevel.bit << 3 | mask, d = data << 10;
@@ -970,9 +970,9 @@
970
970
  }
971
971
  });
972
972
 
973
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/numeric-data.js
973
+ // ../../node_modules/qrcode/lib/core/numeric-data.js
974
974
  var require_numeric_data = __commonJS({
975
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/numeric-data.js"(exports, module) {
975
+ "../../node_modules/qrcode/lib/core/numeric-data.js"(exports, module) {
976
976
  var Mode = require_mode();
977
977
  function NumericData(data) {
978
978
  this.mode = Mode.NUMERIC, this.data = data.toString();
@@ -997,9 +997,9 @@
997
997
  }
998
998
  });
999
999
 
1000
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alphanumeric-data.js
1000
+ // ../../node_modules/qrcode/lib/core/alphanumeric-data.js
1001
1001
  var require_alphanumeric_data = __commonJS({
1002
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/alphanumeric-data.js"(exports, module) {
1002
+ "../../node_modules/qrcode/lib/core/alphanumeric-data.js"(exports, module) {
1003
1003
  var Mode = require_mode(), ALPHA_NUM_CHARS = [
1004
1004
  "0",
1005
1005
  "1",
@@ -1071,9 +1071,9 @@
1071
1071
  }
1072
1072
  });
1073
1073
 
1074
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/byte-data.js
1074
+ // ../../node_modules/qrcode/lib/core/byte-data.js
1075
1075
  var require_byte_data = __commonJS({
1076
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/byte-data.js"(exports, module) {
1076
+ "../../node_modules/qrcode/lib/core/byte-data.js"(exports, module) {
1077
1077
  var Mode = require_mode();
1078
1078
  function ByteData(data) {
1079
1079
  this.mode = Mode.BYTE, typeof data == "string" ? this.data = new TextEncoder().encode(data) : this.data = new Uint8Array(data);
@@ -1095,9 +1095,9 @@
1095
1095
  }
1096
1096
  });
1097
1097
 
1098
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/kanji-data.js
1098
+ // ../../node_modules/qrcode/lib/core/kanji-data.js
1099
1099
  var require_kanji_data = __commonJS({
1100
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/kanji-data.js"(exports, module) {
1100
+ "../../node_modules/qrcode/lib/core/kanji-data.js"(exports, module) {
1101
1101
  var Mode = require_mode(), Utils = require_utils();
1102
1102
  function KanjiData(data) {
1103
1103
  this.mode = Mode.KANJI, this.data = data;
@@ -1131,9 +1131,9 @@ Make sure your charset is UTF-8`
1131
1131
  }
1132
1132
  });
1133
1133
 
1134
- // ../../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js
1134
+ // ../../node_modules/dijkstrajs/dijkstra.js
1135
1135
  var require_dijkstra = __commonJS({
1136
- "../../node_modules/.pnpm/dijkstrajs@1.0.3/node_modules/dijkstrajs/dijkstra.js"(exports, module) {
1136
+ "../../node_modules/dijkstrajs/dijkstra.js"(exports, module) {
1137
1137
  "use strict";
1138
1138
  var dijkstra = {
1139
1139
  single_source_shortest_paths: function(graph, s, d) {
@@ -1201,9 +1201,9 @@ Make sure your charset is UTF-8`
1201
1201
  }
1202
1202
  });
1203
1203
 
1204
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/segments.js
1204
+ // ../../node_modules/qrcode/lib/core/segments.js
1205
1205
  var require_segments = __commonJS({
1206
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/segments.js"(exports) {
1206
+ "../../node_modules/qrcode/lib/core/segments.js"(exports) {
1207
1207
  var Mode = require_mode(), NumericData = require_numeric_data(), AlphanumericData = require_alphanumeric_data(), ByteData = require_byte_data(), KanjiData = require_kanji_data(), Regex = require_regex(), Utils = require_utils(), dijkstra = require_dijkstra();
1208
1208
  function getStringByteLength(str) {
1209
1209
  return unescape(encodeURIComponent(str)).length;
@@ -1334,9 +1334,9 @@ Make sure your charset is UTF-8`
1334
1334
  }
1335
1335
  });
1336
1336
 
1337
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/qrcode.js
1337
+ // ../../node_modules/qrcode/lib/core/qrcode.js
1338
1338
  var require_qrcode = __commonJS({
1339
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/qrcode.js"(exports) {
1339
+ "../../node_modules/qrcode/lib/core/qrcode.js"(exports) {
1340
1340
  var Utils = require_utils(), ECLevel = require_error_correction_level(), BitBuffer = require_bit_buffer(), BitMatrix = require_bit_matrix(), AlignmentPattern = require_alignment_pattern(), FinderPattern = require_finder_pattern(), MaskPattern = require_mask_pattern(), ECCode = require_error_correction_code(), ReedSolomonEncoder = require_reed_solomon_encoder(), Version = require_version(), FormatInfo = require_format_info(), Mode = require_mode(), Segments = require_segments();
1341
1341
  function setupFinderPattern(matrix, version) {
1342
1342
  let size = matrix.size, pos = FinderPattern.getPositions(version);
@@ -1464,9 +1464,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
1464
1464
  }
1465
1465
  });
1466
1466
 
1467
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js
1467
+ // ../../node_modules/qrcode/lib/renderer/utils.js
1468
1468
  var require_utils2 = __commonJS({
1469
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js"(exports) {
1469
+ "../../node_modules/qrcode/lib/renderer/utils.js"(exports) {
1470
1470
  function hex2rgba(hex) {
1471
1471
  if (typeof hex == "number" && (hex = hex.toString()), typeof hex != "string")
1472
1472
  throw new Error("Color should be defined as hex string");
@@ -1522,9 +1522,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
1522
1522
  }
1523
1523
  });
1524
1524
 
1525
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/canvas.js
1525
+ // ../../node_modules/qrcode/lib/renderer/canvas.js
1526
1526
  var require_canvas = __commonJS({
1527
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/canvas.js"(exports) {
1527
+ "../../node_modules/qrcode/lib/renderer/canvas.js"(exports) {
1528
1528
  var Utils = require_utils2();
1529
1529
  function clearCanvas(ctx, canvas, size) {
1530
1530
  ctx.clearRect(0, 0, canvas.width, canvas.height), canvas.style || (canvas.style = {}), canvas.height = size, canvas.width = size, canvas.style.height = size + "px", canvas.style.width = size + "px";
@@ -1551,9 +1551,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
1551
1551
  }
1552
1552
  });
1553
1553
 
1554
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/svg-tag.js
1554
+ // ../../node_modules/qrcode/lib/renderer/svg-tag.js
1555
1555
  var require_svg_tag = __commonJS({
1556
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/svg-tag.js"(exports) {
1556
+ "../../node_modules/qrcode/lib/renderer/svg-tag.js"(exports) {
1557
1557
  var Utils = require_utils2();
1558
1558
  function getColorAttrib(color, attrib) {
1559
1559
  let alpha = color.a / 255, str = attrib + '="' + color.hex + '"';
@@ -1579,9 +1579,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
1579
1579
  }
1580
1580
  });
1581
1581
 
1582
- // ../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.js
1582
+ // ../../node_modules/qrcode/lib/browser.js
1583
1583
  var require_browser = __commonJS({
1584
- "../../node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/browser.js"(exports) {
1584
+ "../../node_modules/qrcode/lib/browser.js"(exports) {
1585
1585
  var canPromise = require_can_promise(), QRCode2 = require_qrcode(), CanvasRenderer = require_canvas(), SvgRenderer = require_svg_tag();
1586
1586
  function renderCanvas(renderFunc, canvas, text, opts, cb) {
1587
1587
  let args = [].slice.call(arguments, 1), argsNum = args.length, isLastArgCb = typeof args[argsNum - 1] == "function";
@@ -1771,8 +1771,8 @@ Minimum version required to store current data is: ` + bestVersion + `.
1771
1771
  }
1772
1772
  var localeNamespace = "ds-harness-remote", en = {
1773
1773
  terminalRemote: "Remote terminal",
1774
- terminalRemoteHint: "Allow trusted Remote devices to run an interactive shell as this Host user. Off by default; independent of Agent approvals. Toggling saves and applies immediately.",
1775
- terminalRemoteUnavailable: "Remote terminal is unavailable. Enable Remote terminal in the Host Remote settings, then restart the Host.",
1774
+ terminalRemoteHint: "Allow trusted Remote devices to run an interactive shell as this Host user. On by default; independent of Agent approvals. Toggling saves and applies immediately.",
1775
+ terminalRemoteUnavailable: "Remote terminal is unavailable. Enable Remote terminal in the Host Remote settings; the switch applies immediately.",
1776
1776
  previewPorts: "Remote preview ports",
1777
1777
  previewPortsHint: "Allow specific Host ports (1024\u201365535), separated by commas. Empty disables preview. HTTP, WebSocket and hot reload are supported.",
1778
1778
  developmentSave: "Save access settings",
@@ -1980,7 +1980,6 @@ Minimum version required to store current data is: ` + bestVersion + `.
1980
1980
  startSignIn: "Start sign-in",
1981
1981
  allowControlCurrentDevice: "Allow control of this device",
1982
1982
  allowControlDevice: "Allow control of device",
1983
- allowRemoteTerminal: "Allow remote terminal",
1984
1983
  connectedClientCount: "{count} connected",
1985
1984
  checkAcp: "Check ACP",
1986
1985
  checkingAcp: "Checking ACP\u2026",
@@ -2012,8 +2011,8 @@ Minimum version required to store current data is: ` + bestVersion + `.
2012
2011
  codexVirtualSessions: "Sessions"
2013
2012
  }, zh = {
2014
2013
  terminalRemote: "\u8FDC\u7A0B\u7EC8\u7AEF",
2015
- terminalRemoteHint: "\u5141\u8BB8\u53D7\u4FE1\u4EFB\u7684 Remote \u8BBE\u5907\u4EE5\u6B64 Host \u7528\u6237\u8EAB\u4EFD\u8FD0\u884C\u4EA4\u4E92\u5F0F Shell\u3002\u9ED8\u8BA4\u5173\u95ED\uFF0C\u72EC\u7ACB\u4E8E Agent \u5BA1\u6279\uFF1B\u5207\u6362\u540E\u7ACB\u5373\u4FDD\u5B58\u5E76\u751F\u6548\u3002",
2016
- terminalRemoteUnavailable: "\u8FDC\u7A0B\u7EC8\u7AEF\u4E0D\u53EF\u7528\u3002\u8BF7\u5728 Host \u7684 Remote \u8BBE\u7F6E\u4E2D\u5F00\u542F\u300C\u8FDC\u7A0B\u7EC8\u7AEF\u300D\uFF0C\u7136\u540E\u91CD\u542F Host\u3002",
2014
+ terminalRemoteHint: "\u5141\u8BB8\u53D7\u4FE1\u4EFB\u7684 Remote \u8BBE\u5907\u4EE5\u6B64 Host \u7528\u6237\u8EAB\u4EFD\u8FD0\u884C\u4EA4\u4E92\u5F0F Shell\u3002\u9ED8\u8BA4\u5F00\u542F\uFF0C\u72EC\u7ACB\u4E8E Agent \u5BA1\u6279\uFF1B\u5207\u6362\u540E\u7ACB\u5373\u4FDD\u5B58\u5E76\u751F\u6548\u3002",
2015
+ terminalRemoteUnavailable: "\u8FDC\u7A0B\u7EC8\u7AEF\u4E0D\u53EF\u7528\u3002\u8BF7\u5728 Host \u7684 Remote \u8BBE\u7F6E\u4E2D\u5F00\u542F\u300C\u8FDC\u7A0B\u7EC8\u7AEF\u300D\uFF0C\u5F00\u5173\u4F1A\u7ACB\u5373\u751F\u6548\u3002",
2017
2016
  previewPorts: "\u8FDC\u7A0B\u9884\u89C8\u7AEF\u53E3",
2018
2017
  previewPortsHint: "\u586B\u5199\u5141\u8BB8\u8BBF\u95EE\u7684 Host \u7AEF\u53E3\uFF081024\u201365535\uFF09\uFF0C\u4EE5\u9017\u53F7\u5206\u9694\u3002\u7559\u7A7A\u7981\u7528\u9884\u89C8\uFF1B\u652F\u6301 HTTP\u3001WebSocket \u548C\u70ED\u66F4\u65B0\u3002",
2019
2018
  developmentSave: "\u4FDD\u5B58\u8BBF\u95EE\u8BBE\u7F6E",
@@ -2221,7 +2220,6 @@ Minimum version required to store current data is: ` + bestVersion + `.
2221
2220
  startSignIn: "\u5F00\u59CB\u767B\u5F55",
2222
2221
  allowControlCurrentDevice: "\u5141\u8BB8\u63A7\u5236\u5F53\u524D\u8BBE\u5907",
2223
2222
  allowControlDevice: "\u5141\u8BB8\u63A7\u5236\u8BBE\u5907",
2224
- allowRemoteTerminal: "\u5141\u8BB8\u8FDC\u7A0B\u7EC8\u7AEF",
2225
2223
  connectedClientCount: "{count} \u53F0\u5DF2\u8FDE\u63A5",
2226
2224
  checkAcp: "\u68C0\u6D4B ACP",
2227
2225
  checkingAcp: "\u6B63\u5728\u68C0\u6D4B ACP\u2026",
@@ -2444,8 +2442,8 @@ Minimum version required to store current data is: ` + bestVersion + `.
2444
2442
  }
2445
2443
  }
2446
2444
  function RemotePluginOptions(props) {
2447
- let { t } = props, [open, setOpen] = React.useState(props.view === "page"), [serverUrl, setServerUrl] = React.useState(""), [codexEnabled, setCodexEnabled] = React.useState(!0), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [portsBusy, setPortsBusy] = React.useState(!1), [previewPorts, setPreviewPorts] = React.useState(""), role = "host", [registrationCode, setRegistrationCode] = React.useState(""), [associations, setAssociations] = React.useState({}), [loaded, setLoaded] = React.useState(!1), [writable, setWritable] = React.useState(!1), [busy, setBusy] = React.useState(!1), [codexBusy, setCodexBusy] = React.useState(!1), [acpBackends, setAcpBackends] = React.useState([]), [acpAvailability, setAcpAvailability] = React.useState({}), [acpChecking, setAcpChecking] = React.useState({}), [acpCheckResults, setAcpCheckResults] = React.useState({}), [addingAcp, setAddingAcp] = React.useState(!1), [acpName, setAcpName] = React.useState(""), [acpCommand, setAcpCommand] = React.useState(""), [acpArguments, setAcpArguments] = React.useState("acp"), [reconnectBusy, setReconnectBusy] = React.useState(!1), [hostStatus, setHostStatus] = React.useState(void 0), [hostName, setHostName] = React.useState(""), [hostDeviceId, setHostDeviceId] = React.useState(""), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0), [settingsView, setSettingsView] = React.useState(void 0), persistedServerUrl = settingsView?.config.serverUrl ?? "https://dsh.r2049.cn", association = associations.client ?? associations.host, serverDirty = settingsView !== void 0 && serverUrl !== persistedServerUrl, draftDirty = serverDirty, applyView = (view) => {
2448
- setSettingsView(view), setServerUrl(view.config.serverUrl ?? "https://dsh.r2049.cn"), setCodexEnabled(view.config.codex?.enabled ?? !0), setTerminalEnabled(view.config.terminal?.enabled ?? !1), setPreviewPorts((view.config.loopback?.ports ?? []).join(", ")), setAcpBackends((view.config.acp?.backends ?? []).map((item) => ({ id: item.id, enabled: item.enabled !== !1 }))), setAcpAvailability(view.acpAvailability ?? {}), setAssociations(view.associations ?? (view.association === void 0 ? {} : { host: view.association })), setWritable(view.writable), setLoaded(!0);
2445
+ let { t } = props, [open, setOpen] = React.useState(props.view === "page"), [serverUrl, setServerUrl] = React.useState(""), [codexEnabled, setCodexEnabled] = React.useState(!0), [portsBusy, setPortsBusy] = React.useState(!1), [previewPorts, setPreviewPorts] = React.useState(""), role = "host", [registrationCode, setRegistrationCode] = React.useState(""), [associations, setAssociations] = React.useState({}), [loaded, setLoaded] = React.useState(!1), [writable, setWritable] = React.useState(!1), [busy, setBusy] = React.useState(!1), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [codexBusy, setCodexBusy] = React.useState(!1), [acpBackends, setAcpBackends] = React.useState([]), [acpAvailability, setAcpAvailability] = React.useState({}), [acpChecking, setAcpChecking] = React.useState({}), [acpCheckResults, setAcpCheckResults] = React.useState({}), [addingAcp, setAddingAcp] = React.useState(!1), [acpName, setAcpName] = React.useState(""), [acpCommand, setAcpCommand] = React.useState(""), [acpArguments, setAcpArguments] = React.useState("acp"), [reconnectBusy, setReconnectBusy] = React.useState(!1), [hostStatus, setHostStatus] = React.useState(void 0), [hostName, setHostName] = React.useState(""), [hostDeviceId, setHostDeviceId] = React.useState(""), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0), [settingsView, setSettingsView] = React.useState(void 0), persistedServerUrl = settingsView?.config.serverUrl ?? "https://dsh.r2049.cn", association = associations.client ?? associations.host, serverDirty = settingsView !== void 0 && serverUrl !== persistedServerUrl, draftDirty = serverDirty, applyView = (view) => {
2446
+ setSettingsView(view), setServerUrl(view.config.serverUrl ?? "https://dsh.r2049.cn"), setCodexEnabled(view.config.codex?.enabled ?? !0), setTerminalEnabled(view.config.terminal?.enabled ?? !0), setPreviewPorts((view.config.loopback?.ports ?? []).join(", ")), setAcpBackends((view.config.acp?.backends ?? []).map((item) => ({ id: item.id, enabled: item.enabled !== !1 }))), setAcpAvailability(view.acpAvailability ?? {}), setAssociations(view.associations ?? (view.association === void 0 ? {} : { host: view.association })), setWritable(view.writable), setLoaded(!0);
2449
2447
  }, load = async () => {
2450
2448
  let [view, status] = await Promise.all([
2451
2449
  props.control("settings.get"),
@@ -2898,7 +2896,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
2898
2896
  );
2899
2897
  }
2900
2898
  function RemoteWorkspaceAction(props) {
2901
- let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [connectingHost, setConnectingHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", [busy, setBusy] = React.useState(!1), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [loginMethod, setLoginMethod] = React.useState(props.preferredQrProvider), [loginMethodManuallySelected, setLoginMethodManuallySelected] = React.useState(!1), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
2899
+ let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [connectingHost, setConnectingHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", [busy, setBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [loginMethod, setLoginMethod] = React.useState(props.preferredQrProvider), [loginMethodManuallySelected, setLoginMethodManuallySelected] = React.useState(!1), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
2902
2900
  React.useEffect(() => {
2903
2901
  open || setDevicesOpen(!1);
2904
2902
  }, [open]), React.useEffect(() => {
@@ -2926,9 +2924,6 @@ Minimum version required to store current data is: ` + bestVersion + `.
2926
2924
  props.control("status").then(setStatus).catch(() => {
2927
2925
  });
2928
2926
  }, []), React.useEffect(() => {
2929
- status?.hostAuthorizationAvailable === !0 && props.control("settings.get").then((view) => setTerminalEnabled(view.config.terminal?.enabled === !0)).catch(() => {
2930
- });
2931
- }, [status?.hostAuthorizationAvailable]), React.useEffect(() => {
2932
2927
  status?.serverUrl !== void 0 && loginServerUrl === "https://dsh.r2049.cn" && setLoginServerUrl(status.serverUrl);
2933
2928
  }, [status?.serverUrl]), React.useEffect(() => {
2934
2929
  let remoteActive = status?.mode === "remote";
@@ -3107,17 +3102,6 @@ Minimum version required to store current data is: ` + bestVersion + `.
3107
3102
  } finally {
3108
3103
  setBusy(!1);
3109
3104
  }
3110
- }, setRemoteTerminal = async (enabled) => {
3111
- let previous = terminalEnabled;
3112
- setTerminalEnabled(enabled), setTerminalBusy(!0), setError(void 0);
3113
- try {
3114
- let view = await props.control("settings.development.set", { terminalEnabled: enabled });
3115
- setTerminalEnabled(view.config.terminal?.enabled === !0);
3116
- } catch (reason) {
3117
- setTerminalEnabled(previous), setError(messageOf(reason));
3118
- } finally {
3119
- setTerminalBusy(!1);
3120
- }
3121
3105
  }, logoutRemote = async () => {
3122
3106
  setBusy(!0), setError(void 0);
3123
3107
  try {
@@ -3422,33 +3406,16 @@ Minimum version required to store current data is: ` + bestVersion + `.
3422
3406
  React.createElement("strong", null, t("chooseHost")),
3423
3407
  status?.hostAuthorizationAvailable ? React.createElement(
3424
3408
  "div",
3425
- { className: "dshRemoteHostControlToggles" },
3426
- React.createElement(
3427
- "label",
3428
- { className: "dshRemoteHostControlToggle" },
3429
- React.createElement("span", null, t("allowControlDevice")),
3430
- React.createElement("input", {
3431
- type: "checkbox",
3432
- role: "switch",
3433
- disabled: busy,
3434
- "aria-label": t("allowControlDevice"),
3435
- checked: status.host?.authorized === !0,
3436
- onChange: (event) => void setCurrentDeviceControl(event.target.checked)
3437
- })
3438
- ),
3439
- React.createElement(
3440
- "label",
3441
- { className: "dshRemoteHostControlToggle" },
3442
- React.createElement("span", null, t("allowRemoteTerminal")),
3443
- React.createElement("input", {
3444
- type: "checkbox",
3445
- role: "switch",
3446
- disabled: busy || terminalBusy,
3447
- "aria-label": t("allowRemoteTerminal"),
3448
- checked: terminalEnabled,
3449
- onChange: (event) => void setRemoteTerminal(event.target.checked)
3450
- })
3451
- )
3409
+ { className: "dshRemoteHostControlToggle" },
3410
+ React.createElement("span", null, t("allowControlDevice")),
3411
+ React.createElement("input", {
3412
+ type: "checkbox",
3413
+ role: "switch",
3414
+ disabled: busy,
3415
+ "aria-label": t("allowControlDevice"),
3416
+ checked: status.host?.authorized === !0,
3417
+ onChange: (event) => void setCurrentDeviceControl(event.target.checked)
3418
+ })
3452
3419
  ) : null,
3453
3420
  connectedMenu
3454
3421
  )
@@ -4032,7 +3999,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
4032
3999
  ".dshRemoteClientLogin{width:min(440px,100%);display:flex;flex-direction:column;gap:8px}.dshRemoteClientLogin input{min-height:40px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:inherit;padding:0 12px;font:inherit}.dshRemoteClientLogin button{align-self:flex-start;min-height:40px;border:0;border-radius:8px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1);padding:8px 16px;cursor:pointer}",
4033
4000
  ".dshRemoteQrLogin{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 2px;text-align:center}.dshRemoteQrLogin img,.dshRemoteQrPlaceholder{box-sizing:border-box;width:200px;height:200px;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:#fff;padding:8px}.dshRemoteQrOpen{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--dsw-alias-label-secondary);font-size:12px;text-decoration:none}.dshRemoteQrOpen:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrOpen:hover img{border-color:var(--dsw-alias-label-dimmed)}.dshRemoteQrOpen:focus-visible{border-radius:12px;outline:2px solid var(--dsw-alias-brand-primary);outline-offset:3px}.dshRemoteQrPlaceholder{display:flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-secondary)}.dshRemoteQrLogin>strong{font-size:14px}.dshRemoteQrLogin>p{max-width:48ch;margin:0;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:1.5}.dshRemoteQrLogin>.dshRemoteServiceAddress{margin-top:2px;color:var(--dsw-alias-label-tertiary)}.dshRemoteServiceAddress>a{color:var(--dsw-alias-label-secondary);text-decoration:none}.dshRemoteServiceAddress>a:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrLogin>button,.dshRemoteClientLogin>.dshRemoteLoginSwitch{min-height:32px;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:4px 8px;font:inherit;font-size:12px;cursor:pointer}.dshRemoteQrLogin>button:hover,.dshRemoteClientLogin>.dshRemoteLoginSwitch:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteClientLogin>.dshRemoteLoginSwitch{align-self:flex-start;background:transparent;color:var(--dsw-alias-label-secondary);padding-left:0}",
4034
4001
  ".dshRemoteLoginHeading{box-sizing:border-box;width:100%;display:flex;align-items:baseline;gap:10px;overflow:hidden;white-space:nowrap}.dshRemoteLoginTitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshRemoteLoginHeading>span{flex:0 0 auto;color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:400}.dshRemoteLoginTabs{box-sizing:border-box;width:100%}.dshRemoteLoginTabs>button{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.dshRemoteLoginTabs>button.isActive::after{right:0;left:0;border-radius:0}.dshRemoteClientLogin,.dshRemoteQrLogin{box-sizing:border-box;width:100%;height:300px;min-height:300px}.dshRemoteClientLogin{align-items:stretch;padding-top:16px}.dshRemoteClientLogin>button{align-self:stretch;width:100%}.dshRemoteQrLogin{padding-top:12px}",
4035
- '.dshRemoteHostControlToggles{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.dshRemoteHostControlToggle{display:flex;align-items:center;gap:7px;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;white-space:nowrap;cursor:default}.dshRemoteHostControlToggle>input{appearance:none;box-sizing:border-box;position:relative;width:32px;height:18px;flex:0 0 auto;margin:0;border:1px solid var(--dsw-alias-label-secondary);border-radius:999px;background:var(--dsw-alias-bg-layer-3);cursor:pointer;box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);transition:background .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.dshRemoteHostControlToggle>input::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--dsw-alias-label-secondary);transition:transform .16s ease-out,background .16s ease-out}.dshRemoteHostControlToggle>input:checked{border-color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-primary);box-shadow:none}.dshRemoteHostControlToggle>input:checked::after{transform:translateX(14px);background:var(--dsw-alias-bg-layer-1)}.dshRemoteHostControlToggle>input:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.dshRemoteHostControlToggle>input:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.dshRemoteHostControlToggle>input,.dshRemoteHostControlToggle>input::after{transition:none}}',
4002
+ '.dshRemoteHostControlToggle{display:flex;align-items:center;gap:7px;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:18px;white-space:nowrap;cursor:default}.dshRemoteHostControlToggle>input{appearance:none;box-sizing:border-box;position:relative;width:32px;height:18px;flex:0 0 auto;margin:0;border:1px solid var(--dsw-alias-label-secondary);border-radius:999px;background:var(--dsw-alias-bg-layer-3);cursor:pointer;box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);transition:background .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out}.dshRemoteHostControlToggle>input::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--dsw-alias-label-secondary);transition:transform .16s ease-out,background .16s ease-out}.dshRemoteHostControlToggle>input:checked{border-color:var(--dsw-alias-state-success-primary);background:var(--dsw-alias-state-success-primary);box-shadow:none}.dshRemoteHostControlToggle>input:checked::after{transform:translateX(14px);background:var(--dsw-alias-bg-layer-1)}.dshRemoteHostControlToggle>input:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:2px}.dshRemoteHostControlToggle>input:disabled{opacity:.5;cursor:default}@media(prefers-reduced-motion:reduce){.dshRemoteHostControlToggle>input,.dshRemoteHostControlToggle>input::after{transition:none}}',
4036
4003
  ".dshRemoteAccountFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--dsw-alias-border-l2);padding-top:14px;color:var(--dsw-alias-label-secondary);font-size:12px}.dshRemoteAccountExit{flex:0 0 auto;border:0;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer;padding:5px 0;font-size:12px;line-height:1.5;white-space:nowrap}.dshRemoteAccountExit:hover:not(:disabled){color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteAccountExit:disabled{opacity:.5;cursor:default;text-decoration:none}",
4037
4004
  ".dshRemoteLocalLink{align-self:flex-start;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:4px 0;cursor:pointer}.dshRemoteLocalLink:hover{color:var(--dsw-alias-label-primary)}",
4038
4005
  "@keyframes dshRemotePageIn{from{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dshRemotePage{animation:none}}@media(max-width:620px){.dshRemoteBackdrop{padding:12px}.dshRemotePage{max-height:calc(100vh - 24px)}.dshRemotePageHeader{gap:8px;padding:12px 16px}.dshRemotePage.hasSelectedHost .dshRemotePageBack{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshRemoteSectionHeading{align-items:flex-start;flex-direction:column;gap:8px}.dshRemoteWorkspaceHeading{align-items:center;flex-direction:row}.dshRemoteSectionActions{width:100%;justify-content:space-between}.dshRemotePageBody{padding:20px 16px}.dshRemoteOpenBar{align-items:flex-end}.dshRemoteOpenBar>button{min-height:48px}}",