Repository navigation
fix(orchestrate): stage the agent's dependencies where npx hoists them - #8
Merged
Merged
Conversation
Under npx, perfkit's dependencies sit beside it in npx's node_modules, not inside it, so the agent upload failed with 'dependency commander is not installed'. Dependencies are now found the way Node resolves them: the nearest node_modules in the package's directory or any parent.
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.
The second DigitalOcean run (fonoster/routr Benchmarks run 41757164731) created the droplets and then failed with
perfkit: dependency commander is not installed in /home/runner/.npm/_npx/…/node_modules/perfkit. Teardown deleted everything; 0 droplets remain.Under npx, perfkit's dependencies are hoisted beside it in npx's
node_modules, not nested inside it.stageAgentPackagelooked only inside, so it couldn't find them. It now finds each dependency the way Node resolves it: the nearestnode_modulesin the package's directory or any parent. The new tests cover the nested layout, the npx-hoisted layout (with a transitive dependency) and a missing dependency. Version 0.1.2.Verified with the exact failing path:
npx -y npm@11 exec --package=github:fonoster/perfkit#<this branch> -- perfkit run --localon examples/minimal.🤖 Generated with Claude Code