skip to content
$worker

ide

(alias: shell)v0.3.4

Unix shell + filesystem worker — exec with denylist/timeout/output caps and background jobs; fs::ls|stat|mkdir|rm|chmod|mv|grep|sed|read|write with host jail, denylist, size caps, and sandbox-target forwarding

iiiverified
1,951 installs0 in 7d0 today
install
$iii trigger compose::add worker=ide@0.3.4

exact versions are immutable; binary and bundle artifacts are digest-pinned.

skill doc

skills/status.md

Polling a background job to completion

When to use

  • Polling a job spawned by shell::exec_bg until it leaves running.
  • Fetching captured stdout/stderr once a job has terminated, before retention expires.
  • Diagnosing a job that exited with a non-zero exit_code.

Notes

  • not_found (the trigger Err) means the job_id either never existed or aged out of cfg.job_retention_secs (default 1 hour after termination). Do not retry; re-run shell::exec_bg if the work still needs doing.
  • Per-stream output is bounded by cfg.max_output_bytes (default 1 MiB). Once the cap is hit on a stream, the corresponding *_truncated flag stays true and new bytes are dropped while the job keeps running.
  • Use shell::list for a lightweight overview of every job. shell::status returns the full record, including potentially large captured buffers, so it costs more per call.
  • Sandbox-backed jobs that were shell::kill-ed flip to killed immediately even though the in-VM process may still be running. Their final stdout/stderr arrive on the late sandbox::exec response and are not applied if the record is already killed.