peachsim 0.1.627 → 0.1.629

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 (94) hide show
  1. package/LICENSE +1 -1
  2. package/cli/bin.ts +6 -2
  3. package/cli/bridge-flow-runner.ts +79 -72
  4. package/cli/commands/cleanup.ts +6 -6
  5. package/cli/commands/control.ts +4 -5
  6. package/cli/commands/detox.ts +25 -11
  7. package/cli/commands/flow.ts +3 -2
  8. package/cli/commands/inspect/core.ts +5 -0
  9. package/cli/commands/inspect.ts +43 -49
  10. package/cli/commands/mode.ts +11 -7
  11. package/cli/commands/report-issue.ts +1 -1
  12. package/cli/commands/setup.ts +16 -11
  13. package/cli/commands/show-touches-mode.ts +33 -0
  14. package/cli/commands/skills.ts +16 -0
  15. package/cli/commands/test.ts +8 -1
  16. package/cli/commands/welcome.ts +3 -3
  17. package/cli/drivers/playwright-sim-host.ts +6 -5
  18. package/cli/help-core.ts +9 -4
  19. package/cli/internal-child.ts +14 -2
  20. package/cli/levenshtein.ts +27 -0
  21. package/cli/main.ts +28 -18
  22. package/cli/ws-bridge.ts +3 -2
  23. package/detox/index.ts +234 -7
  24. package/dist-lib/agent-daemon-client.cjs +1 -1
  25. package/dist-lib/agent-events.cjs +1 -1
  26. package/dist-lib/agent-identity.cjs +1 -1
  27. package/dist-lib/agent-sessions.cjs +1 -1
  28. package/dist-lib/attached-projects.cjs +1 -1
  29. package/dist-lib/auth/shared-session.cjs +1 -1
  30. package/dist-lib/backend-origin.cjs +1 -1
  31. package/dist-lib/beta.cjs +1 -1
  32. package/dist-lib/beta.mjs +1 -1
  33. package/dist-lib/bridge-constants.cjs +1 -1
  34. package/dist-lib/bridge-contract-input.cjs +1 -1
  35. package/dist-lib/bridge-contract-input.mjs +1 -1
  36. package/dist-lib/bridge-contract.cjs +1 -1
  37. package/dist-lib/bridge-contract.mjs +1 -1
  38. package/dist-lib/capture-contract.cjs +1 -1
  39. package/dist-lib/capture-contract.mjs +1 -1
  40. package/dist-lib/cli-constants.cjs +1 -1
  41. package/dist-lib/cloud-contract.cjs +1 -1
  42. package/dist-lib/cloud-contract.mjs +1 -1
  43. package/dist-lib/cloud-test-args.cjs +1 -1
  44. package/dist-lib/cloud-test-args.mjs +1 -1
  45. package/dist-lib/cloud.cjs +1 -1
  46. package/dist-lib/cloud.mjs +1 -1
  47. package/dist-lib/config.cjs +1 -1
  48. package/dist-lib/detox/index.cjs +170 -13
  49. package/dist-lib/dev-bundle-resolution.cjs +2 -2
  50. package/dist-lib/home-paths.cjs +1 -1
  51. package/dist-lib/host/bridge-host.cjs +57 -97
  52. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  53. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  54. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  55. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  56. package/dist-lib/host/websocket-proxy.cjs +1 -1
  57. package/dist-lib/index.cjs +44 -5
  58. package/dist-lib/jump-to-source-babel.cjs +1 -1
  59. package/dist-lib/jump-to-source-native.cjs +1 -1
  60. package/dist-lib/menu.cjs +7 -1
  61. package/dist-lib/menu.mjs +7 -1
  62. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  63. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  64. package/dist-lib/metro-production-bundle.cjs +1 -1
  65. package/dist-lib/metro-production-bundle.mjs +1 -1
  66. package/dist-lib/metro.cjs +43 -4
  67. package/dist-lib/profiles.cjs +1 -1
  68. package/dist-lib/public-brand.cjs +1 -1
  69. package/dist-lib/react-native-host-modules.cjs +1 -1
  70. package/dist-lib/react-native-host-modules.mjs +1 -1
  71. package/dist-lib/render-mode.cjs +1 -1
  72. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  73. package/dist-lib/sdk.cjs +1 -1
  74. package/dist-lib/sdk.mjs +1 -1
  75. package/dist-lib/skills.cjs +159 -210
  76. package/dist-lib/swift-compile.cjs +1 -1
  77. package/dist-lib/swift-compile.mjs +1 -1
  78. package/dist-lib/swift-package.cjs +1 -1
  79. package/dist-lib/swift-package.mjs +1 -1
  80. package/dist-lib/swift-submit.cjs +1 -1
  81. package/dist-lib/swift-submit.mjs +1 -1
  82. package/dist-lib/swift.cjs +7276 -7131
  83. package/dist-lib/vite-kotlin.cjs +1 -1
  84. package/dist-lib/vite-swift.cjs +1 -1
  85. package/dist-lib/vite.cjs +43 -4
  86. package/package.json +1 -1
  87. package/skills/contrast/SKILL.md +1 -1
  88. package/src/dev-bundle-resolution.ts +1 -1
  89. package/src/host/bridge-host.ts +2 -34
  90. package/src/menu.ts +7 -0
  91. package/src/native-seam-manifest.ts +4 -16
  92. package/src/runtime-assets.ts +59 -2
  93. package/src/screenshots/frame-compose.ts +4 -1
  94. package/src/vite-plugin.ts +723 -25
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/is-record.ts
4
4
  function isRecord(value) {
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/metro-production-bundle.ts
4
4
  var RNXSIM_METRO_MODULE_PATHS_PREFIX = "globalThis.__sootsimModulePaths=";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -612,7 +612,11 @@ var MIME_TYPES = {
612
612
  ".woff": "font/woff",
613
613
  ".woff2": "font/woff2",
614
614
  ".mp3": "audio/mpeg",
615
- ".wav": "audio/wav"
615
+ ".wav": "audio/wav",
616
+ ".mp4": "video/mp4",
617
+ ".m4v": "video/mp4",
618
+ ".mov": "video/quicktime",
619
+ ".webm": "video/webm"
616
620
  };
617
621
  var ROOT_RUNTIME_PATHS = [
618
622
  "/assets/",
@@ -626,7 +630,7 @@ var ROOT_RUNTIME_PATHS = [
626
630
  "/spike/",
627
631
  "/test-wallpaper.jpg",
628
632
  "/preview-sw.js",
629
- "/sootsim.svg",
633
+ "/peach.svg",
630
634
  "/bedrock-sqlite.wasm",
631
635
  "/bedrock-sqlite.js",
632
636
  "/sootsim/"
@@ -710,7 +714,42 @@ function serveRuntimeFile(req, res, fullPath) {
710
714
  res.end();
711
715
  return;
712
716
  }
713
- import_fs.default.createReadStream(fullPath).pipe(res);
717
+ sendFileWithRanges(req, res, fullPath, stat.size, {});
718
+ }
719
+ function sendFileWithRanges(req, res, filePath, total, headers) {
720
+ const head = (req?.method || "GET").toUpperCase() === "HEAD";
721
+ const range = /^bytes=(\d*)-(\d*)$/.exec(req?.headers?.range || "");
722
+ const invalid = range && range[1] && range[2] && Number(range[2]) < Number(range[1]);
723
+ if (range && (range[1] || range[2]) && !invalid) {
724
+ const [, startRaw, endRaw] = range;
725
+ const start = startRaw ? Number(startRaw) : Math.max(0, total - Number(endRaw));
726
+ const end = startRaw && endRaw ? Math.min(Number(endRaw), total - 1) : total - 1;
727
+ if (start > end || start >= total) {
728
+ res.writeHead(416, { ...headers, "Content-Range": `bytes */${total}` });
729
+ res.end();
730
+ return;
731
+ }
732
+ res.writeHead(206, {
733
+ ...headers,
734
+ "Content-Range": `bytes ${start}-${end}/${total}`,
735
+ "Accept-Ranges": "bytes",
736
+ "Content-Length": String(end - start + 1)
737
+ });
738
+ if (head) res.end();
739
+ else streamFile(res, import_fs.default.createReadStream(filePath, { start, end }));
740
+ return;
741
+ }
742
+ res.writeHead(200, {
743
+ ...headers,
744
+ "Accept-Ranges": "bytes",
745
+ "Content-Length": String(total)
746
+ });
747
+ if (head || total === 0) res.end();
748
+ else streamFile(res, import_fs.default.createReadStream(filePath, { start: 0, end: total - 1 }));
749
+ }
750
+ function streamFile(res, stream) {
751
+ stream.on("error", (error) => res.destroy(error));
752
+ stream.pipe(res);
714
753
  }
715
754
 
716
755
  // src/metro-plugin.ts
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/react-native-host-modules.ts
4
4
  var REACT_NATIVE_PASSTHROUGH_SPECIFIERS = [
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __create = Object.create;
package/dist-lib/sdk.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
3
3
  "use strict";
4
4
  var __defProp = Object.defineProperty;
package/dist-lib/sdk.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.627 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.629 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
  var __defProp = Object.defineProperty;
3
3
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);