feat(client): serve getEnvs over runner IPC#449
Merged
Conversation
This was referenced Jun 13, 2026
Member
Author
This was referenced Jun 13, 2026
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 11:11
2f508b0 to
e078bf2
Compare
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
2 times, most recently
from
June 13, 2026 14:22
51a8c0c to
ce0d262
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
2 times, most recently
from
June 13, 2026 14:27
6e58a88 to
01ea610
Compare
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
2 times, most recently
from
June 13, 2026 14:37
93cfb02 to
b77c960
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 14:37
01ea610 to
399692e
Compare
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
from
June 13, 2026 15:58
b77c960 to
aef9617
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 15:58
399692e to
25a3219
Compare
wan9chi
marked this pull request as ready for review
June 13, 2026 15:59
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
from
June 13, 2026 16:01
aef9617 to
fee0f27
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 16:01
25a3219 to
97aa3f0
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 25a3219ef2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
from
June 13, 2026 16:03
fee0f27 to
67b6aa2
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 16:03
97aa3f0 to
32ac35f
Compare
wan9chi
force-pushed
the
infra-get-env-fingerprint
branch
from
June 13, 2026 16:09
67b6aa2 to
f61eaac
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 16:09
32ac35f to
ae0eb9d
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 13, 2026 17:18
ae0eb9d to
de59cd5
Compare
wan9chi
force-pushed
the
graphite-base/449
branch
from
June 14, 2026 08:48
0cae90a to
fb19a12
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 08:48
930e359 to
21b2fc2
Compare
wan9chi
changed the base branch from
graphite-base/449
to
infra-get-env-tracked-option
June 14, 2026 08:48
wan9chi
changed the base branch from
infra-get-env-tracked-option
to
graphite-base/449
June 14, 2026 09:13
wan9chi
force-pushed
the
graphite-base/449
branch
from
June 14, 2026 09:13
fb19a12 to
b319c60
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 09:13
21b2fc2 to
05ac2d2
Compare
wan9chi
force-pushed
the
graphite-base/449
branch
from
June 14, 2026 09:49
b319c60 to
ded4204
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 09:49
05ac2d2 to
a25bdcd
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 10:03
a25bdcd to
2ad156b
Compare
wan9chi
force-pushed
the
graphite-base/449
branch
from
June 14, 2026 10:03
ded4204 to
34a7ac1
Compare
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 10:08
2ad156b to
b54a4e1
Compare
wan9chi
force-pushed
the
graphite-base/449
branch
from
June 14, 2026 10:08
34a7ac1 to
377cc3d
Compare
Motivation: Tools need a bulk env read path for APIs like Vite loadEnv that discover an env prefix rather than a single name. Before this change, getEnvs existed on the JS surface but always returned an empty match set. Scope: Add the GetEnvs request/response frame, Rust client support, NAPI getEnvs implementation, server-side env glob matching, invalid-glob error surfacing, and print-only e2e coverage. This PR intentionally does not add getEnvs match sets to cache fingerprints. Verification: - cargo test -p vite_task_server --test integration - UPDATE_SNAPSHOTS=1 cargo test -p vite_task_bin --test e2e_snapshots fetch_envs_reads_match_set -- --ignored - cargo test -p vite_task_bin --test e2e_snapshots fetch_envs_reads_match_set -- --ignored
wan9chi
force-pushed
the
infra-get-envs-ipc
branch
from
June 14, 2026 10:08
b54a4e1 to
3752763
Compare
Member
Author
This was referenced Jun 14, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Motivation
Tools need a bulk env read path for APIs like Vite
loadEnv, which discover envs by prefix rather than by a single name. Before this slice,getEnvsexisted on the JS surface but returned an empty match set.Scope
Add the
GetEnvsprotocol frame, Rust client support, NAPIgetEnvsimplementation, server-side env glob matching, invalid-glob error surfacing, and print-only e2e coverage. The NAPI boundary now errors if a matched env name or value cannot be represented as UTF-8 instead of silently dropping it.This PR intentionally does not add
getEnvsmatch sets to cache fingerprints and does not add thetrackedoption. Those are later PRs in the stack.Verification
cargo test -p vite_task_server --test integrationUPDATE_SNAPSHOTS=1 cargo test -p vite_task_bin --test e2e_snapshots fetch_envs_reads_match_set -- --ignoredcargo test -p vite_task_bin --test e2e_snapshots fetch_envs_reads_match_set -- --ignoredcargo clippy --locked --all-targets --all-features -- -D warnings