sootsim 0.1.128 → 0.1.129

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 (149) hide show
  1. package/dist-cli/bin.js +3 -3
  2. package/dist-cli/chunks/{agent-KVBASG57.js → agent-2CLXZJCE.js} +2 -2
  3. package/dist-cli/chunks/{agent-wrapper-CSUCCH35.js → agent-wrapper-DMTETGFP.js} +2 -2
  4. package/dist-cli/chunks/{app-fonts-LK57Q63V.js → app-fonts-25BQNOJE.js} +2 -2
  5. package/dist-cli/chunks/{assert-LMMXHK7P.js → assert-EYRTQ6ER.js} +2 -2
  6. package/dist-cli/chunks/auto-bootstrap-NB4SLPAE.js +2 -0
  7. package/dist-cli/chunks/beta-2LKOVRW5.js +2 -0
  8. package/dist-cli/chunks/{chunk-H7O2EPCU.js → chunk-3QJLWCBD.js} +2 -2
  9. package/dist-cli/chunks/{chunk-WCJMLITZ.js → chunk-4DT5LVP3.js} +1 -1
  10. package/dist-cli/chunks/{chunk-DTHD7QGU.js → chunk-4PN5EVFA.js} +2 -2
  11. package/dist-cli/chunks/{chunk-MQFUXG7V.js → chunk-56IYXKG5.js} +1 -1
  12. package/dist-cli/chunks/{chunk-CYKPWI35.js → chunk-5AR7JQNL.js} +1 -1
  13. package/dist-cli/chunks/{chunk-TGMTCNZ2.js → chunk-5ITNDSDP.js} +2 -2
  14. package/dist-cli/chunks/{chunk-SKW6NBUP.js → chunk-5T5OIH3R.js} +2 -2
  15. package/dist-cli/chunks/{chunk-AJ34QMR4.js → chunk-5Y4V7DHL.js} +2 -2
  16. package/dist-cli/chunks/{chunk-HDW4B3FW.js → chunk-7FDXV4PE.js} +2 -2
  17. package/dist-cli/chunks/{chunk-PINZJVS6.js → chunk-7HRQGZ7J.js} +1 -1
  18. package/dist-cli/chunks/{chunk-P4W42H4A.js → chunk-AQSGGVCD.js} +3 -3
  19. package/dist-cli/chunks/{chunk-J7TYQVOU.js → chunk-CHCJWMYW.js} +1 -1
  20. package/dist-cli/chunks/chunk-DLMQVCTV.js +1 -0
  21. package/dist-cli/chunks/{chunk-HTFFTIEU.js → chunk-EMTFJESP.js} +1 -1
  22. package/dist-cli/chunks/{chunk-KABJPUT4.js → chunk-EP3L4A52.js} +1 -1
  23. package/dist-cli/chunks/{chunk-ZTHTQNVD.js → chunk-EP3YPVJY.js} +2 -2
  24. package/dist-cli/chunks/{chunk-7SSQQWXI.js → chunk-FSYDDBEL.js} +2 -2
  25. package/dist-cli/chunks/{chunk-3AAJ272V.js → chunk-GPUIF547.js} +1 -1
  26. package/dist-cli/chunks/{chunk-ZB2LBNNH.js → chunk-HHI7444G.js} +54 -14
  27. package/dist-cli/chunks/{chunk-XF5W3CGA.js → chunk-IAG3ZUAE.js} +2 -2
  28. package/dist-cli/chunks/{chunk-JBVHVSVC.js → chunk-IFHNUWKU.js} +2 -2
  29. package/dist-cli/chunks/{chunk-KBW2VI34.js → chunk-J4RRVZLG.js} +1 -1
  30. package/dist-cli/chunks/{chunk-KG3XVCAL.js → chunk-KG247GVZ.js} +2 -2
  31. package/dist-cli/chunks/{chunk-TT5RWL45.js → chunk-LNU7WB6Z.js} +2 -2
  32. package/dist-cli/chunks/{chunk-HNRZM6GI.js → chunk-MMR2PBWA.js} +3 -3
  33. package/dist-cli/chunks/{chunk-SQRVXVCM.js → chunk-NHK744OV.js} +1 -1
  34. package/dist-cli/chunks/{chunk-ASKSZHOR.js → chunk-NW72VNGA.js} +3 -3
  35. package/dist-cli/chunks/chunk-PAZWCF3C.js +1 -0
  36. package/dist-cli/chunks/{chunk-OULIZJPC.js → chunk-PEQUGH7X.js} +2 -2
  37. package/dist-cli/chunks/{chunk-QNKKUBAX.js → chunk-PSMCJQXE.js} +2 -2
  38. package/dist-cli/chunks/{chunk-OLXRO2UE.js → chunk-QF6IUOSK.js} +1 -1
  39. package/dist-cli/chunks/{chunk-PSL42AVT.js → chunk-QJCDLCY7.js} +2 -2
  40. package/dist-cli/chunks/chunk-QMDFOSCP.js +1 -0
  41. package/dist-cli/chunks/{chunk-WEGRCMET.js → chunk-RJ6BJSSK.js} +2 -2
  42. package/dist-cli/chunks/{chunk-HMBYOS66.js → chunk-SY4CNQ7Q.js} +2 -2
  43. package/dist-cli/chunks/{chunk-YKUW3QNP.js → chunk-T73PO7QP.js} +2 -2
  44. package/dist-cli/chunks/{chunk-WBVNZ7R3.js → chunk-VXLPV53O.js} +2 -2
  45. package/dist-cli/chunks/{chunk-DKK3CC3D.js → chunk-WA4F3S3O.js} +2 -2
  46. package/dist-cli/chunks/{chunk-X33P2PIG.js → chunk-WAK4QVNM.js} +1 -1
  47. package/dist-cli/chunks/{chunk-374XJJVQ.js → chunk-WB3P3VGN.js} +1 -1
  48. package/dist-cli/chunks/{chunk-B3HLOZ3N.js → chunk-X6UBD524.js} +2 -2
  49. package/dist-cli/chunks/chunk-XLUUJCSP.js +2 -0
  50. package/dist-cli/chunks/{chunk-OAZYZXMH.js → chunk-Y3YURX2A.js} +1 -1
  51. package/dist-cli/chunks/{chunk-E3NRRI4M.js → chunk-YKXKGZSJ.js} +1 -1
  52. package/dist-cli/chunks/cli-version-I3UMBT5O.js +2 -0
  53. package/dist-cli/chunks/{compat-WT4WILUH.js → compat-EIQNZ4JY.js} +3 -3
  54. package/dist-cli/chunks/{config-GKCHSOOI.js → config-WBBB4KAF.js} +2 -2
  55. package/dist-cli/chunks/control-EX3VXQ7V.js +2 -0
  56. package/dist-cli/chunks/{cpu-profile-HAHWXEDN.js → cpu-profile-334GREGX.js} +2 -2
  57. package/dist-cli/chunks/{daemon-Z2O7JY3O.js → daemon-J65WSF5U.js} +2 -2
  58. package/dist-cli/chunks/{debug-C7NG2DAG.js → debug-DB737GNO.js} +3 -3
  59. package/dist-cli/chunks/{detox-Q45XNNH3.js → detox-GYZJZZB6.js} +2 -2
  60. package/dist-cli/chunks/{device-55XBOVDK.js → device-CNPPTXFU.js} +2 -2
  61. package/dist-cli/chunks/{diagnose-I44BNF4T.js → diagnose-ERZANOHM.js} +2 -2
  62. package/dist-cli/chunks/drivers-7YH3VVVZ.js +2 -0
  63. package/dist-cli/chunks/{electron-XR7UGDZD.js → electron-4BT5EQHI.js} +3 -3
  64. package/dist-cli/chunks/flow-OFD6LF6V.js +2 -0
  65. package/dist-cli/chunks/help-FRUNM3LL.js +2 -0
  66. package/dist-cli/chunks/{hints-GTUK7PES.js → hints-VUH6VBJ7.js} +2 -2
  67. package/dist-cli/chunks/{home-paths-N6TCKIQQ.js → home-paths-ECU3BYCS.js} +2 -2
  68. package/dist-cli/chunks/{inspect-7WV43JZ3.js → inspect-KKQJ5KQV.js} +4 -4
  69. package/dist-cli/chunks/install-LZLX3YZP.js +2 -0
  70. package/dist-cli/chunks/{install-desktop-GFQYXJVD.js → install-desktop-Q6QSPYQS.js} +3 -3
  71. package/dist-cli/chunks/{keys-KHRGMVKB.js → keys-XMG7L2AL.js} +2 -2
  72. package/dist-cli/chunks/{launch-EXL7RKQ7.js → launch-WH323264.js} +3 -3
  73. package/dist-cli/chunks/{login-VCD33FX6.js → login-3YYWFKB3.js} +4 -4
  74. package/dist-cli/chunks/{logout-E2T66AOL.js → logout-U77GYAWT.js} +2 -2
  75. package/dist-cli/chunks/{maestro-ZANP2BL4.js → maestro-NQEF23G7.js} +2 -2
  76. package/dist-cli/chunks/{preview-UBXWRORY.js → preview-AOTCHNWB.js} +2 -2
  77. package/dist-cli/chunks/{profile-XMGEEZ5K.js → profile-57CSZI4O.js} +2 -2
  78. package/dist-cli/chunks/{react-D6L6HQOQ.js → react-5JGWHJCG.js} +2 -2
  79. package/dist-cli/chunks/{record-JOHCXOWR.js → record-JQW5AQDG.js} +2 -2
  80. package/dist-cli/chunks/runtime-3PEHSFYI.js +2 -0
  81. package/dist-cli/chunks/{runtime-delivery-HERSJG4G.js → runtime-delivery-2SY6VTTC.js} +2 -2
  82. package/dist-cli/chunks/{screenshot-B7OWAB6E.js → screenshot-LNYP7U72.js} +2 -2
  83. package/dist-cli/chunks/{screenshot-mode-Z5BJFBTW.js → screenshot-mode-LMUUUFJY.js} +2 -2
  84. package/dist-cli/chunks/{screenshots-XV6WVUPL.js → screenshots-R7T7DOBG.js} +2 -2
  85. package/dist-cli/chunks/{server-GKB36CKN.js → server-7H67CYP4.js} +12 -12
  86. package/dist-cli/chunks/setup-repo-QJEHYA7R.js +2 -0
  87. package/dist-cli/chunks/{skills-KZMAEPI7.js → skills-SDSSTD44.js} +2 -2
  88. package/dist-cli/chunks/{start-U476YCIN.js → start-MQAJ7GA6.js} +4 -4
  89. package/dist-cli/chunks/store-ZYMG4VDY.js +2 -0
  90. package/dist-cli/chunks/telemetry-AXLZH6Y2.js +2 -0
  91. package/dist-cli/chunks/{test-KZKN34BL.js → test-3IWJYEBS.js} +3 -3
  92. package/dist-cli/chunks/{three-mode-HCUMT2OW.js → three-mode-4F5PHPL2.js} +2 -2
  93. package/dist-cli/chunks/{timeline-EVARJJIQ.js → timeline-XDSEYH2S.js} +2 -2
  94. package/dist-cli/chunks/{upgrade-NJMIIBUR.js → upgrade-DH362WFZ.js} +2 -2
  95. package/dist-cli/chunks/upload-TJUKEH3W.js +2 -0
  96. package/dist-cli/chunks/{version-VENV6XNR.js → version-FRIIGCBS.js} +2 -2
  97. package/dist-cli/chunks/web-D3OXRMIU.js +2 -0
  98. package/dist-cli/chunks/{what-happened-P6T4UG2I.js → what-happened-QWW5OLBU.js} +2 -2
  99. package/dist-cli/chunks/{whoami-MVMHRDM6.js → whoami-HU3F2UE5.js} +2 -2
  100. package/dist-lib/agent-daemon-client.cjs +1 -1
  101. package/dist-lib/agent-events.cjs +1 -1
  102. package/dist-lib/agent-sessions.cjs +1 -1
  103. package/dist-lib/attached-projects.cjs +1 -1
  104. package/dist-lib/auth/shared-session.cjs +1 -1
  105. package/dist-lib/backend-origin.cjs +1 -1
  106. package/dist-lib/beta.cjs +1 -1
  107. package/dist-lib/beta.mjs +1 -1
  108. package/dist-lib/bridge-constants.cjs +1 -1
  109. package/dist-lib/cli-constants.cjs +1 -1
  110. package/dist-lib/config.cjs +1 -1
  111. package/dist-lib/detox/index.cjs +1 -1
  112. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  113. package/dist-lib/home-paths.cjs +1 -1
  114. package/dist-lib/host/bridge-host.cjs +20 -7
  115. package/dist-lib/host/fetch-proxy-handler.cjs +20 -7
  116. package/dist-lib/host/fetch-proxy-overrides.cjs +10 -6
  117. package/dist-lib/host/fetch-proxy-overrides.mjs +10 -6
  118. package/dist-lib/host/websocket-proxy.cjs +1 -1
  119. package/dist-lib/index.cjs +1 -1
  120. package/dist-lib/metro.cjs +1 -1
  121. package/dist-lib/profiles.cjs +1 -1
  122. package/dist-lib/render-mode.cjs +1 -1
  123. package/dist-lib/scripts/demo-app-registry.cjs +1 -1
  124. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  125. package/dist-lib/sdk.cjs +51 -2
  126. package/dist-lib/sdk.mjs +51 -2
  127. package/dist-lib/skills.cjs +27 -13
  128. package/dist-lib/vite.cjs +1 -1
  129. package/package.json +1 -1
  130. package/src/host/fetch-proxy-handler.ts +23 -2
  131. package/src/host/fetch-proxy-overrides.ts +17 -5
  132. package/dist-cli/chunks/auto-bootstrap-CTWKEM4V.js +0 -2
  133. package/dist-cli/chunks/beta-KGUBAGXH.js +0 -2
  134. package/dist-cli/chunks/chunk-3TDPLIKL.js +0 -2
  135. package/dist-cli/chunks/chunk-N2VJC564.js +0 -1
  136. package/dist-cli/chunks/chunk-UNV6BGOP.js +0 -1
  137. package/dist-cli/chunks/chunk-ZE7W2MTD.js +0 -1
  138. package/dist-cli/chunks/cli-version-INZLODFN.js +0 -2
  139. package/dist-cli/chunks/control-MSK5L3VF.js +0 -2
  140. package/dist-cli/chunks/drivers-SYUDXJZK.js +0 -2
  141. package/dist-cli/chunks/flow-66GRPHHA.js +0 -2
  142. package/dist-cli/chunks/help-4VBCUZAR.js +0 -2
  143. package/dist-cli/chunks/install-55EDLMPA.js +0 -2
  144. package/dist-cli/chunks/runtime-SX4NL3N4.js +0 -2
  145. package/dist-cli/chunks/setup-repo-UKVZZ52B.js +0 -2
  146. package/dist-cli/chunks/store-JUR4T52G.js +0 -2
  147. package/dist-cli/chunks/telemetry-BZJQZXB2.js +0 -2
  148. package/dist-cli/chunks/upload-INJR46LD.js +0 -2
  149. package/dist-cli/chunks/web-2ZJXPNQQ.js +0 -2
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.129 | (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;
@@ -3045,13 +3045,13 @@ var init_registry = __esm({
3045
3045
  },
3046
3046
  "expo-dev-client": {
3047
3047
  category: "Expo SDK",
3048
- stubType: "build-only",
3048
+ stubType: "native",
3049
3049
  versions: [
3050
3050
  {
3051
3051
  range: ">=1.0.0",
3052
3052
  coverage: 1,
3053
- note: "config/dev tooling package whose only runtime export is `isDevelopmentBuild` \u2014 correctly returns false in the sootsim preview (it is not an Expo Go dev build). The entire (tiny) public runtime surface is implemented; build-time CLI behavior is out of runtime scope.",
3054
- working: "isDevelopmentBuild"
3053
+ note: "native-seam: the real package (`export * from 'expo-dev-menu'`) runs from the bundle; the ExpoDevMenu expo native module (openMenu/closeMenu/hideMenu/addDevMenuCallbacks) is installed inline by stubs/expo-modules-core.ts as an honest no-op so registerDevMenuItems and the menu controls boot without crashing. Custom dev-menu entries are not surfaced (a dev-build affordance), matching how the native module is absent in a production build.",
3054
+ working: "openMenu, closeMenu, hideMenu, registerDevMenuItems"
3055
3055
  }
3056
3056
  ]
3057
3057
  },
@@ -5335,9 +5335,10 @@ var init_registry = __esm({
5335
5335
  versions: [
5336
5336
  {
5337
5337
  range: ">=0.5.0",
5338
- coverage: 1,
5339
- note: "load-safe noop \u2014 Galeria root passes children through; Galeria.Image / Galeria.Popup render null; useGaleria returns no-op { open, close, images: [] }",
5340
- missing: "no native QLPreviewController \u2014 apps see their gallery layout render but tapping an image does not open the native preview overlay (deferred \u2014 could be wired through host bridge)"
5338
+ coverage: 0.92,
5339
+ note: "native-seam only - upstream Galeria root / Galeria.Image / context run from the bundle; the Expo Galeria view manager opens SootSim's shared image viewer with thumbnail transition, Galeria-specific chrome, swipe, pinch, rotation, double-tap zoom, and dismiss",
5340
+ working: "Galeria root, Galeria.Image, grouped urls, Image.resolveAssetSource mapping, tap-to-open from thumbnail, grouped thumbnail registry for close transitions, fullscreen viewer, adjacent-image swipe, pinch/rotate/double-tap zoom, vertical dismiss, close control, right nav action callback, page indicators, hidePageIndicators, hideBlurOverlay, light/dark theme, onIndexChange, onDismiss, onLongPress",
5341
+ missing: "SF Symbol names render as textual controls instead of exact symbol glyphs; no native blur effect when blur overlay is shown; natural image dimensions are async and fall back to screen aspect until measured"
5341
5342
  }
5342
5343
  ]
5343
5344
  },
@@ -12467,16 +12468,17 @@ function headerOverridesFor(hostname) {
12467
12468
  const host = hostname.toLowerCase();
12468
12469
  for (const override of HOST_HEADER_OVERRIDES) {
12469
12470
  if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
12470
- return override.headers;
12471
+ return override;
12471
12472
  }
12472
12473
  }
12473
- return {};
12474
+ return void 0;
12474
12475
  }
12475
12476
  function getFetchProxyTargetHeaders(targetUrl) {
12477
+ const hostOverrides = headerOverridesFor(targetUrl.hostname);
12476
12478
  return {
12477
12479
  "accept-encoding": "identity",
12478
- "user-agent": FETCH_PROXY_BROWSER_USER_AGENT,
12479
- ...headerOverridesFor(targetUrl.hostname)
12480
+ ...hostOverrides?.suppressBrowserUserAgent ? {} : { "user-agent": FETCH_PROXY_BROWSER_USER_AGENT },
12481
+ ...hostOverrides?.headers
12480
12482
  };
12481
12483
  }
12482
12484
  var FETCH_PROXY_BROWSER_USER_AGENT, HOST_HEADER_OVERRIDES;
@@ -12490,7 +12492,10 @@ var init_fetch_proxy_overrides = __esm({
12490
12492
  headers: {
12491
12493
  origin: "https://app.uniswap.org",
12492
12494
  referer: "https://app.uniswap.org/"
12493
- }
12495
+ },
12496
+ // uniswap's native gateway accepts the app origin, but forcing a desktop
12497
+ // browser ua on native api posts returns a bogus 414/tcp-stack response.
12498
+ suppressBrowserUserAgent: true
12494
12499
  }
12495
12500
  ];
12496
12501
  }
@@ -12516,6 +12521,12 @@ function formatFetchProxyError(targetUrl, err) {
12516
12521
  }
12517
12522
  return message;
12518
12523
  }
12524
+ function isTextProxyContentType(contentType) {
12525
+ const value = Array.isArray(contentType) ? contentType[0] : contentType;
12526
+ const normalized = value?.split(";", 1)[0]?.trim().toLowerCase();
12527
+ if (!normalized) return false;
12528
+ return normalized.startsWith("text/") || normalized === "application/json" || normalized.endsWith("+json") || normalized === "application/x-www-form-urlencoded" || normalized === "application/xml" || normalized.endsWith("+xml") || normalized === "application/javascript" || normalized === "application/graphql";
12529
+ }
12519
12530
  function buildFetchProxyHeaders(reqHeaders, targetUrl) {
12520
12531
  const headers = {};
12521
12532
  for (const [key, value] of Object.entries(reqHeaders)) {
@@ -12581,7 +12592,10 @@ async function handleFetchProxyRequest(req, res) {
12581
12592
  for await (const chunk of req) {
12582
12593
  chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
12583
12594
  }
12584
- if (chunks.length > 0) body = Buffer.concat(chunks);
12595
+ if (chunks.length > 0) {
12596
+ const bytes = Buffer.concat(chunks);
12597
+ body = isTextProxyContentType(req.headers["content-type"]) ? bytes.toString("utf8") : bytes;
12598
+ }
12585
12599
  }
12586
12600
  let upstream;
12587
12601
  try {
package/dist-lib/vite.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! sootsim v0.1.129 | (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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sootsim",
3
- "version": "0.1.128",
3
+ "version": "0.1.129",
4
4
  "description": "sootsim CLI + vite/metro plugins + skills registry. bridge client for driving the proprietary sootsim-engine over WebSocket.",
5
5
  "author": "Tamagui LLC",
6
6
  "license": "MIT",
@@ -98,6 +98,22 @@ function formatFetchProxyError(targetUrl: string, err: unknown): string {
98
98
  return message
99
99
  }
100
100
 
101
+ function isTextProxyContentType(contentType: string | string[] | undefined): boolean {
102
+ const value = Array.isArray(contentType) ? contentType[0] : contentType
103
+ const normalized = value?.split(';', 1)[0]?.trim().toLowerCase()
104
+ if (!normalized) return false
105
+ return (
106
+ normalized.startsWith('text/') ||
107
+ normalized === 'application/json' ||
108
+ normalized.endsWith('+json') ||
109
+ normalized === 'application/x-www-form-urlencoded' ||
110
+ normalized === 'application/xml' ||
111
+ normalized.endsWith('+xml') ||
112
+ normalized === 'application/javascript' ||
113
+ normalized === 'application/graphql'
114
+ )
115
+ }
116
+
101
117
  export function buildFetchProxyHeaders(
102
118
  reqHeaders: Record<string, string | string[] | undefined>,
103
119
  targetUrl?: URL,
@@ -176,13 +192,18 @@ export async function handleFetchProxyRequest(
176
192
 
177
193
  const headers = buildFetchProxyHeaders(req.headers, upstreamUrl)
178
194
 
179
- let body: Buffer | undefined
195
+ let body: BodyInit | undefined
180
196
  if (req.method !== 'GET' && req.method !== 'HEAD') {
181
197
  const chunks: Buffer[] = []
182
198
  for await (const chunk of req) {
183
199
  chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk))
184
200
  }
185
- if (chunks.length > 0) body = Buffer.concat(chunks)
201
+ if (chunks.length > 0) {
202
+ const bytes = Buffer.concat(chunks)
203
+ body = isTextProxyContentType(req.headers['content-type'])
204
+ ? bytes.toString('utf8')
205
+ : bytes
206
+ }
186
207
  }
187
208
 
188
209
  let upstream: Response
@@ -10,6 +10,7 @@ export const FETCH_PROXY_BROWSER_USER_AGENT =
10
10
  const HOST_HEADER_OVERRIDES: Array<{
11
11
  hostSuffix: string
12
12
  headers: Record<string, string>
13
+ suppressBrowserUserAgent?: boolean
13
14
  }> = [
14
15
  {
15
16
  hostSuffix: 'uniswap.org',
@@ -17,23 +18,34 @@ const HOST_HEADER_OVERRIDES: Array<{
17
18
  origin: 'https://app.uniswap.org',
18
19
  referer: 'https://app.uniswap.org/',
19
20
  },
21
+ // uniswap's native gateway accepts the app origin, but forcing a desktop
22
+ // browser ua on native api posts returns a bogus 414/tcp-stack response.
23
+ suppressBrowserUserAgent: true,
20
24
  },
21
25
  ]
22
26
 
23
- function headerOverridesFor(hostname: string): Record<string, string> {
27
+ function headerOverridesFor(hostname: string):
28
+ | {
29
+ headers: Record<string, string>
30
+ suppressBrowserUserAgent?: boolean
31
+ }
32
+ | undefined {
24
33
  const host = hostname.toLowerCase()
25
34
  for (const override of HOST_HEADER_OVERRIDES) {
26
35
  if (host === override.hostSuffix || host.endsWith(`.${override.hostSuffix}`)) {
27
- return override.headers
36
+ return override
28
37
  }
29
38
  }
30
- return {}
39
+ return undefined
31
40
  }
32
41
 
33
42
  export function getFetchProxyTargetHeaders(targetUrl: URL): Record<string, string> {
43
+ const hostOverrides = headerOverridesFor(targetUrl.hostname)
34
44
  return {
35
45
  'accept-encoding': 'identity',
36
- 'user-agent': FETCH_PROXY_BROWSER_USER_AGENT,
37
- ...headerOverridesFor(targetUrl.hostname),
46
+ ...(hostOverrides?.suppressBrowserUserAgent
47
+ ? {}
48
+ : { 'user-agent': FETCH_PROXY_BROWSER_USER_AGENT }),
49
+ ...hostOverrides?.headers,
38
50
  }
39
51
  }
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d}from"./chunk-HNRZM6GI.js";import"./chunk-OULIZJPC.js";import"./chunk-CYKPWI35.js";import"./chunk-PINZJVS6.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{c as ensureDaemonRunning,a as ensureRuntimeInstalled,d as ensureSootsimReady,b as resolveBootstrapPort};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c,d,e}from"./chunk-MQFUXG7V.js";import"./chunk-KABJPUT4.js";export{e as BETA_ASK_HEADLINE,c as BETA_LABEL,d as BETA_TAGLINE,b as BETA_VERSION_TARGET,a as IS_BETA};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- var t="http://localhost:5173/";export{t as a};
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-SQRVXVCM.js";import"./chunk-KABJPUT4.js";export{a as getCliVersion};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{d as a,e as b,f as c,g as d,h as e,i as f,j as g,k as h,l as i,m as j,n as k,o as l,p as m,q as n,r as o,s as p,t as q,u as r,v as s}from"./chunk-KG3XVCAL.js";import"./chunk-XF5W3CGA.js";import"./chunk-WEGRCMET.js";import"./chunk-ZB2LBNNH.js";import"./chunk-E3NRRI4M.js";import"./chunk-OULIZJPC.js";import"./chunk-QNKKUBAX.js";import"./chunk-OAZYZXMH.js";import"./chunk-ZE7W2MTD.js";import"./chunk-SKW6NBUP.js";import"./chunk-OLXRO2UE.js";import"./chunk-CYKPWI35.js";import"./chunk-3TDPLIKL.js";import"./chunk-PINZJVS6.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{e as buildOpenUrl,d as buildShellUrl,q as closeSimsBulk,r as planBulkCloseTargets,i as playwrightHostPidForSim,g as printConnectedSims,b as resolveBundleTarget,c as resolveDefaultShellBaseUrl,a as resolveDriverConnectWaitOptions,p as runClaimCommand,s as runCloseCommand,o as runFocusCommand,l as runListCommand,m as runOpenCommand,n as runUseCommand,j as signalDriverLaunchConnected,f as summarizeSimUrl,k as terminatePlaywrightHostsForSims,h as waitForSimMatch};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import"./chunk-N2VJC564.js";import{a,b,c,d,e,f,g,h,i}from"./chunk-QNKKUBAX.js";import"./chunk-OAZYZXMH.js";import"./chunk-ZE7W2MTD.js";import"./chunk-SKW6NBUP.js";import"./chunk-OLXRO2UE.js";import"./chunk-CYKPWI35.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{e as ALL_DRIVERS,i as buildDriverListRows,a as chromiumDriver,b as electronDriver,f as getAllDrivers,g as getDriver,c as playwrightDriver,h as resolveDriver,d as systemDriver};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as c,b as d,c as e,d as f}from"./chunk-P4W42H4A.js";import"./chunk-WBVNZ7R3.js";import"./chunk-UNV6BGOP.js";import"./chunk-HDW4B3FW.js";import"./chunk-ZTHTQNVD.js";import"./chunk-DKK3CC3D.js";import{d as a,e as b}from"./chunk-JBVHVSVC.js";import"./chunk-KG3XVCAL.js";import"./chunk-XF5W3CGA.js";import"./chunk-WEGRCMET.js";import"./chunk-ZB2LBNNH.js";import"./chunk-E3NRRI4M.js";import"./chunk-OULIZJPC.js";import"./chunk-QNKKUBAX.js";import"./chunk-OAZYZXMH.js";import"./chunk-ZE7W2MTD.js";import"./chunk-SKW6NBUP.js";import"./chunk-OLXRO2UE.js";import"./chunk-CYKPWI35.js";import"./chunk-AJ34QMR4.js";import"./chunk-H7O2EPCU.js";import"./chunk-DTHD7QGU.js";import"./chunk-3TDPLIKL.js";import"./chunk-PINZJVS6.js";import"./chunk-TT5RWL45.js";import"./chunk-X33P2PIG.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{c as discoverSootsimUrl,e as hoistLeadingSimFlag,a as parseFlowFile,f as runFlow,d as runFlowPlayback,b as validateFlowFile};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-B3HLOZ3N.js";import"./chunk-DTHD7QGU.js";import"./chunk-J7TYQVOU.js";import"./chunk-3TDPLIKL.js";import"./chunk-PINZJVS6.js";import"./chunk-SQRVXVCM.js";import"./chunk-MQFUXG7V.js";import"./chunk-X33P2PIG.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{c as printCommandHelp,b as printGroupHelp,a as printHelp};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a as o}from"./chunk-HMBYOS66.js";import"./chunk-WCJMLITZ.js";import"./chunk-HNRZM6GI.js";import"./chunk-OULIZJPC.js";import"./chunk-CYKPWI35.js";import"./chunk-AJ34QMR4.js";import"./chunk-H7O2EPCU.js";import"./chunk-PINZJVS6.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";async function t(n){console.error(" note: `sootsim install` is now `sootsim setup-repo`. forwarding\u2026\n"),await o(n)}export{t as runInstall};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-ASKSZHOR.js";import"./chunk-OULIZJPC.js";import"./chunk-CYKPWI35.js";import"./chunk-PINZJVS6.js";import"./chunk-YKUW3QNP.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{b as formatReleaseEntry,a as runRuntime};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-HMBYOS66.js";import"./chunk-WCJMLITZ.js";import"./chunk-HNRZM6GI.js";import"./chunk-OULIZJPC.js";import"./chunk-CYKPWI35.js";import"./chunk-AJ34QMR4.js";import"./chunk-H7O2EPCU.js";import"./chunk-PINZJVS6.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{a as runSetupRepo};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a}from"./chunk-TT5RWL45.js";import"./chunk-X33P2PIG.js";import"./chunk-KABJPUT4.js";export{a as settingsStore};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b}from"./chunk-AJ34QMR4.js";import"./chunk-H7O2EPCU.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{b as flushCliTelemetry,a as trackCliEvent};
@@ -1,2 +0,0 @@
1
- /*! sootsim v0.1.128 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
- import{a,b,c}from"./chunk-ZTHTQNVD.js";import"./chunk-DKK3CC3D.js";import"./chunk-E3NRRI4M.js";import"./chunk-OULIZJPC.js";import"./chunk-ZE7W2MTD.js";import"./chunk-OLXRO2UE.js";import"./chunk-CYKPWI35.js";import"./chunk-AJ34QMR4.js";import"./chunk-H7O2EPCU.js";import"./chunk-PINZJVS6.js";import"./chunk-KBW2VI34.js";import"./chunk-KABJPUT4.js";export{a as resolveDefaultUploadOrigin,b as resolvePublicPreviewOrigin,c as runUpload};