rnxsim 0.1.417 → 0.1.418

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 (59) hide show
  1. package/cli/cloud-client.ts +104 -32
  2. package/cli/cloud-dispatch.ts +38 -4
  3. package/cli/commands/inspect/actions.ts +313 -385
  4. package/cli/commands/inspect/core.ts +6 -0
  5. package/cli/commands/inspect/resolve-target.ts +2 -3
  6. package/cli/commands/inspect/settle.ts +10 -0
  7. package/cli/commands/inspect.ts +31 -48
  8. package/cli/commands/platform.ts +41 -10
  9. package/cli/outbound-endpoints.ts +1 -1
  10. package/cli/shell-init.ts +1 -1
  11. package/dist-lib/agent-daemon-client.cjs +1 -1
  12. package/dist-lib/agent-events.cjs +1 -1
  13. package/dist-lib/agent-identity.cjs +1 -1
  14. package/dist-lib/agent-sessions.cjs +1 -1
  15. package/dist-lib/attached-projects.cjs +1 -1
  16. package/dist-lib/auth/shared-session.cjs +1 -1
  17. package/dist-lib/backend-origin.cjs +1 -1
  18. package/dist-lib/beta.cjs +1 -1
  19. package/dist-lib/beta.mjs +1 -1
  20. package/dist-lib/bridge-constants.cjs +1 -1
  21. package/dist-lib/bridge-contract-input.cjs +1 -1
  22. package/dist-lib/bridge-contract-input.mjs +1 -1
  23. package/dist-lib/bridge-contract.cjs +1 -1
  24. package/dist-lib/bridge-contract.mjs +1 -1
  25. package/dist-lib/capture-contract.cjs +1 -1
  26. package/dist-lib/capture-contract.mjs +1 -1
  27. package/dist-lib/cli-constants.cjs +1 -1
  28. package/dist-lib/cloud-contract.cjs +1 -1
  29. package/dist-lib/cloud-contract.mjs +1 -1
  30. package/dist-lib/config.cjs +1 -1
  31. package/dist-lib/detox/index.cjs +1 -1
  32. package/dist-lib/dev-bundle-resolution.cjs +1 -1
  33. package/dist-lib/home-paths.cjs +1 -1
  34. package/dist-lib/host/bridge-host.cjs +1 -1
  35. package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
  36. package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
  37. package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
  38. package/dist-lib/host/replacement-module-handler.cjs +1 -1
  39. package/dist-lib/host/websocket-proxy.cjs +1 -1
  40. package/dist-lib/index.cjs +626 -749
  41. package/dist-lib/jump-to-source-babel.cjs +1 -1
  42. package/dist-lib/menu.cjs +1 -1
  43. package/dist-lib/menu.mjs +1 -1
  44. package/dist-lib/metro-fingerprint-registry.cjs +1 -1
  45. package/dist-lib/metro-fingerprint-registry.mjs +1 -1
  46. package/dist-lib/metro-production-bundle.cjs +1 -1
  47. package/dist-lib/metro-production-bundle.mjs +1 -1
  48. package/dist-lib/metro.cjs +1 -1
  49. package/dist-lib/profiles.cjs +1 -1
  50. package/dist-lib/public-brand.cjs +1 -1
  51. package/dist-lib/react-native-host-modules.cjs +1 -1
  52. package/dist-lib/react-native-host-modules.mjs +1 -1
  53. package/dist-lib/render-mode.cjs +1 -1
  54. package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
  55. package/dist-lib/sdk.cjs +1206 -1342
  56. package/dist-lib/sdk.mjs +1206 -1342
  57. package/dist-lib/skills.cjs +57 -1
  58. package/dist-lib/vite.cjs +1 -1
  59. package/package.json +1 -1
@@ -1034,6 +1034,12 @@ export function waitReadyReason(
1034
1034
  > & { bridgeError?: string },
1035
1035
  ): string {
1036
1036
  if (status.bridgeError) {
1037
+ if (
1038
+ status.bridgeError.includes('headless tenant fetch hung') ||
1039
+ status.bridgeError.includes('public RNX Cloud simulators have no network')
1040
+ ) {
1041
+ return status.bridgeError
1042
+ }
1037
1043
  return `sim unreachable: ${status.bridgeError} — the target tab is closed or no sim is connected (check \`rnx list\`, reopen with \`rnx open\`)`
1038
1044
  }
1039
1045
  const base = status.externalError
@@ -1,5 +1,4 @@
1
- import { isSimSemanticTree } from './core'
2
- import type { WsBridge } from '../../ws-bridge'
1
+ import { isSimSemanticTree, type InspectBridge } from './core'
3
2
 
4
3
  // read a --testid / --text flag from args. returns null when neither is
5
4
  // present so coord-based do verbs can fall through to their positional path.
@@ -36,7 +35,7 @@ export interface ResolvedTargetCoords {
36
35
  }
37
36
 
38
37
  export async function resolveTargetCoords(
39
- bridge: WsBridge,
38
+ bridge: InspectBridge,
40
39
  target: { mode: 'testid' | 'text'; value: string },
41
40
  ): Promise<ResolvedTargetCoords | null> {
42
41
  const result: unknown = await bridge.send({
@@ -11,6 +11,16 @@ export async function runSettleSubcommand(opts: {
11
11
  }): Promise<void> {
12
12
  const { bridge, args, positional } = opts
13
13
  const maxMs = positional[1] ? Number(positional[1]) * 1000 : 3000
14
+ if (bridge.plane === 'cloud') {
15
+ const maxFrames = Math.max(1, Math.min(600, Math.ceil(maxMs / 16)))
16
+ const result: unknown = await bridge.send({ type: 'settle', maxFrames })
17
+ const frames =
18
+ result !== null && typeof result === 'object' ? Reflect.get(result, 'frames') : null
19
+ console.log(
20
+ typeof frames === 'number' ? ` settled in ${frames} frames` : ' settled',
21
+ )
22
+ return
23
+ }
14
24
  const strict = args.includes('--strict')
15
25
  const { elapsed, settled } = await waitForSootsimIdle({ bridge, maxMs, strict })
16
26
 
@@ -194,30 +194,17 @@ async function probeSimResponsive(bridge: WsBridge): Promise<boolean> {
194
194
  // trailing digit or near-miss casing still bubbles to the top.
195
195
  async function printSimilarTestIds(bridge: WsBridge, query: string): Promise<void> {
196
196
  try {
197
- const ids = (await bridge.send({
198
- type: 'evaluate',
199
- code: `(async () => {
200
- const t = window.__sootsimTest
201
- if (!t || typeof t.queryAll !== 'function') return []
202
- try {
203
- // queryAll is async in render-worker mode (the canonical mode now)
204
- // because the call has to round-trip the worker — must await it.
205
- // a sync result is still handled fine since await on a non-Promise
206
- // is a no-op.
207
- const nodes = await t.queryAll({})
208
- if (!Array.isArray(nodes)) return []
209
- const out = new Set()
210
- for (const n of nodes) {
211
- const id = n && (n.testID || n.id)
212
- if (typeof id === 'string' && id) out.add(id)
213
- }
214
- return Array.from(out)
215
- } catch {
216
- return []
217
- }
218
- })()`,
219
- })) as string[] | null
220
- if (!Array.isArray(ids) || ids.length === 0) return
197
+ const found = await inspectFind(bridge, { visible: true })
198
+ const nodes = Array.isArray(found?.result) ? found.result : []
199
+ const ids = [
200
+ ...new Set(
201
+ nodes.flatMap((node) => {
202
+ const id = Reflect.get(node, 'testID')
203
+ return typeof id === 'string' && id ? [id] : []
204
+ }),
205
+ ),
206
+ ]
207
+ if (ids.length === 0) return
221
208
  const q = query.toLowerCase()
222
209
  const ranked = ids
223
210
  .map((id) => ({
@@ -1308,6 +1295,17 @@ export async function runInspect(args: string[], opts: InspectOptions) {
1308
1295
  )
1309
1296
  return
1310
1297
  }
1298
+ if (outcome.result?.reason === 'target-covered') {
1299
+ const covering = outcome.result.coordinateTarget
1300
+ const name =
1301
+ typeof covering?.testID === 'string' && covering.testID
1302
+ ? `#${covering.testID}`
1303
+ : covering?.type
1304
+ ? `<${covering.type}>`
1305
+ : 'another node'
1306
+ console.error(` tap failed: ${label} is covered by ${name}`)
1307
+ return
1308
+ }
1311
1309
  console.error(
1312
1310
  ` tap failed: ${label} stayed visible but did not receive a hittable press after ${outcome.attempts} attempt${outcome.attempts === 1 ? '' : 's'}`,
1313
1311
  )
@@ -2946,7 +2944,7 @@ export async function runInspect(args: string[], opts: InspectOptions) {
2946
2944
  const offset = target || nodeId != null ? 1 : 2
2947
2945
  const x = Number(positional[offset])
2948
2946
  const y = Number(positional[offset + 1])
2949
- if ((!id && nodeId == null) || !Number.isFinite(x) || !Number.isFinite(y)) {
2947
+ if (!id || !Number.isFinite(x) || !Number.isFinite(y)) {
2950
2948
  console.error(
2951
2949
  inspectUsage(
2952
2950
  'scroll',
@@ -2955,30 +2953,15 @@ export async function runInspect(args: string[], opts: InspectOptions) {
2955
2953
  )
2956
2954
  rnxExit(1)
2957
2955
  }
2958
- // look up node position first so agent cursor can animate there
2959
- const scrollNode = await bridge.send({
2960
- type: 'evaluate',
2961
- code: `(async () => {
2962
- const t = window.__sootsimTest
2963
- if (!t) return null
2964
- const n = ${
2965
- nodeId != null
2966
- ? `await t.inspectByNodeId(${JSON.stringify(nodeId)})`
2967
- : `await t.findByTestId(${JSON.stringify(id)})
2968
- || await t.findById(${JSON.stringify(id)})`
2969
- }
2970
- if (!n || !n.absolutePosition || !n.layout) return null
2971
- return {
2972
- cx: n.absolutePosition.x + (n.layout.width || 0) / 2,
2973
- cy: n.absolutePosition.y + (n.layout.height || 0) / 2,
2974
- }
2975
- })()`,
2956
+ const resolved = await resolveTargetCoords(bridge, { mode: 'testid', value: id })
2957
+ const result = await performSingleStep(bridge, {
2958
+ type: 'scroll',
2959
+ id,
2960
+ x,
2961
+ y,
2962
+ animated: false,
2976
2963
  })
2977
- const result = await callTestBridge<{
2978
- ok: boolean
2979
- via?: string
2980
- reason?: string
2981
- }>(bridge, 'scrollTo', nodeId != null ? { nodeId } : id, x, y, false)
2964
+ const scrollNode = resolved ? { cx: resolved.x, cy: resolved.y } : null
2982
2965
  if (result?.ok) {
2983
2966
  const targetSummary = nodeId != null ? `node ${nodeId}` : `#${id}`
2984
2967
  await recordInspectAction(
@@ -27,7 +27,7 @@ function isDeviceModel(value: string): value is DeviceModel {
27
27
  }
28
28
 
29
29
  const CLOUD_USAGE =
30
- 'usage: rnx ios --cloud <local bundle.js> [--assets <dir>] [--device <model>]'
30
+ 'usage: rnx ios --nano <local bundle.js> [--assets <dir>] [--device <model>]'
31
31
 
32
32
  function cloudInputFromArgs(args: string[]): {
33
33
  bundlePath: string
@@ -37,19 +37,19 @@ function cloudInputFromArgs(args: string[]): {
37
37
  let assetsPath: string | null = null
38
38
  for (let index = 0; index < args.length; index++) {
39
39
  const arg = args[index]
40
- if (arg === '--cloud') continue
40
+ if (arg === '--nano') continue
41
41
  if (arg === '--device') {
42
42
  index++
43
43
  continue
44
44
  }
45
45
  if (arg === '--assets') {
46
46
  assetsPath = args[++index] ?? null
47
- if (!assetsPath) throw new Error('rnx ios --cloud --assets requires a directory')
47
+ if (!assetsPath) throw new Error('rnx ios --nano --assets requires a directory')
48
48
  continue
49
49
  }
50
50
  if (arg.startsWith('--assets=')) {
51
51
  assetsPath = arg.slice('--assets='.length) || null
52
- if (!assetsPath) throw new Error('rnx ios --cloud --assets requires a directory')
52
+ if (!assetsPath) throw new Error('rnx ios --nano --assets requires a directory')
53
53
  continue
54
54
  }
55
55
  if (
@@ -60,10 +60,10 @@ function cloudInputFromArgs(args: string[]): {
60
60
  arg.startsWith('--session=') ||
61
61
  arg.startsWith('--tab=')
62
62
  ) {
63
- throw new Error('rnx ios --cloud creates a new simulator and cannot target --sim')
63
+ throw new Error('rnx ios --nano creates a new simulator and cannot target --sim')
64
64
  }
65
65
  if (arg.startsWith('-')) {
66
- throw new Error(`rnx ios --cloud does not support ${arg}`)
66
+ throw new Error(`rnx ios --nano does not support ${arg}`)
67
67
  }
68
68
  positional.push(arg)
69
69
  }
@@ -114,10 +114,10 @@ export async function runPlatformCommand(
114
114
  }
115
115
  }
116
116
 
117
- if (args.includes('--cloud')) {
117
+ if (args.includes('--nano')) {
118
118
  if (platform !== 'ios') {
119
119
  console.error(
120
- ` ${rnxPublicBrand.commandName} android --cloud is not available; RNX Cloud currently supports iOS`,
120
+ ` ${rnxPublicBrand.commandName} android --nano is not available; RNX Cloud currently supports iOS`,
121
121
  )
122
122
  return 1
123
123
  }
@@ -136,7 +136,7 @@ export async function runPlatformCommand(
136
136
  const descriptor = requireCloudSessionShellUpdate()
137
137
  const { authHeaderOrExit } = await import('../auth')
138
138
  const { closeCloudBox, createCloudBox } = await import('../cloud-client')
139
- const { header } = authHeaderOrExit('ios --cloud')
139
+ const { header } = authHeaderOrExit('ios --nano')
140
140
  const created = await createCloudBox({
141
141
  bundlePath: input.bundlePath,
142
142
  assetsPath: input.assetsPath ?? undefined,
@@ -171,7 +171,7 @@ export async function runPlatformCommand(
171
171
  } catch (error) {
172
172
  rethrowIfExit(error)
173
173
  console.error(
174
- ` ${rnxPublicBrand.commandName} ios --cloud failed: ${
174
+ ` ${rnxPublicBrand.commandName} ios --nano failed: ${
175
175
  error instanceof Error ? error.message : String(error)
176
176
  }`,
177
177
  )
@@ -179,6 +179,37 @@ export async function runPlatformCommand(
179
179
  }
180
180
  }
181
181
 
182
+ // leftover `--*` tokens are not bundle targets. parse the same flags `open`
183
+ // consumes, then refuse anything still starting with `-`.
184
+ const { parseBridgeCliArgs } = await import('../ws-bridge')
185
+ const leftover = parseBridgeCliArgs(args, {
186
+ port: opts.port,
187
+ stripBooleanFlags: [
188
+ '--new',
189
+ '--headless',
190
+ '--headed',
191
+ '--ephemeral',
192
+ '--hot',
193
+ '--no-hmr',
194
+ '--no-describe',
195
+ '--quiet',
196
+ ],
197
+ stripValueFlags: [
198
+ '--base-url',
199
+ '--replace',
200
+ '--driver',
201
+ '--profile',
202
+ '--cdp-port',
203
+ '--device',
204
+ '--viewport',
205
+ '--remap',
206
+ ],
207
+ }).positional.find((value) => value.startsWith('-'))
208
+ if (leftover) {
209
+ console.error(` unknown flag: ${leftover}`)
210
+ return 1
211
+ }
212
+
182
213
  const { runOpenCommand } = await import('./control')
183
214
  return runOpenCommand(args, { port: opts.port })
184
215
  }
@@ -108,7 +108,7 @@ export const OUTBOUND_ENDPOINTS: Record<string, OutboundEndpointDeclaration> = {
108
108
  'https://rnxsim.com by default, or the test or disposable origin named by RNX_CLOUD_ORIGIN',
109
109
  preConsent: false,
110
110
  payload:
111
- 'the Metro JavaScript bundle selected by rnx ios --cloud, then structured simulator commands and lifecycle requests',
111
+ 'the Metro JavaScript bundle selected by rnx ios --nano, then structured simulator commands and lifecycle requests',
112
112
  },
113
113
  }
114
114
 
package/cli/shell-init.ts CHANGED
@@ -30,7 +30,7 @@ export function renderRnxShellInit(shell: string): string {
30
30
  claim|close) ;;
31
31
  ios)
32
32
  for _rnx_shell_session in "$@"; do
33
- if [ "$_rnx_shell_session" = '--cloud' ]; then
33
+ if [ "$_rnx_shell_session" = '--nano' ]; then
34
34
  _rnx_shell_create=1
35
35
  break
36
36
  fi
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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/beta.cjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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/beta.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/beta.ts
4
4
  var IS_BETA = true;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_MAX_MS = 5e3;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/bridge-contract.ts
4
4
  var SIM_LONG_PRESS_DEFAULT_MS = 500;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/capture-contract.ts
4
4
  var RNX_SCREEN_CAPTURE_VERSION = 1;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/cloud-contract.ts
4
4
  var RNX_CLOUD_MAX_ARTIFACT_BYTES = 20 * 1024 * 1024;
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
2
2
 
3
3
  // src/host/fetch-proxy-overrides.ts
4
4
  var FETCH_PROXY_BROWSER_USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36";
@@ -1,4 +1,4 @@
1
- /*! rnx v0.1.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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.417 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
1
+ /*! rnx v0.1.418 | (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;