sootsim 0.1.84 → 0.1.86

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 (153) hide show
  1. package/detox/element-types.ts +36 -0
  2. package/detox/expectations.ts +1 -1
  3. package/detox/index.ts +2 -35
  4. package/dist-cli/bin.js +3 -3
  5. package/dist-cli/chunks/{agent-2CWD6W6P.js → agent-S3WLX5Z4.js} +2 -2
  6. package/dist-cli/chunks/{agent-wrapper-5W3LOX6S.js → agent-wrapper-PFPEQTPG.js} +2 -2
  7. package/dist-cli/chunks/{assert-ZOMAMKRT.js → assert-RQD66YGE.js} +2 -2
  8. package/dist-cli/chunks/auto-bootstrap-PWF7OYCV.js +2 -0
  9. package/dist-cli/chunks/beta-2HH7F2DQ.js +2 -0
  10. package/dist-cli/chunks/{chunk-D4HUVLZR.js → chunk-2IYMBWHL.js} +1 -1
  11. package/dist-cli/chunks/{chunk-DUUSJDES.js → chunk-3GCSX5H5.js} +1 -1
  12. package/dist-cli/chunks/{chunk-EQCKGC4B.js → chunk-3TNIXR6J.js} +1 -1
  13. package/dist-cli/chunks/{chunk-4OWVPRZV.js → chunk-535UNERF.js} +2 -2
  14. package/dist-cli/chunks/{chunk-4K7BH2D4.js → chunk-5DFVKWYQ.js} +3 -3
  15. package/dist-cli/chunks/{chunk-AJVTY6KY.js → chunk-5NW6W7YF.js} +1 -1
  16. package/dist-cli/chunks/{chunk-XQ2OBHBE.js → chunk-5ZYANOOI.js} +2 -2
  17. package/dist-cli/chunks/{chunk-ELJLF4SG.js → chunk-6A7IWFXR.js} +63 -62
  18. package/dist-cli/chunks/{chunk-73UZXB4B.js → chunk-6LG7WJMD.js} +2 -2
  19. package/dist-cli/chunks/{chunk-OOOR7NT2.js → chunk-7YZHI7V6.js} +1 -1
  20. package/dist-cli/chunks/{chunk-TL7SIZ7S.js → chunk-CMAANHYQ.js} +1 -1
  21. package/dist-cli/chunks/{chunk-7NWNTUJF.js → chunk-CQAQTU5K.js} +1 -1
  22. package/dist-cli/chunks/{chunk-C3DPQZ4J.js → chunk-CSJS4MRN.js} +2 -2
  23. package/dist-cli/chunks/{chunk-QMSJR5R2.js → chunk-DKW7Q4F3.js} +2 -2
  24. package/dist-cli/chunks/{chunk-EQ7TFQ2F.js → chunk-EDWDFOPL.js} +1 -1
  25. package/dist-cli/chunks/{chunk-WNVNU2OW.js → chunk-FF5KD3BS.js} +2 -2
  26. package/dist-cli/chunks/{chunk-PPKKA5VW.js → chunk-FO52BFW4.js} +2 -2
  27. package/dist-cli/chunks/chunk-I3JMONYJ.js +2 -0
  28. package/dist-cli/chunks/{chunk-7YHDJLO2.js → chunk-JB467MUR.js} +45 -45
  29. package/dist-cli/chunks/{chunk-HYPJW65U.js → chunk-JBYW57OA.js} +2 -2
  30. package/dist-cli/chunks/{chunk-SQX5CAYG.js → chunk-JITAVV2G.js} +1 -1
  31. package/dist-cli/chunks/{chunk-V2GQ4WXJ.js → chunk-JMILXXI4.js} +2 -2
  32. package/dist-cli/chunks/chunk-KGYC4SZA.js +2 -0
  33. package/dist-cli/chunks/{chunk-BKBL6K2G.js → chunk-KQYOS5SM.js} +1 -1
  34. package/dist-cli/chunks/{chunk-VH7F45CN.js → chunk-M6GOCS27.js} +1 -1
  35. package/dist-cli/chunks/{chunk-3HXQ7MJK.js → chunk-NBBH2PVW.js} +2 -2
  36. package/dist-cli/chunks/chunk-NIRJVBXJ.js +1 -0
  37. package/dist-cli/chunks/{chunk-SQZAC7C4.js → chunk-NLH7FNSG.js} +1 -1
  38. package/dist-cli/chunks/{chunk-RIXUH3NK.js → chunk-OBHJKTWA.js} +2 -2
  39. package/dist-cli/chunks/{chunk-KU6MSPAH.js → chunk-OCTDP37S.js} +2 -2
  40. package/dist-cli/chunks/{chunk-SFGUPL2X.js → chunk-P7IKKZTG.js} +2 -2
  41. package/dist-cli/chunks/{chunk-5XCXOLG2.js → chunk-PVMX5UNR.js} +2 -2
  42. package/dist-cli/chunks/chunk-QUYC7CVV.js +1 -0
  43. package/dist-cli/chunks/{chunk-YCIA4BHJ.js → chunk-STHMWSVN.js} +2 -2
  44. package/dist-cli/chunks/{chunk-AWSQUOAS.js → chunk-TSNBQ4ZV.js} +10 -10
  45. package/dist-cli/chunks/{chunk-BCBNVJVG.js → chunk-UWSP2AT7.js} +1 -1
  46. package/dist-cli/chunks/{chunk-RF4R2U46.js → chunk-V7CFSKMC.js} +2 -2
  47. package/dist-cli/chunks/{chunk-TK3OJSEO.js → chunk-VFGAEMSI.js} +2 -2
  48. package/dist-cli/chunks/{chunk-4OPRODFA.js → chunk-VUYCS6QI.js} +2 -2
  49. package/dist-cli/chunks/chunk-XB4QIINM.js +24 -0
  50. package/dist-cli/chunks/{chunk-P7WDNKOS.js → chunk-XFJYEKYK.js} +3 -3
  51. package/dist-cli/chunks/{chunk-SV7FOGJ3.js → chunk-XZE53P4L.js} +2 -2
  52. package/dist-cli/chunks/chunk-Y7BXSTVX.js +1 -0
  53. package/dist-cli/chunks/cli-version-TGWWTYQX.js +2 -0
  54. package/dist-cli/chunks/{compat-FWSEEGEH.js → compat-I2U3P4KP.js} +3 -3
  55. package/dist-cli/chunks/{config-CYI2WAGP.js → config-S73CCGP5.js} +2 -2
  56. package/dist-cli/chunks/{control-UXY7YQVX.js → control-QR6MY7RA.js} +2 -2
  57. package/dist-cli/chunks/{cpu-profile-IKAE3KTY.js → cpu-profile-RFYCTVAF.js} +2 -2
  58. package/dist-cli/chunks/{daemon-ZUMF53YB.js → daemon-D5MV2B22.js} +2 -2
  59. package/dist-cli/chunks/{debug-P6KULKKS.js → debug-ZYEI75AG.js} +3 -3
  60. package/dist-cli/chunks/{detox-SPWAZCYG.js → detox-J5IH52RV.js} +2 -2
  61. package/dist-cli/chunks/{device-JWEPK6I2.js → device-NOBLSUOD.js} +2 -2
  62. package/dist-cli/chunks/{diagnose-IZODTXV2.js → diagnose-B6J5ZUHV.js} +2 -2
  63. package/dist-cli/chunks/drivers-RRHVOU6S.js +2 -0
  64. package/dist-cli/chunks/{electron-R5GP6RVB.js → electron-PSX4KDCC.js} +3 -3
  65. package/dist-cli/chunks/flow-FWNVFKMP.js +2 -0
  66. package/dist-cli/chunks/{hints-DYDNYX7N.js → hints-ZE4I3YO3.js} +2 -2
  67. package/dist-cli/chunks/{home-paths-GLMX5OKL.js → home-paths-N76MJE3D.js} +2 -2
  68. package/dist-cli/chunks/{inspect-FJOPCTY2.js → inspect-V2TXTDOG.js} +3 -3
  69. package/dist-cli/chunks/install-4PINRR2O.js +2 -0
  70. package/dist-cli/chunks/{install-desktop-YPJZMZM5.js → install-desktop-6ZRTRRCU.js} +3 -3
  71. package/dist-cli/chunks/{keys-GSYPHWNY.js → keys-L2RN4URM.js} +2 -2
  72. package/dist-cli/chunks/{launch-4G2PKW5X.js → launch-BJGXPNZR.js} +3 -3
  73. package/dist-cli/chunks/{login-KJQGHA64.js → login-HYNEMAYR.js} +4 -4
  74. package/dist-cli/chunks/{logout-XM2SYH5C.js → logout-AO4YS27T.js} +2 -2
  75. package/dist-cli/chunks/{maestro-EOWGI7DG.js → maestro-PRACYFKV.js} +2 -2
  76. package/dist-cli/chunks/{preview-F73TKK37.js → preview-ZTANXVEK.js} +2 -2
  77. package/dist-cli/chunks/{profile-22FDKBUO.js → profile-FNMAGUDB.js} +2 -2
  78. package/dist-cli/chunks/{react-5L6VPFUP.js → react-6ZV2FQIM.js} +2 -2
  79. package/dist-cli/chunks/{record-JZXCQ4IN.js → record-MLFVJZ6Y.js} +2 -2
  80. package/dist-cli/chunks/runtime-5762IE56.js +2 -0
  81. package/dist-cli/chunks/{runtime-delivery-LXUM3R4A.js → runtime-delivery-ATYW2SQR.js} +2 -2
  82. package/dist-cli/chunks/{screenshot-HDRRG33Q.js → screenshot-UOMYMFZ4.js} +2 -2
  83. package/dist-cli/chunks/{screenshot-mode-WY63LZIX.js → screenshot-mode-MWSVD4YG.js} +2 -2
  84. package/dist-cli/chunks/{screenshots-MPV2ENL5.js → screenshots-GSA3VCWB.js} +2 -2
  85. package/dist-cli/chunks/server-YPFC6POG.js +40 -0
  86. package/dist-cli/chunks/setup-repo-QBQ4VWFO.js +2 -0
  87. package/dist-cli/chunks/{skills-BQ73YOBF.js → skills-YE5OPWMQ.js} +2 -2
  88. package/dist-cli/chunks/{start-2WU4W6ZU.js → start-BSSQ5U2V.js} +4 -4
  89. package/dist-cli/chunks/store-EG4SONAH.js +2 -0
  90. package/dist-cli/chunks/telemetry-XXN4LRDS.js +2 -0
  91. package/dist-cli/chunks/{test-OVO4CQTG.js → test-5JMLBH2O.js} +3 -3
  92. package/dist-cli/chunks/{three-mode-BKM3KFM7.js → three-mode-TRBWZJQY.js} +2 -2
  93. package/dist-cli/chunks/{timeline-MDXGEDQL.js → timeline-YMZPIEB4.js} +2 -2
  94. package/dist-cli/chunks/{upgrade-JGQABWVF.js → upgrade-JLAS7FIF.js} +2 -2
  95. package/dist-cli/chunks/upload-K6UNCFQH.js +2 -0
  96. package/dist-cli/chunks/{web-WYFAYQ72.js → web-D6S5UXOO.js} +2 -2
  97. package/dist-cli/chunks/{what-happened-PZW2KW6A.js → what-happened-65NXWU2S.js} +2 -2
  98. package/dist-cli/chunks/{whoami-7ATWJQS6.js → whoami-6BSB6FQC.js} +2 -2
  99. package/dist-lib/agent-daemon-client.cjs +1 -1
  100. package/dist-lib/agent-events.cjs +1 -1
  101. package/dist-lib/agent-sessions.cjs +1 -1
  102. package/dist-lib/attached-projects.cjs +1 -1
  103. package/dist-lib/auth/shared-session.cjs +1 -1
  104. package/dist-lib/backend-origin.cjs +1 -1
  105. package/dist-lib/beta.cjs +1 -1
  106. package/dist-lib/beta.mjs +15 -0
  107. package/dist-lib/bridge-constants.cjs +1 -1
  108. package/dist-lib/cli-constants.cjs +1 -1
  109. package/dist-lib/config.cjs +1 -1
  110. package/dist-lib/detox/index.cjs +1 -1
  111. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  112. package/dist-lib/home-paths.cjs +1 -1
  113. package/dist-lib/host/bridge-host.cjs +244 -35
  114. package/dist-lib/host/fetch-proxy-handler.cjs +24 -4
  115. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  116. package/dist-lib/host/fetch-proxy-overrides.mjs +33 -0
  117. package/dist-lib/host/websocket-proxy.cjs +207 -0
  118. package/dist-lib/index.cjs +136 -138
  119. package/dist-lib/metro.cjs +31 -26
  120. package/dist-lib/profiles.cjs +1 -1
  121. package/dist-lib/render-mode.cjs +1 -1
  122. package/dist-lib/scripts/demo-app-registry.cjs +14 -3
  123. package/dist-lib/scripts/dev-server-scanner.cjs +14 -3
  124. package/dist-lib/skills.cjs +9737 -76
  125. package/dist-lib/vite.cjs +129 -39
  126. package/package.json +8 -6
  127. package/scripts/demo-app-registry.ts +17 -1
  128. package/src/host/bridge-host.ts +8 -1
  129. package/src/host/fetch-proxy-handler.ts +26 -3
  130. package/src/host/websocket-proxy.ts +201 -0
  131. package/src/metro-plugin.ts +9 -77
  132. package/src/runtime-assets.ts +84 -0
  133. package/src/skills/builtin/compat-check.ts +1 -1
  134. package/src/vite-plugin-one.ts +60 -58
  135. package/dist-cli/chunks/auto-bootstrap-NYYSMTIM.js +0 -2
  136. package/dist-cli/chunks/beta-4K2SQACK.js +0 -2
  137. package/dist-cli/chunks/chunk-67ZZ2CM5.js +0 -1
  138. package/dist-cli/chunks/chunk-D3ZSBIIY.js +0 -2
  139. package/dist-cli/chunks/chunk-FUCGLWNN.js +0 -1
  140. package/dist-cli/chunks/chunk-IILJQCZA.js +0 -2
  141. package/dist-cli/chunks/chunk-PS2G44GT.js +0 -24
  142. package/dist-cli/chunks/chunk-ZSMMJMPA.js +0 -1
  143. package/dist-cli/chunks/cli-version-QB4VH24H.js +0 -2
  144. package/dist-cli/chunks/drivers-MK6WJKBC.js +0 -2
  145. package/dist-cli/chunks/flow-6O4GEOPJ.js +0 -2
  146. package/dist-cli/chunks/install-A3TUGGHN.js +0 -2
  147. package/dist-cli/chunks/runtime-EEBX7CFV.js +0 -2
  148. package/dist-cli/chunks/server-5LBMCJ3G.js +0 -35
  149. package/dist-cli/chunks/setup-repo-SZSYNKNI.js +0 -2
  150. package/dist-cli/chunks/store-RE45SUBF.js +0 -2
  151. package/dist-cli/chunks/telemetry-DG6GJLCP.js +0 -2
  152. package/dist-cli/chunks/upload-UJNUA4ZV.js +0 -2
  153. package/dist-lib/vite-base.cjs +0 -6937
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.84 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.86 | (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;
@@ -33,11 +33,13 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
33
33
  var metro_plugin_exports = {};
34
34
  __export(metro_plugin_exports, {
35
35
  default: () => metro_plugin_default,
36
- isRootRuntimeAssetPath: () => isRootRuntimeAssetPath,
37
- resolveRuntimeFilePath: () => resolveRuntimeFilePath,
38
36
  withSootsim: () => withSootsim
39
37
  });
40
38
  module.exports = __toCommonJS(metro_plugin_exports);
39
+ var import_fs2 = __toESM(require("fs"), 1);
40
+ var import_path2 = __toESM(require("path"), 1);
41
+
42
+ // src/runtime-assets.ts
41
43
  var import_fs = __toESM(require("fs"), 1);
42
44
  var import_path = __toESM(require("path"), 1);
43
45
 
@@ -71,18 +73,11 @@ function readActiveRuntime() {
71
73
  }
72
74
  var DAEMON_LOCKFILE_MAX_BYTES = 16 * 1024;
73
75
 
74
- // src/metro-plugin.ts
75
- var prefix = "/__soot";
76
- function resolveRuntimeRoot() {
77
- const active = readActiveRuntime();
78
- if (!active) return null;
79
- const dir = runtimeDir(active);
80
- if (!import_fs.default.existsSync(import_path.default.join(dir, "index.html"))) return null;
81
- return dir;
82
- }
83
- var RUNTIME_MISSING_MESSAGE = "[sootsim] no engine runtime installed \u2014 run `sootsim setup-repo` in your project, or `sootsim runtime install`";
76
+ // src/runtime-assets.ts
77
+ var SOOTSIM_RUNTIME_MISSING_MESSAGE = "[sootsim] no engine runtime installed \u2014 run `sootsim setup-repo` in your project, or `sootsim runtime install`";
84
78
  var MIME_TYPES = {
85
79
  ".js": "application/javascript",
80
+ ".mjs": "application/javascript",
86
81
  ".css": "text/css",
87
82
  ".html": "text/html",
88
83
  ".wasm": "application/wasm",
@@ -95,6 +90,8 @@ var MIME_TYPES = {
95
90
  ".glb": "model/gltf-binary",
96
91
  ".ttf": "font/ttf",
97
92
  ".otf": "font/otf",
93
+ ".woff": "font/woff",
94
+ ".woff2": "font/woff2",
98
95
  ".mp3": "audio/mpeg",
99
96
  ".wav": "audio/wav"
100
97
  };
@@ -112,6 +109,13 @@ var ROOT_RUNTIME_PATHS = [
112
109
  "/test-wallpaper.jpg",
113
110
  "/preview-sw.js"
114
111
  ];
112
+ function resolveActiveRuntimeRoot() {
113
+ const active = readActiveRuntime();
114
+ if (!active) return null;
115
+ const dir = runtimeDir(active);
116
+ if (!import_fs.default.existsSync(import_path.default.join(dir, "index.html"))) return null;
117
+ return dir;
118
+ }
115
119
  function isRootRuntimeAssetPath(pathname) {
116
120
  return ROOT_RUNTIME_PATHS.some((p) => pathname === p || pathname.startsWith(p));
117
121
  }
@@ -127,6 +131,15 @@ function resolveRuntimeFilePath(runtimeRoot, pathname) {
127
131
  if (!import_fs.default.existsSync(fullPath) || !import_fs.default.statSync(fullPath).isFile()) return null;
128
132
  return fullPath;
129
133
  }
134
+ function serveRuntimeFile(res, fullPath) {
135
+ const ext = import_path.default.extname(fullPath);
136
+ res.setHeader("content-type", MIME_TYPES[ext] || "application/octet-stream");
137
+ res.setHeader("cache-control", "max-age=31536000,immutable");
138
+ import_fs.default.createReadStream(fullPath).pipe(res);
139
+ }
140
+
141
+ // src/metro-plugin.ts
142
+ var prefix = "/__soot";
130
143
  function withSootsim(config, options = {}) {
131
144
  if (options.enabled === false) return config;
132
145
  const bundleUrl = options.bundleUrl || "/index.bundle?platform=ios&dev=true&hot=true&minify=false";
@@ -150,11 +163,11 @@ function withSootsim(config, options = {}) {
150
163
  server.use((req, res, next) => {
151
164
  const url = req.url || "";
152
165
  const pathname = url.split("?")[0];
153
- const runtimeRoot = resolveRuntimeRoot();
166
+ const runtimeRoot = resolveActiveRuntimeRoot();
154
167
  if (!runtimeRoot) {
155
168
  if (pathname === prefix || pathname === prefix + "/") {
156
169
  res.statusCode = 500;
157
- res.end(RUNTIME_MISSING_MESSAGE);
170
+ res.end(SOOTSIM_RUNTIME_MISSING_MESSAGE);
158
171
  return;
159
172
  }
160
173
  next();
@@ -178,10 +191,10 @@ function withSootsim(config, options = {}) {
178
191
  }
179
192
  }
180
193
  if (pathname === prefix || pathname === prefix + "/" || pathname.startsWith(prefix + "/")) {
181
- const ext = import_path.default.extname(pathname);
194
+ const ext = import_path2.default.extname(pathname);
182
195
  if (!ext) {
183
- const htmlPath = import_path.default.join(runtimeRoot, "index.html");
184
- let html = import_fs.default.readFileSync(htmlPath, "utf8");
196
+ const htmlPath = import_path2.default.join(runtimeRoot, "index.html");
197
+ let html = import_fs2.default.readFileSync(htmlPath, "utf8");
185
198
  html = html.replace(
186
199
  "</head>",
187
200
  `<script>history.replaceState(null,'','${prefix}/?bundle=${encodeURIComponent(bundleUrl)}')</script></head>`
@@ -201,15 +214,7 @@ function withSootsim(config, options = {}) {
201
214
  return { ...config, server: serverConfig };
202
215
  }
203
216
  var metro_plugin_default = withSootsim;
204
- function serveRuntimeFile(res, fullPath) {
205
- const ext = import_path.default.extname(fullPath);
206
- res.setHeader("content-type", MIME_TYPES[ext] || "application/octet-stream");
207
- res.setHeader("cache-control", "max-age=31536000,immutable");
208
- import_fs.default.createReadStream(fullPath).pipe(res);
209
- }
210
217
  // Annotate the CommonJS export names for ESM import in node:
211
218
  0 && (module.exports = {
212
- isRootRuntimeAssetPath,
213
- resolveRuntimeFilePath,
214
219
  withSootsim
215
220
  });
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.84 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.86 | (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
- /*! sootsim v0.1.84 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.86 | (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
- /*! sootsim v0.1.84 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.86 | (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;
@@ -593,11 +593,22 @@ var APPS = [
593
593
  // be holding pglite locks on ~/takeout/.orez (soot can attach takeout as
594
594
  // a project and spin up its own orez against the same data dir).
595
595
  readyTimeoutMs: 24e4,
596
+ managedPorts: (p) => {
597
+ const offset = p - 8081;
598
+ return [5433 + offset, 4848 + offset, 9200 + offset];
599
+ },
596
600
  command: (p) => ({
597
- cmd: "bun lite",
601
+ cmd: "bun lite:demo",
598
602
  env: {
603
+ TAKEOUT_ENV_MODE: "development",
599
604
  PORT_OFFSET: String(p - 8081),
600
- OREZ_DATA_DIR: `${HOME}/.cache/sootsim-demo/takeout-orez`
605
+ OREZ_DATA_DIR: `${HOME}/.cache/sootsim-demo/takeout-orez`,
606
+ VITE_DEMO_MODE: "1",
607
+ ZERO_APP_ID: "takeout",
608
+ ZERO_APP_PUBLICATIONS: "zero_takeout",
609
+ ZERO_CVR_MAX_CONNS: "4",
610
+ ZERO_NUM_SYNC_WORKERS: "2",
611
+ ZERO_UPSTREAM_MAX_CONNS: "8"
601
612
  }
602
613
  })
603
614
  },
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.84 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.86 | (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;
@@ -663,11 +663,22 @@ var APPS = [
663
663
  // be holding pglite locks on ~/takeout/.orez (soot can attach takeout as
664
664
  // a project and spin up its own orez against the same data dir).
665
665
  readyTimeoutMs: 24e4,
666
+ managedPorts: (p) => {
667
+ const offset = p - 8081;
668
+ return [5433 + offset, 4848 + offset, 9200 + offset];
669
+ },
666
670
  command: (p) => ({
667
- cmd: "bun lite",
671
+ cmd: "bun lite:demo",
668
672
  env: {
673
+ TAKEOUT_ENV_MODE: "development",
669
674
  PORT_OFFSET: String(p - 8081),
670
- OREZ_DATA_DIR: `${HOME}/.cache/sootsim-demo/takeout-orez`
675
+ OREZ_DATA_DIR: `${HOME}/.cache/sootsim-demo/takeout-orez`,
676
+ VITE_DEMO_MODE: "1",
677
+ ZERO_APP_ID: "takeout",
678
+ ZERO_APP_PUBLICATIONS: "zero_takeout",
679
+ ZERO_CVR_MAX_CONNS: "4",
680
+ ZERO_NUM_SYNC_WORKERS: "2",
681
+ ZERO_UPSTREAM_MAX_CONNS: "8"
671
682
  }
672
683
  })
673
684
  },