peachsim 0.1.527 → 0.1.571
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.
- package/README.md +28 -28
- package/cli/app-fonts.ts +1 -1
- package/cli/app-splash.ts +1 -1
- package/cli/bin.ts +1 -1
- package/cli/bridge-diagnostics.ts +1 -1
- package/cli/bridge-flow-runner.ts +72 -12
- package/cli/cloud-client.ts +273 -6
- package/cli/cloud-dispatch.ts +23 -2
- package/cli/cloud-session.ts +60 -4
- package/cli/cloud-test-result-files.ts +97 -0
- package/cli/cloud-test-tunnel.ts +354 -0
- package/cli/commands/box/bundle-plane.ts +2 -2
- package/cli/commands/box/checkout-plane.ts +1 -1
- package/cli/commands/box/rnx-command.ts +2 -2
- package/cli/commands/box/search-command.ts +2 -2
- package/cli/commands/box.ts +8 -8
- package/cli/commands/compat.ts +1 -1
- package/cli/commands/control.ts +22 -3
- package/cli/commands/detox.ts +1 -1
- package/cli/commands/device.ts +1 -1
- package/cli/commands/diagnose.ts +1 -1
- package/cli/commands/film.ts +1 -1
- package/cli/commands/flow.ts +60 -3
- package/cli/commands/inspect/actions.ts +1 -1
- package/cli/commands/inspect/core.ts +6 -7
- package/cli/commands/inspect/find.ts +2 -1
- package/cli/commands/inspect/resolve-target.ts +5 -3
- package/cli/commands/inspect/shared.ts +1 -1
- package/cli/commands/inspect/wait-event.ts +1 -1
- package/cli/commands/inspect/wait-selector.ts +15 -4
- package/cli/commands/inspect.ts +19 -14
- package/cli/commands/maestro.ts +582 -69
- package/cli/commands/permissions.ts +1 -1
- package/cli/commands/platform.ts +205 -8
- package/cli/commands/preview.ts +2 -2
- package/cli/commands/record.ts +2 -2
- package/cli/commands/report-issue.ts +2 -2
- package/cli/commands/screenshot-layers.ts +1 -1
- package/cli/commands/screenshot.ts +1 -1
- package/cli/commands/setup.ts +2 -2
- package/cli/commands/test.ts +600 -117
- package/cli/commands/three-mode.ts +1 -1
- package/cli/commands/upload.ts +5 -5
- package/cli/commands/what-happened.ts +1 -1
- package/cli/desktop-companion.ts +3 -3
- package/cli/drivers/playwright-sim-host.ts +2 -2
- package/cli/flow-file.ts +7 -0
- package/cli/flow-live-status.ts +65 -8
- package/cli/help-core.ts +3 -3
- package/cli/hidden-runtime-alias.ts +1 -1
- package/cli/maestro-report.ts +180 -0
- package/cli/main.ts +1 -1
- package/cli/outbound-endpoints.ts +187 -136
- package/cli/parse-args.ts +1 -1
- package/cli/registry.ts +1 -1
- package/cli/resolve-assets.ts +1 -1
- package/cli/run-registry.ts +10 -1
- package/cli/send-to-box.ts +4 -4
- package/cli/ws-bridge.ts +3 -5
- package/detox/expectations.ts +1 -1
- package/detox/gestures.ts +2 -2
- package/detox/index.ts +71 -29
- package/detox/jest-preset.cjs +5 -5
- package/detox/jest-setup-after-env.cjs +1 -1
- package/dist-lib/agent-daemon-client.cjs +2 -2
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +2 -2
- package/dist-lib/attached-projects.cjs +2 -2
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +1 -1
- package/dist-lib/bridge-contract-input.mjs +1 -1
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +94 -3
- package/dist-lib/capture-contract.mjs +93 -3
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud-test-args.cjs +116 -0
- package/dist-lib/cloud-test-args.mjs +86 -0
- package/dist-lib/cloud.cjs +2 -2
- package/dist-lib/cloud.mjs +2 -2
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +106 -25
- package/dist-lib/detox/jest-preset.cjs +5 -5
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +150 -65
- package/dist-lib/host/fetch-proxy-handler.cjs +28 -2
- package/dist-lib/host/fetch-proxy-overrides.cjs +33 -3
- package/dist-lib/host/fetch-proxy-overrides.mjs +30 -2
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +224 -41
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/menu.cjs +2 -2
- package/dist-lib/menu.mjs +2 -2
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +3 -3
- package/dist-lib/metro-production-bundle.mjs +3 -3
- package/dist-lib/metro.cjs +8 -8
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +2 -2
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +31 -15
- package/dist-lib/sdk.cjs +3 -2
- package/dist-lib/sdk.mjs +3 -2
- package/dist-lib/skills.cjs +478 -266
- package/dist-lib/swift-compile.cjs +372 -0
- package/dist-lib/swift-compile.mjs +339 -0
- package/dist-lib/swift-package.cjs +78 -0
- package/dist-lib/swift-package.mjs +52 -0
- package/dist-lib/swift-submit.cjs +1 -1
- package/dist-lib/swift-submit.mjs +1 -1
- package/dist-lib/swift.cjs +583 -16
- package/dist-lib/vite.cjs +483 -150
- package/package.json +30 -9
- package/scripts/dev-server-scanner.ts +41 -14
- package/scripts/optional-demo-registry.ts +3 -3
- package/skills/contrast/SKILL.md +9 -9
- package/skills/rnx-debug/SKILL.md +14 -4
- package/skills/rnx-perf/SKILL.md +5 -5
- package/skills/rnx-setup/SKILL.md +11 -11
- package/skills/rnx-test/SKILL.md +14 -14
- package/skills/rnx-visual/SKILL.md +6 -6
- package/src/agent-sessions.ts +3 -3
- package/src/attached-projects.ts +1 -1
- package/src/bridge-contract-input.ts +1 -1
- package/src/bridge-contract.ts +23 -5
- package/src/capture-contract.ts +145 -3
- package/src/cloud-test-args.ts +100 -0
- package/src/config.ts +2 -2
- package/src/connect.ts +2 -2
- package/src/home-paths.ts +3 -3
- package/src/host/bridge-host.ts +2 -2
- package/src/host/fetch-proxy-handler.ts +4 -3
- package/src/host/fetch-proxy-overrides.ts +41 -0
- package/src/host/plane-host.ts +2 -2
- package/src/index.ts +3 -0
- package/src/metro-plugin.ts +4 -4
- package/src/metro-production-bundle.ts +2 -2
- package/src/native-seam-manifest.ts +6 -6
- package/src/public-brand.ts +1 -1
- package/src/rolldown-plugin-swift.ts +16 -12
- package/src/runtime-assets.ts +8 -6
- package/src/screenshots/frame-compose.ts +24 -56
- package/src/screenshots/org-deck.ts +1 -1
- package/src/screenshots/registry.ts +4 -4
- package/src/screenshots/schema.ts +1 -1
- package/src/sdk.ts +2 -2
- package/src/settings-bundle.ts +1 -1
- package/src/sim-client.ts +2 -4
- package/src/skills/builtin/compat-check.ts +1 -1
- package/src/swift-compile.ts +359 -0
- package/src/swift-package.ts +69 -0
- package/src/swift-submit.ts +3 -2
- package/src/vite-plugin-one.ts +1 -1
- package/src/vite-plugin-swift.ts +114 -113
- package/src/vite-plugin.ts +30 -17
- package/src/worklets-babel.ts +2 -2
|
@@ -133,6 +133,13 @@ export const OUTBOUND_ENDPOINTS: Record<string, OutboundEndpointDeclaration> = {
|
|
|
133
133
|
payload:
|
|
134
134
|
'the Metro JavaScript bundle selected by rnx ios --remote, then structured simulator commands and lifecycle requests',
|
|
135
135
|
},
|
|
136
|
+
tunnel_tool_download: {
|
|
137
|
+
category: 'explicit-user-action',
|
|
138
|
+
destination: 'https://github.com/cloudflare/cloudflared/releases/latest/download/',
|
|
139
|
+
preConsent: false,
|
|
140
|
+
payload:
|
|
141
|
+
'platform and architecture only, carried in the release asset name; fires only for rnx test --cloud with a live dev stack when no cloudflared binary is installed',
|
|
142
|
+
},
|
|
136
143
|
}
|
|
137
144
|
|
|
138
145
|
export interface OutboundCallDeclaration {
|
|
@@ -144,74 +151,97 @@ export interface OutboundCallDeclaration {
|
|
|
144
151
|
// a new fetch, websocket, node HTTP request, or TCP connection has no entry and
|
|
145
152
|
// fails the package test until its destination and consent behavior are declared.
|
|
146
153
|
export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> = {
|
|
147
|
-
'packages/
|
|
154
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${apiOrigin}/v1/boxes`': {
|
|
148
155
|
category: 'rnx_cloud_sim',
|
|
149
156
|
count: 1,
|
|
150
157
|
},
|
|
151
|
-
'packages/
|
|
152
|
-
{ category: 'rnx_cloud_sim', count: 1 },
|
|
153
|
-
// closing a nano-box simulator deletes its box; the local names changed
|
|
154
|
-
// with the close but the destination did not.
|
|
155
|
-
'packages/sootsim/cli/cloud-client.ts :: fetch :: `${session.apiOrigin}/v1/boxes/${encodeURIComponent(boxId)}`':
|
|
158
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${session.apiOrigin}/v1/sims/${encodeURIComponent()}/claim`':
|
|
156
159
|
{ category: 'rnx_cloud_sim', count: 1 },
|
|
160
|
+
// two call sites delete a box by id: closing a nano-box simulator, and
|
|
161
|
+
// closing a box from a session that is not itself the box. one destination,
|
|
162
|
+
// so one declaration.
|
|
163
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${session.apiOrigin}/v1/boxes/${encodeURIComponent()}`':
|
|
164
|
+
{ category: 'rnx_cloud_sim', count: 2 },
|
|
157
165
|
// closing an instance simulator deletes it by its own id with its own token.
|
|
158
|
-
'packages/
|
|
166
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${session.apiOrigin}/v1/sims/${encodeURIComponent()}`':
|
|
167
|
+
{ category: 'rnx_cloud_sim', count: 1 },
|
|
168
|
+
// the box api mirrors the sim api for a micro box: the same destination and
|
|
169
|
+
// the same box token, reached through the session rather than a loose id.
|
|
170
|
+
// driving a box sends each command to its own box.
|
|
171
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${this.session.apiOrigin}/v1/boxes/${encodeURIComponent()}/commands`':
|
|
172
|
+
{ category: 'rnx_cloud_sim', count: 1 },
|
|
173
|
+
// stopping a box leaves it allocated, unlike the delete above.
|
|
174
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${session.apiOrigin}/v1/boxes/${encodeURIComponent()}/stop`':
|
|
175
|
+
{ category: 'rnx_cloud_sim', count: 1 },
|
|
176
|
+
// the display grant is polled until the box hands one back; the body is
|
|
177
|
+
// empty, so the request carries no project or app data.
|
|
178
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${options.apiOrigin}/v1/boxes/${encodeURIComponent()}/display-grant`':
|
|
159
179
|
{ category: 'rnx_cloud_sim', count: 1 },
|
|
160
180
|
// `rnx remote` creates through the instance api and lists what it made.
|
|
161
181
|
// the create carries labels and wait=true in the query; the list filters
|
|
162
182
|
// by the remote label.
|
|
163
|
-
'packages/
|
|
164
|
-
category: 'rnx_cloud_sim',
|
|
165
|
-
count: 1,
|
|
166
|
-
},
|
|
167
|
-
'packages/sootsim/cli/cloud-client.ts :: fetch :: `${apiOrigin}/v1/sims?${selector}`': {
|
|
183
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${apiOrigin}/v1/sims?${query}`': {
|
|
168
184
|
category: 'rnx_cloud_sim',
|
|
169
185
|
count: 1,
|
|
170
186
|
},
|
|
187
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${apiOrigin}/v1/sims?${selector}`':
|
|
188
|
+
{
|
|
189
|
+
category: 'rnx_cloud_sim',
|
|
190
|
+
count: 1,
|
|
191
|
+
},
|
|
171
192
|
// rereading one simulator and deleting one by id share the route: the
|
|
172
193
|
// reattach probe reads with either credential and `rnx remote stop`
|
|
173
194
|
// deletes with the account credential.
|
|
174
|
-
'packages/
|
|
195
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${apiOrigin}/v1/sims/${encodeURIComponent()}`':
|
|
175
196
|
{ category: 'rnx_cloud_sim', count: 2 },
|
|
176
|
-
'packages/
|
|
197
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: `${this.session.apiOrigin}/v1/sims/${encodeURIComponent()}/commands`':
|
|
177
198
|
{ category: 'rnx_cloud_sim', count: 1 },
|
|
178
|
-
'packages/
|
|
199
|
+
'packages/peachsim/cli/cloud-client.ts :: fetch :: bundleUrl': {
|
|
179
200
|
category: 'guest_app_network',
|
|
180
201
|
count: 1,
|
|
181
202
|
},
|
|
182
|
-
|
|
203
|
+
// submitting a cloud test job (POST) and cancelling one (DELETE) share
|
|
204
|
+
// the jobs route: one destination, two call sites.
|
|
205
|
+
'packages/peachsim/cli/commands/test.ts :: fetch :: endpoint': {
|
|
183
206
|
category: 'contrast_user_action',
|
|
184
|
-
count:
|
|
207
|
+
count: 3,
|
|
185
208
|
},
|
|
186
|
-
'packages/
|
|
209
|
+
'packages/peachsim/cli/commands/test.ts :: fetch :: pollUrl': {
|
|
187
210
|
category: 'contrast_user_action',
|
|
188
211
|
count: 1,
|
|
189
212
|
},
|
|
213
|
+
// the live-dev-stack publisher fetches a cloudflared binary only when none
|
|
214
|
+
// is installed; the token proxy below it forwards to the user's own
|
|
215
|
+
// loopback dev server and sidecars, never anywhere remote.
|
|
216
|
+
'packages/peachsim/cli/cloud-test-tunnel.ts :: fetch :: `https://github.com/cloudflare/cloudflared/releases/latest/download/${asset}`':
|
|
217
|
+
{ category: 'tunnel_tool_download', count: 1 },
|
|
218
|
+
"packages/peachsim/cli/cloud-test-tunnel.ts :: node-request :: { host: '127.0.0.1', port: selectedPort, path: req.url, method: req.method, headers, }":
|
|
219
|
+
{ category: 'local_development', count: 1 },
|
|
190
220
|
// compiling a project's .swift sources needs a swift toolchain, so the
|
|
191
221
|
// bundler posts them to the app's own /api/swift-compile. it only fires with
|
|
192
222
|
// a compile credential and only for a project that has .swift sources.
|
|
193
|
-
'packages/
|
|
223
|
+
'packages/peachsim/src/swift-submit.ts :: fetch :: url': {
|
|
194
224
|
category: 'swift_compile',
|
|
195
225
|
count: 1,
|
|
196
226
|
},
|
|
197
|
-
'packages/
|
|
227
|
+
'packages/peachsim/src/cloud.ts :: fetch :: url': {
|
|
198
228
|
category: 'rnx_cloud_sim',
|
|
199
229
|
count: 1,
|
|
200
230
|
},
|
|
201
231
|
// maestro's flow `http` API. the url is whatever the flow author wrote, and
|
|
202
232
|
// it is fetched from a child process because that API is synchronous.
|
|
203
|
-
'packages/
|
|
233
|
+
'packages/peachsim/cli/internal-child.ts :: fetch :: request.url': {
|
|
204
234
|
category: 'guest_app_network',
|
|
205
235
|
count: 1,
|
|
206
236
|
},
|
|
207
237
|
// `rnx box create` uploads the checkout to the box service and then talks to
|
|
208
238
|
// it. the destination is whatever the user named; there is no default.
|
|
209
|
-
'packages/
|
|
239
|
+
'packages/peach-cloud-box/src/client.ts :: fetch :: endpointOf(base, name, verb, search)':
|
|
210
240
|
{
|
|
211
241
|
category: 'rnx_cloud_box',
|
|
212
242
|
count: 1,
|
|
213
243
|
},
|
|
214
|
-
'packages/
|
|
244
|
+
'packages/peach-cloud-box/src/client.ts :: websocket :: url': {
|
|
215
245
|
category: 'rnx_cloud_box',
|
|
216
246
|
count: 1,
|
|
217
247
|
},
|
|
@@ -219,38 +249,43 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
219
249
|
// the binding routes on path alone and ignores the host, so `browser.invalid`
|
|
220
250
|
// is a placeholder that exists only so URL can parse the search parameters.
|
|
221
251
|
// nothing leaves Cloudflare and no project content is sent.
|
|
222
|
-
'packages/
|
|
252
|
+
'packages/peach-cloud-box/src/browser-run.ts :: fetch :: sessionEndpoint(undefined, { keepAliveMs, includeTargets: true })':
|
|
223
253
|
{ category: 'rnx_cloud_box', count: 1 },
|
|
224
|
-
'packages/
|
|
254
|
+
'packages/peach-cloud-box/src/browser-run.ts :: fetch :: `https://browser.invalid/v1/devtools/browser/${sessionId}/json/list`':
|
|
225
255
|
{ category: 'rnx_cloud_box', count: 1 },
|
|
226
256
|
// twice: closing the session, and the CDP websocket upgrade that navigates a
|
|
227
257
|
// target. both address the same session over the same binding.
|
|
228
|
-
'packages/
|
|
258
|
+
'packages/peach-cloud-box/src/browser-run.ts :: fetch :: `https://browser.invalid/v1/devtools/browser/${sessionId}`':
|
|
229
259
|
{ category: 'rnx_cloud_box', count: 2 },
|
|
230
260
|
// the account's own session meter: starting, listing and heartbeating the
|
|
231
261
|
// session a cloud box is billed against. no project content.
|
|
232
|
-
"packages/
|
|
262
|
+
"packages/peach-cloud-box/src/client.ts :: fetch :: `${options.apiOrigin.replace(/\\/+$/, '')}/api/v1/rnx/sessions${ options.accountId ? `?accountId=${encodeURIComponent()}` : '' }`":
|
|
233
263
|
{ category: 'contrast_user_action', count: 1 },
|
|
234
|
-
'packages/
|
|
264
|
+
'packages/peach-cloud-box/src/client.ts :: fetch :: url': {
|
|
235
265
|
category: 'contrast_user_action',
|
|
236
266
|
count: 1,
|
|
237
267
|
},
|
|
238
268
|
// `rnx box connect` asks the account service which box that ID or name is
|
|
239
269
|
// and for the box's own token. the account is the only thing that knows, so
|
|
240
270
|
// this is the one call that turns a name into an authorized Box reference.
|
|
241
|
-
'packages/
|
|
271
|
+
'packages/peach-cloud-box/src/client.ts :: fetch :: connectUrl': {
|
|
242
272
|
category: 'contrast_user_action',
|
|
243
273
|
count: 1,
|
|
244
274
|
},
|
|
245
|
-
"packages/
|
|
275
|
+
"packages/peach-cloud-box/src/box-do.ts :: fetch :: `${origin}/api/v1/rnx/sessions${serviceAuthorized ? '/internal' : ''}`":
|
|
246
276
|
{ category: 'contrast_user_action', count: 1 },
|
|
247
|
-
"packages/
|
|
277
|
+
"packages/peach-cloud-box/src/box-do.ts :: fetch :: `${origin}/api/v1/rnx/sessions/${ serviceAuthority ? 'internal/' : '' }${encodeURIComponent()}${ accountId ? `?accountId=${encodeURIComponent()}` : '' }`":
|
|
248
278
|
{ category: 'contrast_user_action', count: 1 },
|
|
249
|
-
'packages/
|
|
279
|
+
'packages/peach-cloud-box/src/box-do.ts :: fetch :: `${origin}/api/v1/rnx/sessions/internal/${encodeURIComponent()}`':
|
|
280
|
+
{ category: 'contrast_user_action', count: 1 },
|
|
281
|
+
// stop and delete authorize the caller against the account before any
|
|
282
|
+
// teardown. the account service owns the verdict on a key, its scope and the
|
|
283
|
+
// account it names; no project content is sent.
|
|
284
|
+
'packages/peach-cloud-box/src/box-do.ts :: fetch :: `${origin}/api/v1/rnx/sessions?accountId=${encodeURIComponent()}&kind=box&status=running`':
|
|
250
285
|
{ category: 'contrast_user_action', count: 1 },
|
|
251
286
|
// the Cloudflare Worker forwards the already-authenticated request to the
|
|
252
287
|
// selected Durable Object in the same service.
|
|
253
|
-
'packages/
|
|
288
|
+
'packages/peach-cloud-box/src/worker.ts :: fetch :: request': {
|
|
254
289
|
category: 'same_origin_runtime',
|
|
255
290
|
count: 1,
|
|
256
291
|
},
|
|
@@ -258,7 +293,7 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
258
293
|
// this one refuses to guess a port, so it cannot reach anything but a bridge
|
|
259
294
|
// the user's own session is running; see the note on ws-bridge.ts below
|
|
260
295
|
// about splitting these if bridgeWsUrl ever returns a remote endpoint.
|
|
261
|
-
'packages/
|
|
296
|
+
'packages/peachsim/cli/commands/box/plane-share.ts :: websocket :: bridgeWsUrl(port)': {
|
|
262
297
|
category: 'local_development',
|
|
263
298
|
count: 2,
|
|
264
299
|
},
|
|
@@ -266,267 +301,276 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
266
301
|
category: 'runtime_delivery',
|
|
267
302
|
count: 2,
|
|
268
303
|
},
|
|
269
|
-
"packages/
|
|
304
|
+
"packages/peachsim/scripts/demo-app-registry.ts :: fetch :: 'http://localhost:1986/'": {
|
|
270
305
|
category: 'local_development',
|
|
271
306
|
count: 1,
|
|
272
307
|
},
|
|
273
|
-
'packages/
|
|
308
|
+
'packages/peachsim/scripts/dev-server-scanner.ts :: http.request :: { hostname, port, path, method, headers }':
|
|
274
309
|
{
|
|
275
310
|
category: 'local_development',
|
|
276
311
|
count: 1,
|
|
277
312
|
},
|
|
278
|
-
'packages/
|
|
313
|
+
'packages/peachsim/scripts/dev-server-scanner.ts :: sock.connect :: port': {
|
|
279
314
|
category: 'local_development',
|
|
280
315
|
count: 1,
|
|
281
316
|
},
|
|
282
|
-
'packages/
|
|
317
|
+
'packages/peachsim/scripts/smoke-cli-binary.ts :: fetch :: `http://127.0.0.1:${port}/healthz`':
|
|
283
318
|
{ category: 'local_development', count: 1 },
|
|
284
319
|
// the binary smoke's replacement-module probe against its own loopback server
|
|
285
|
-
'packages/
|
|
320
|
+
'packages/peachsim/scripts/smoke-cli-binary.ts :: fetch :: url': {
|
|
286
321
|
category: 'local_development',
|
|
287
322
|
count: 1,
|
|
288
323
|
},
|
|
289
|
-
'packages/
|
|
324
|
+
'packages/peach-engine/src/auth/openLogin.ts :: fetch :: `${CONTRAST_ORIGIN}/api/dev-login`':
|
|
325
|
+
{ category: 'contrast_user_action', count: 1 },
|
|
326
|
+
'packages/peach-engine/src/auth/shared-session.ts :: fetch :: `${CONTRAST_ORIGIN}/api/auth/me`':
|
|
290
327
|
{ category: 'contrast_user_action', count: 1 },
|
|
291
|
-
'packages/
|
|
328
|
+
'packages/peach-engine/src/auth/shared-session.ts :: fetch :: `${CONTRAST_ORIGIN}/api/preview/pair-token`':
|
|
292
329
|
{ category: 'contrast_user_action', count: 1 },
|
|
293
|
-
'packages/
|
|
330
|
+
'packages/peach-engine/src/auth/shared-session.ts :: fetch :: `${CONTRAST_ORIGIN}/api/auth/sign-out`':
|
|
294
331
|
{ category: 'contrast_user_action', count: 1 },
|
|
295
|
-
"packages/
|
|
332
|
+
"packages/peach-engine/src/billing/client.ts :: fetch :: apiUrl('/api/sootsim/billing/checkout')":
|
|
296
333
|
{ category: 'contrast_user_action', count: 1 },
|
|
297
|
-
'packages/
|
|
334
|
+
'packages/peach-engine/src/billing/client.ts :: fetch :: apiUrl(path)': {
|
|
298
335
|
category: 'contrast_user_action',
|
|
299
336
|
count: 3,
|
|
300
337
|
},
|
|
301
|
-
'packages/
|
|
338
|
+
'packages/peach-engine/src/demo/demo-share-register.ts :: fetch :: shareUrl': {
|
|
302
339
|
category: 'guest_app_network',
|
|
303
340
|
count: 1,
|
|
304
341
|
},
|
|
305
|
-
'packages/
|
|
342
|
+
'packages/peach-engine/src/engine/android-emoji-font.ts :: fetch :: url': {
|
|
306
343
|
category: 'same_origin_runtime',
|
|
307
344
|
count: 1,
|
|
308
345
|
},
|
|
309
|
-
'packages/
|
|
346
|
+
'packages/peach-engine/src/engine/app-font-loader.ts :: fetch :: manifestFetchUrl(origin)':
|
|
310
347
|
{ category: 'local_development', count: 1 },
|
|
311
|
-
'packages/
|
|
348
|
+
'packages/peach-engine/src/engine/app-font-registry.ts :: fetch :: resolvedUrl': {
|
|
312
349
|
category: 'guest_app_network',
|
|
313
350
|
count: 1,
|
|
314
351
|
},
|
|
315
|
-
'packages/
|
|
352
|
+
'packages/peach-engine/src/engine/config-plugin-splash-loader.ts :: fetch :: manifestFetchUrl(origin)':
|
|
316
353
|
{ category: 'local_development', count: 1 },
|
|
317
|
-
'packages/
|
|
354
|
+
'packages/peach-engine/src/engine/emoji-metrics-font-loader.ts :: fetch :: attemptedBundledUrl':
|
|
318
355
|
{ category: 'same_origin_runtime', count: 1 },
|
|
319
|
-
'packages/
|
|
356
|
+
'packages/peach-engine/src/engine/expo-app-config.ts :: fetch :: manifestFetchUrl(origin)':
|
|
320
357
|
{ category: 'local_development', count: 1 },
|
|
321
|
-
'packages/
|
|
358
|
+
'packages/peach-engine/src/engine/image-loader.ts :: fetch :: resolveImageFetchUri(uri)':
|
|
322
359
|
{ category: 'guest_app_network', count: 1 },
|
|
323
|
-
'packages/
|
|
360
|
+
'packages/peach-engine/src/engine/language-font-loader.ts :: fetch :: url': {
|
|
324
361
|
category: 'same_origin_runtime',
|
|
325
362
|
count: 1,
|
|
326
363
|
},
|
|
327
|
-
'packages/
|
|
364
|
+
'packages/peach-engine/src/engine/lottie-runtime.ts :: fetch :: descriptor.value': {
|
|
328
365
|
category: 'guest_app_network',
|
|
329
366
|
count: 2,
|
|
330
367
|
},
|
|
331
|
-
'packages/
|
|
368
|
+
'packages/peach-engine/src/android/material-symbol-catalog.ts :: fetch :: `${baseUrl}${asset}.json`':
|
|
369
|
+
{
|
|
370
|
+
category: 'same_origin_runtime',
|
|
371
|
+
count: 1,
|
|
372
|
+
},
|
|
373
|
+
'packages/peach-engine/src/ios/sf-symbol-catalog.ts :: fetch :: `${catalogBaseUrl}${asset}.json`':
|
|
332
374
|
{
|
|
333
375
|
category: 'same_origin_runtime',
|
|
334
376
|
count: 1,
|
|
335
377
|
},
|
|
336
|
-
'packages/
|
|
378
|
+
'packages/peach-engine/src/engine/system-font-extras.ts :: fetch :: url': {
|
|
337
379
|
category: 'same_origin_runtime',
|
|
338
380
|
count: 1,
|
|
339
381
|
},
|
|
340
|
-
'packages/
|
|
382
|
+
'packages/peach-engine/src/ExternalApp.tsx :: fetch :: getBundleProxyUrl(devServerUrl)':
|
|
341
383
|
{ category: 'guest_app_network', count: 1 },
|
|
342
|
-
'packages/
|
|
384
|
+
'packages/peach-engine/src/ExternalApp.tsx :: fetch :: requestUrl': {
|
|
343
385
|
category: 'guest_app_network',
|
|
344
386
|
count: 1,
|
|
345
387
|
},
|
|
346
|
-
'packages/
|
|
388
|
+
'packages/peach-engine/src-electron/tray.ts :: client.get :: parsed': {
|
|
347
389
|
category: 'guest_app_network',
|
|
348
390
|
count: 1,
|
|
349
391
|
},
|
|
350
|
-
'packages/
|
|
392
|
+
'packages/peach-engine/src/mcp/ws-bridge.ts :: fetch :: bridgeHealthUrl': {
|
|
351
393
|
category: 'local_development',
|
|
352
394
|
count: 1,
|
|
353
395
|
},
|
|
354
|
-
'packages/
|
|
396
|
+
'packages/peach-engine/src/mcp/ws-bridge.ts :: websocket :: resolveSootsimBridgeWebSocketUrl({ bridgePort, href: window.location.href, })':
|
|
355
397
|
{ category: 'local_development', count: 1 },
|
|
356
|
-
'packages/
|
|
398
|
+
'packages/peach-engine/src/remote-stream/browser-tenant-proxy.ts :: websocket :: this.config.url':
|
|
357
399
|
{ category: 'remote_display_server', count: 1 },
|
|
358
|
-
'packages/
|
|
400
|
+
'packages/peach-engine/src/menu/menuActions.ts :: fetch :: screenshot': {
|
|
359
401
|
category: 'guest_app_network',
|
|
360
402
|
count: 1,
|
|
361
403
|
},
|
|
362
|
-
'packages/
|
|
404
|
+
'packages/peach-engine/src/preview/fetch-recorder.ts :: fetch :: absolute': {
|
|
363
405
|
category: 'guest_app_network',
|
|
364
406
|
count: 2,
|
|
365
407
|
},
|
|
366
408
|
// the path is a parameter so one uploader serves both callers: recordings use
|
|
367
409
|
// /api/preview/upload/{init,finalize} (the default) and `rnx preview` passes
|
|
368
410
|
// /api/v1/previews{,/finalize}. both are first-party contrast endpoints.
|
|
369
|
-
'packages/
|
|
411
|
+
'packages/peach-engine/src/preview/presigned-upload.ts :: fetch :: `${origin}${endpoints.finalize}`':
|
|
370
412
|
{ category: 'contrast_user_action', count: 1 },
|
|
371
|
-
'packages/
|
|
413
|
+
'packages/peach-engine/src/preview/presigned-upload.ts :: fetch :: `${origin}${endpoints.init}`':
|
|
372
414
|
{ category: 'contrast_user_action', count: 1 },
|
|
373
|
-
'packages/
|
|
415
|
+
'packages/peach-engine/src/preview/presigned-upload.ts :: fetch :: job.url': {
|
|
374
416
|
category: 'presigned_upload',
|
|
375
417
|
count: 1,
|
|
376
418
|
},
|
|
377
|
-
'packages/
|
|
419
|
+
'packages/peach-engine/src/preview/warm-bundle-cache.ts :: fetch :: url': {
|
|
378
420
|
category: 'guest_app_network',
|
|
379
421
|
count: 1,
|
|
380
422
|
},
|
|
381
|
-
"packages/
|
|
423
|
+
"packages/peach-engine/src/projects/projects-persistence.ts :: fetch :: '/__sootsim/shared-config'":
|
|
382
424
|
{ category: 'same_origin_runtime', count: 1 },
|
|
383
|
-
'packages/
|
|
425
|
+
'packages/peach-engine/src/react-native/index.ts :: fetch :: resource': {
|
|
384
426
|
category: 'guest_app_network',
|
|
385
427
|
count: 1,
|
|
386
428
|
},
|
|
387
|
-
'packages/
|
|
429
|
+
'packages/peach-engine/src/react-native/Keyboard.ts :: fetch :: url': {
|
|
388
430
|
category: 'guest_app_network',
|
|
389
431
|
count: 1,
|
|
390
432
|
},
|
|
391
|
-
'packages/
|
|
433
|
+
'packages/peach-engine/src/render-worker/canvaskit-shared.ts :: fetch :: fontUrl': {
|
|
392
434
|
category: 'same_origin_runtime',
|
|
393
435
|
count: 1,
|
|
394
436
|
},
|
|
395
|
-
'packages/
|
|
437
|
+
'packages/peach-engine/src/render-worker/canvaskit-shared.ts :: fetch :: pipelineCacheUrl':
|
|
396
438
|
{ category: 'same_origin_runtime', count: 1 },
|
|
397
|
-
'packages/
|
|
439
|
+
'packages/peach-engine/src/render-worker/canvaskit-shared.ts :: fetch :: wasmUrl': {
|
|
398
440
|
category: 'same_origin_runtime',
|
|
399
441
|
count: 1,
|
|
400
442
|
},
|
|
401
443
|
// the cpu simulator iframe document's dedicated worker loads the headless
|
|
402
444
|
// canvaskit wasm and the font and asset manifests from the page's own
|
|
403
445
|
// `/deps-native/engine-assets/` directory.
|
|
404
|
-
'packages/
|
|
446
|
+
'packages/peach-engine/src/headless/browser-tenant-worker.ts :: fetch :: new URL(name, assetBase).href':
|
|
405
447
|
{ category: 'same_origin_runtime', count: 1 },
|
|
406
448
|
// hashes its own delivered script to identify the engine to display clients.
|
|
407
|
-
'packages/
|
|
449
|
+
'packages/peach-engine/src/headless/browser-tenant-worker.ts :: fetch :: workerSourceUrl':
|
|
408
450
|
{ category: 'same_origin_runtime', count: 1 },
|
|
409
451
|
// the tenant build's built-in app chunk prefetch list and the chunk bodies
|
|
410
452
|
// it names, resolved against the worker chunk's own url.
|
|
411
|
-
'packages/
|
|
453
|
+
'packages/peach-engine/src/render-worker/app-in-worker.tsx :: fetch :: listUrl': {
|
|
412
454
|
category: 'same_origin_runtime',
|
|
413
455
|
count: 1,
|
|
414
456
|
},
|
|
415
|
-
'packages/
|
|
457
|
+
'packages/peach-engine/src/render-worker/app-in-worker.tsx :: fetch :: new URL(file, listUrl)':
|
|
416
458
|
{ category: 'same_origin_runtime', count: 1 },
|
|
417
|
-
'packages/
|
|
459
|
+
'packages/peach-engine/src/render-worker/host.ts :: fetch :: msg.fallbackUrl': {
|
|
418
460
|
category: 'guest_app_network',
|
|
419
461
|
count: 1,
|
|
420
462
|
},
|
|
421
|
-
'packages/
|
|
463
|
+
'packages/peach-engine/src/render-worker/video-host.ts :: fetch :: uri': {
|
|
422
464
|
category: 'guest_app_network',
|
|
423
465
|
count: 1,
|
|
424
466
|
},
|
|
425
|
-
'packages/
|
|
467
|
+
'packages/peach-engine/src/render-worker/worker-font-loader.ts :: fetch :: url': {
|
|
426
468
|
category: 'same_origin_runtime',
|
|
427
469
|
count: 1,
|
|
428
470
|
},
|
|
429
|
-
'packages/
|
|
471
|
+
'packages/peach-engine/src/render-worker/worker-handlers/lifecycle.ts :: fetch :: url':
|
|
430
472
|
{ category: 'guest_app_network', count: 1 },
|
|
431
|
-
'packages/
|
|
473
|
+
'packages/peach-engine/src/screenshots/capture-store.ts :: fetch :: cap.dataUrl': {
|
|
432
474
|
category: 'same_origin_runtime',
|
|
433
475
|
count: 1,
|
|
434
476
|
},
|
|
435
|
-
'packages/
|
|
477
|
+
'packages/peach-engine/src/menu/menuActions.ts :: fetch :: `http://127.0.0.1:${port}/__send-to-box`':
|
|
436
478
|
{ category: 'local_development', count: 1 },
|
|
437
|
-
"packages/
|
|
479
|
+
"packages/peach-engine/src/screenshots/capture-store.ts :: fetch :: captureApiUrl(ref, 'grid')":
|
|
438
480
|
{ category: 'contrast_user_action', count: 1 },
|
|
439
|
-
'packages/
|
|
481
|
+
'packages/peach-engine/src/screenshots/capture-store.ts :: fetch :: captureApiUrl(ref, variant)':
|
|
440
482
|
{ category: 'contrast_user_action', count: 1 },
|
|
441
|
-
'packages/
|
|
483
|
+
'packages/peach-engine/src/screenshots/capture-store.ts :: fetch :: captureApiUrl(ref)':
|
|
442
484
|
{ category: 'contrast_user_action', count: 1 },
|
|
443
|
-
"packages/
|
|
485
|
+
"packages/peach-engine/src/server-discovery.ts :: fetch :: '/__server-scan'": {
|
|
444
486
|
category: 'local_development',
|
|
445
487
|
count: 1,
|
|
446
488
|
},
|
|
447
|
-
'packages/
|
|
448
|
-
|
|
449
|
-
|
|
489
|
+
'packages/peach-engine/src/server-discovery.ts :: fetch :: `${gatewayOrigin}/__scan`': {
|
|
490
|
+
category: 'local_development',
|
|
491
|
+
count: 1,
|
|
492
|
+
},
|
|
493
|
+
"packages/peach-engine/src/settings/persistence.ts :: fetch :: '/__sootsim/shared-config'":
|
|
450
494
|
{ category: 'same_origin_runtime', count: 2 },
|
|
451
|
-
'packages/
|
|
495
|
+
'packages/peachsim/cli/app-fonts.ts :: fetch :: `${origin}/`': {
|
|
452
496
|
category: 'local_development',
|
|
453
497
|
count: 1,
|
|
454
498
|
},
|
|
455
|
-
'packages/
|
|
499
|
+
'packages/peachsim/cli/app-fonts.ts :: fetch :: url': {
|
|
456
500
|
category: 'local_development',
|
|
457
501
|
count: 1,
|
|
458
502
|
},
|
|
459
|
-
'packages/
|
|
503
|
+
'packages/peachsim/cli/app-splash.ts :: fetch :: url': {
|
|
460
504
|
category: 'local_development',
|
|
461
505
|
count: 1,
|
|
462
506
|
},
|
|
463
|
-
'packages/
|
|
507
|
+
'packages/peachsim/cli/commands/control.ts :: fetch :: imageUrl': {
|
|
464
508
|
category: 'local_development',
|
|
465
509
|
count: 1,
|
|
466
510
|
},
|
|
467
|
-
'packages/
|
|
511
|
+
'packages/peachsim/cli/commands/control.ts :: fetch :: spec.url': {
|
|
468
512
|
category: 'local_development',
|
|
469
513
|
count: 1,
|
|
470
514
|
},
|
|
471
|
-
'packages/
|
|
515
|
+
'packages/peachsim/cli/commands/control.ts :: websocket :: `ws://127.0.0.1:${port}`': {
|
|
472
516
|
category: 'local_development',
|
|
473
517
|
count: 1,
|
|
474
518
|
},
|
|
475
|
-
'packages/
|
|
519
|
+
'packages/peachsim/cli/commands/cpu-profile.ts :: fetch :: `http://localhost:${cdpPort}/json/list`':
|
|
476
520
|
{ category: 'local_development', count: 1 },
|
|
477
|
-
'packages/
|
|
521
|
+
'packages/peachsim/cli/commands/cpu-profile.ts :: websocket :: wsUrl': {
|
|
478
522
|
category: 'local_development',
|
|
479
523
|
count: 1,
|
|
480
524
|
},
|
|
481
|
-
'packages/
|
|
525
|
+
'packages/peachsim/cli/commands/install-desktop.ts :: fetch :: url': {
|
|
482
526
|
category: 'electron_download',
|
|
483
527
|
count: 1,
|
|
484
528
|
},
|
|
485
|
-
"packages/
|
|
529
|
+
"packages/peachsim/cli/commands/login.ts :: fetch :: `${origin.replace(/\\/$/, '')}/api/dev-login`":
|
|
486
530
|
{ category: 'local_development', count: 1 },
|
|
487
|
-
"packages/
|
|
531
|
+
"packages/peachsim/cli/commands/logout.ts :: fetch :: `${current.origin.replace(/\\/$/, '')}/api/auth/sign-out`":
|
|
488
532
|
{ category: 'contrast_user_action', count: 1 },
|
|
489
|
-
"packages/
|
|
533
|
+
"packages/peachsim/cli/commands/maestro-generate.ts :: fetch :: `${args.origin.replace(/\\/$/, '')}/api/llm`":
|
|
490
534
|
{ category: 'contrast_user_action', count: 1 },
|
|
491
|
-
'packages/
|
|
535
|
+
'packages/peachsim/cli/commands/report-issue.ts :: fetch :: url': {
|
|
492
536
|
category: 'contrast_user_action',
|
|
493
537
|
count: 1,
|
|
494
538
|
},
|
|
495
|
-
'packages/
|
|
539
|
+
'packages/peachsim/cli/commands/runtime.ts :: websocket :: `ws://127.0.0.1:${port}`': {
|
|
496
540
|
category: 'local_development',
|
|
497
541
|
count: 1,
|
|
498
542
|
},
|
|
499
|
-
'packages/
|
|
543
|
+
'packages/peachsim/cli/commands/screenshots-capture.ts :: fetch :: `${apiOrigin}/api/sootsim/screenshot-capture?ref=${encodeURIComponent()}&org=${encodeURIComponent()}`':
|
|
500
544
|
{ category: 'contrast_user_action', count: 1 },
|
|
501
|
-
'packages/
|
|
545
|
+
'packages/peachsim/cli/commands/screenshots-capture.ts :: fetch :: `${apiOrigin}/api/sootsim/screenshot-decks?org=${encodeURIComponent()}&repo=${encodeURIComponent()}`':
|
|
502
546
|
{ category: 'contrast_user_action', count: 1 },
|
|
503
|
-
'packages/
|
|
547
|
+
'packages/peachsim/cli/cli-update.ts :: fetch :: url': {
|
|
504
548
|
category: 'cli_delivery',
|
|
505
549
|
count: 1,
|
|
506
550
|
},
|
|
507
|
-
'packages/
|
|
551
|
+
'packages/peachsim/scripts/publish-cli-binaries.ts :: fetch :: `${url}?sha256=${digest}`':
|
|
508
552
|
{
|
|
509
553
|
category: 'cli_release_publish',
|
|
510
554
|
count: 1,
|
|
511
555
|
},
|
|
512
|
-
'packages/
|
|
556
|
+
'packages/peachsim/scripts/publish-cli-binaries.ts :: fetch :: `${publicOrigin}/${channelKey}?sourceSha=${sourceSha}`':
|
|
513
557
|
{
|
|
514
558
|
category: 'cli_release_publish',
|
|
515
559
|
count: 1,
|
|
516
560
|
},
|
|
517
|
-
'packages/
|
|
561
|
+
'packages/peachsim/cli/commands/upload.ts :: fetch :: url': {
|
|
518
562
|
category: 'presigned_upload',
|
|
519
563
|
count: 1,
|
|
520
564
|
},
|
|
521
|
-
'packages/
|
|
565
|
+
'packages/peachsim/cli/recording-access.ts :: fetch :: `${billingOrigin}/api/sootsim/billing/subscription`':
|
|
522
566
|
{ category: 'contrast_user_action', count: 1 },
|
|
523
|
-
"packages/
|
|
567
|
+
"packages/peachsim/cli/run-registry.ts :: fetch :: `${args.origin.replace(/\\/$/, '')}/api/sootsim/test-runs`":
|
|
524
568
|
{ category: 'contrast_user_action', count: 1 },
|
|
525
|
-
'packages/
|
|
569
|
+
'packages/peachsim/cli/runtime-notes.ts :: fetch-alias :: url': {
|
|
526
570
|
category: 'release_notes',
|
|
527
571
|
count: 1,
|
|
528
572
|
},
|
|
529
|
-
'packages/
|
|
573
|
+
'packages/peachsim/cli/telemetry.ts :: fetch :: `${config.host}/batch/`': {
|
|
530
574
|
category: 'bounded_diagnostics',
|
|
531
575
|
count: 1,
|
|
532
576
|
},
|
|
@@ -535,39 +579,39 @@ export const DECLARED_OUTBOUND_CALLS: Record<string, OutboundCallDeclaration> =
|
|
|
535
579
|
// when a cloud box makes it return a remote wss:// endpoint, that egress
|
|
536
580
|
// would land under this same local_development entry and go unnoticed. split
|
|
537
581
|
// the declaration then, rather than letting one line cover both.
|
|
538
|
-
'packages/
|
|
582
|
+
'packages/peachsim/cli/ws-bridge.ts :: websocket :: bridgeWsUrl(wsPort)': {
|
|
539
583
|
category: 'local_development',
|
|
540
584
|
count: 1,
|
|
541
585
|
},
|
|
542
|
-
'packages/
|
|
586
|
+
'packages/peachsim/src/agent-daemon-client.ts :: socket.connect :: port': {
|
|
543
587
|
category: 'local_development',
|
|
544
588
|
count: 1,
|
|
545
589
|
},
|
|
546
|
-
'packages/
|
|
590
|
+
'packages/peachsim/src/agent-daemon-client.ts :: websocket :: `ws://127.0.0.1:${this.port}`':
|
|
547
591
|
{ category: 'local_development', count: 1 },
|
|
548
|
-
"packages/
|
|
592
|
+
"packages/peachsim/src/auth/shared-session.ts :: fetch :: `${origin.replace(/\\/$/, '')}/api/auth/me`":
|
|
549
593
|
{ category: 'contrast_user_action', count: 1 },
|
|
550
|
-
"packages/
|
|
594
|
+
"packages/peachsim/src/dev-bundle-resolution.ts :: fetch :: '/__server-scan'": {
|
|
551
595
|
category: 'local_development',
|
|
552
596
|
count: 1,
|
|
553
597
|
},
|
|
554
|
-
'packages/
|
|
598
|
+
'packages/peachsim/src/dev-bundle-resolution.ts :: fetch :: `/__fetch-proxy?url=${encodeURIComponent()}`':
|
|
555
599
|
{ category: 'guest_app_network', count: 1 },
|
|
556
|
-
'packages/
|
|
600
|
+
'packages/peachsim/src/dev-bundle-resolution.ts :: fetch :: targetUrl': {
|
|
557
601
|
category: 'guest_app_network',
|
|
558
602
|
count: 1,
|
|
559
603
|
},
|
|
560
|
-
'packages/
|
|
604
|
+
'packages/peachsim/src/dev-server-open.ts :: http.get :: `http://127.0.0.1:${port}/__server-scan`':
|
|
561
605
|
{ category: 'local_development', count: 1 },
|
|
562
|
-
"packages/
|
|
606
|
+
"packages/peachsim/src/host/fetch-proxy-handler.ts :: transport.request :: { hostname: normalizeHostname(targetUrl.hostname), port: targetUrl.port || (targetUrl.protocol === 'https:' ? 443 : 80), path: targetUrl.pathname + targetUrl.search, method, headers: targetHeaders, ...loopbackTlsOptions(targetUrl), }":
|
|
563
607
|
{ category: 'guest_app_network', count: 1 },
|
|
564
|
-
"packages/
|
|
608
|
+
"packages/peachsim/src/host/fetch-proxy-handler.ts :: transport.request :: { hostname: normalizeHostname(targetUrl.hostname), port: targetUrl.port || (targetUrl.protocol === 'https:' ? 443 : 80), path: targetUrl.pathname + targetUrl.search, method: req.method, headers: fwdHeaders, ...loopbackTlsOptions(targetUrl), }":
|
|
565
609
|
{ category: 'guest_app_network', count: 1 },
|
|
566
|
-
'packages/
|
|
610
|
+
'packages/peachsim/src/host/websocket-proxy.ts :: node-request :: upstreamRequestUrl': {
|
|
567
611
|
category: 'guest_app_network',
|
|
568
612
|
count: 1,
|
|
569
613
|
},
|
|
570
|
-
'packages/
|
|
614
|
+
'packages/peachsim/src/screenshots/org-deck.ts :: fetch :: url': {
|
|
571
615
|
category: 'contrast_user_action',
|
|
572
616
|
count: 1,
|
|
573
617
|
},
|
|
@@ -765,20 +809,27 @@ function callKind(
|
|
|
765
809
|
|
|
766
810
|
function firstArgument(node: CallExpression | NewExpression, source: string): string {
|
|
767
811
|
const first = node.arguments[0]
|
|
768
|
-
return
|
|
769
|
-
|
|
770
|
-
|
|
812
|
+
if (!first) return '<none>'
|
|
813
|
+
const text = source.slice(first.start, first.end).replace(/\s+/g, ' ').trim()
|
|
814
|
+
// the key is source text, so renaming a local used as a path id used to change
|
|
815
|
+
// it and red main on a commit that moved no destination. what justifies erasing
|
|
816
|
+
// the argument to encodeURIComponent is that it is a local NAME rather than a
|
|
817
|
+
// destination, not that it is a path segment: at dev-bundle-resolution.ts and
|
|
818
|
+
// backend-origin.ts the argument is a whole target url behind a proxy path. a
|
|
819
|
+
// name carries no destination either way, so erasing it loses nothing, while
|
|
820
|
+
// the host expression and the path itself still have to be re-declared.
|
|
821
|
+
return text.replace(/encodeURIComponent\([^()]*\)/g, 'encodeURIComponent()')
|
|
771
822
|
}
|
|
772
823
|
|
|
773
824
|
export function detectOutboundCalls(repositoryRoot: string): DetectedOutboundCall[] {
|
|
774
825
|
const roots = [
|
|
775
|
-
path.join(repositoryRoot, 'packages/
|
|
776
|
-
path.join(repositoryRoot, 'packages/
|
|
777
|
-
path.join(repositoryRoot, 'packages/
|
|
778
|
-
path.join(repositoryRoot, 'packages/
|
|
779
|
-
path.join(repositoryRoot, 'packages/
|
|
826
|
+
path.join(repositoryRoot, 'packages/peachsim/cli'),
|
|
827
|
+
path.join(repositoryRoot, 'packages/peachsim/scripts'),
|
|
828
|
+
path.join(repositoryRoot, 'packages/peachsim/src'),
|
|
829
|
+
path.join(repositoryRoot, 'packages/peach-engine/src'),
|
|
830
|
+
path.join(repositoryRoot, 'packages/peach-engine/src-electron'),
|
|
780
831
|
path.join(repositoryRoot, 'packages/contrast-runtime-delivery/src'),
|
|
781
|
-
path.join(repositoryRoot, 'packages/
|
|
832
|
+
path.join(repositoryRoot, 'packages/peach-cloud-box/src'),
|
|
782
833
|
]
|
|
783
834
|
const counts = new Map<string, number>()
|
|
784
835
|
for (const file of roots.flatMap(sourceFilesUnder)) {
|