fabric-exec
fabric_exec — core reference
One type-checked TS program in a fresh executor (isolated QuickJS by default). Only the return value reaches the model; print()/console.log go to the activity panel. π is not a tool.
pi core tools (full code mode only)
pi.<tool>(arg) — single arg: bare string (primary field) or options object. Multi-arg positional calls are accepted for grep/find (pattern, path, limit), write (path, content), and edit (path, oldText, newText); one-field tools (read/bash/ls) stay single-arg — a 2-arg call on those is a type error so the extra arg isn't silently dropped.
| Tool | Form | Returns |
|---|---|---|
read |
path | {path,offset?,limit?} |
string |
bash |
command | {command,timeout?} |
{ok:true,output,details}; rejects on a nonzero exit (settle:true returns {ok:false,output,details:null,exitCode,error} instead) |
grep |
pattern | {pattern,path?,glob?,ignoreCase?,literal?,context?,limit?} | (pattern, path?, limit?) |
string |
find |
pattern | {pattern,path?,limit?} | (pattern, path?, limit?) |
string |
ls |
path? | {path?,limit?} |
string |
edit |
{path,edits:[{oldText,newText}]} | {path,oldText,newText} | (path, oldText, newText) |
{ok,output,details} |
write |
{path,content} | (path, content) |
{ok,output,details} |
bash rejects on an ordinary nonzero exit; pass settle:true to get {ok:false,output,details:null,exitCode,error} instead of a rejection. Timeout, cancellation, approval, security, and spawn failures still reject. Other Pi core tool errors reject normally.