feat(mcp): job_wait, write_file as user, leaner outputs - #160
Merged
Merged
Conversation
|
Warning Review limit reachedNext included review available in 12 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (19)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Jobs: job_status omits exit_code until exit, job_wait blocks and returns the output tail, list_jobs carries state, job_kill on a non-running job reports its state instead of signaling. Guest tools: missing paths answer not_found and permission failures access_denied; unknown job ids answer not_found, malformed ones usage. write_file now writes as the ssh user, takes parents, and takes as_root, which needs exec access. update validates recipe names, works on running VMs and reports pending_restart; VM health is not ok while a recipe is unapplied. create documents mode values and defaults. Outputs: write_file, destroy, wait, stat, list_dir, logs, list_recipes and svc_status return leaner or more parseable results. Signed-off-by: NovusEdge <novusedge0@gmail.com>
NovusEdge
force-pushed
the
qol/mcp-tools
branch
from
September 29, 2026 18:34
b5442cb to
ca1df19
Compare
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.
MCP quality-of-life changes from the agent audit (items 4, 5, 7, 8, 9, 10, 12, 15).
Behaviour change:
write_filenow writes as the guest ssh user, not root. Files under the user's home now belong to that user. Paths only root can write fail withaccess_denied.as_root=truerestores the old behaviour and needsagent_access = exec; atmanageit is refused withaccess_denied. Noted in the tool description, docs and CHANGELOG.Other changes:
job_status/list_jobs:exit_codeonly once exited;list_jobshasstate(unknown when guest files are gone). Newjob_wait.job_killon a non-running job returns its state withsignaled:false.not_found, EACCES toaccess_denied; unknown job idnot_found, malformedusage.write_file:parents, returns{path, bytes, mode}; append keeps the file mode unless one is passed.update: unknown recipe isnot_found;pending_restart; description no longer says stopped VM. VM health is notokwhile a configured recipe is unapplied (core/vm.go).createdescription states mode values and ram/cpu/disk defaults (built from core constants). A cloud image refuses a non-cloud mode rather than ignoring it, so the text says that.destroy,wait(healthy only after healthy=true), octal mode and owner instat/list_dir(basenames), ANSI and CR stripped fromlogs,list_recipesdrops health scripts (has_health;recipe_schemahas the script),svc_statusadds active/enabled.Tested with unit tests on the ssh fake; no VM was booted. Live checks needed: job_wait against a real job, list_jobs state after a reboot, write_file as user and as_root on a real guest (ownership), svc_status enabled on alpine and systemd guests, stat owner format on busybox, console log stripping on real output.