You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move the first sandbox process into a supplied ProviderStartupCommand. Native start and the sleep infinity resume path run that command. Native confirmation accepts that argv or the stable supervisor after exec. The SDK shell-quotes each argument. Vercel runs the argv directly and receives an explicit runtime PATH.
preinstalledStartup() supplies the current supervisor. The Sandbox DO passes one command to the initial and image-fallback launches. This is PR 1 of the approved runtime stack; its base is main. No downloaded mode or release caller exists here.
Verification
No manual provider session ran. No real provider target is authorized. Adapter contract tests execute the captured command locally, including spaces, empty arguments, quotes and shell metacharacters. Native tests cover image start, repository restore, stable supervisor transition and the sleep-PID1 exec path.
Visual Changes
N/A
Reviewer Notes
Automated checks:
Worker and wrapper typecheck passed.
488 focused unit tests passed.
465 unique Worker integration tests are covered. One missed fixture override was corrected; its 66-test routes suite passed on rerun.
Service lint passed across 709 files. Changed-file formatting and diff checks passed.
The wrapper suite had 1218 passes, 19 skips and one fixed-window reconnect failure during dependency setup. That exact test passed on a focused retry after setup ended. Wrapper source is unchanged.
Local matrix rows proved: adapter argv mapping, native entrypoint and sleep-resume ordering, repository restore command selection, billing and containment propagation, wrapper hello/Stop and route lifecycle behavior over fake provider backends.
Still needs an authorized provider: native Cloudflare cold start/preview/billing acceptance, real Vercel login-profile and slow-first-hello parity, and real SDK startup. Local process execution and Worker fakes do not prove hosted provider behavior.
Scope follows Revision 5 sections 3.1 and 4.1. The independent B1 snapshot image fix is #7914.
Reviewed the ProviderStartupCommand refactor across the provider adapters, Sandbox Containers DO, and Sandbox Control DO; the changed lines preserve existing preinstalled behavior (argv equals the supervisor) and are consistently threaded through every call site.
Verified: every changed ProviderAdapter.launch, launchWrapper, startOptions, startWrapper, awaitWrapperExec, observeMainProcess, and readMainProcessIdentity call site passes the new command argument in the correct position, so egressAllowlist/snapshotId are not shifted. The shell-quoted Cloudflare invocation uses the same shellQuote helper already used by workspace.ts, the Vercel PATH injection matches the snapshot install locations in scripts/vercel-snapshot.ts (/usr/local/bin), and removed CONTROL_SUPERVISOR_PATH imports are now unused in the touched files. No memory-leak vector (listeners, timers, unbounded collections) is introduced on the changed lines. Not verifiable locally: real Vercel/Cloudflare-natives hosted behavior, which the PR itself lists as an outstanding authorized-provider gap.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Move the first sandbox process into a supplied
ProviderStartupCommand. Native start and thesleep infinityresume path run that command. Native confirmation accepts that argv or the stable supervisor after exec. The SDK shell-quotes each argument. Vercel runs the argv directly and receives an explicit runtime PATH.preinstalledStartup()supplies the current supervisor. The Sandbox DO passes one command to the initial and image-fallback launches. This is PR 1 of the approved runtime stack; its base is main. No downloaded mode or release caller exists here.Verification
No manual provider session ran. No real provider target is authorized. Adapter contract tests execute the captured command locally, including spaces, empty arguments, quotes and shell metacharacters. Native tests cover image start, repository restore, stable supervisor transition and the sleep-PID1 exec path.
Visual Changes
N/A
Reviewer Notes
Automated checks:
Local matrix rows proved: adapter argv mapping, native entrypoint and sleep-resume ordering, repository restore command selection, billing and containment propagation, wrapper hello/Stop and route lifecycle behavior over fake provider backends.
Still needs an authorized provider: native Cloudflare cold start/preview/billing acceptance, real Vercel login-profile and slow-first-hello parity, and real SDK startup. Local process execution and Worker fakes do not prove hosted provider behavior.
Scope follows Revision 5 sections 3.1 and 4.1. The independent B1 snapshot image fix is #7914.