Returns the relative, descendent directory path between this module and other.
Throws if no such path exists.
For example, if module mod1 has path /dir1/mod1.pkl, and module mod2 has path /dir1/dir2/dir3/mod2.pkl,
then mod1.relativePathTo(mod2) will return List("dir2", "dir3").
A common use case is to compute the directory path between a template located at the root of a hierarchy
(say rootModule.pkl) and the currently evaluated module (accessible via the module keyword):
Runs a script (inline or from a file path) with optional parameters and overwrites its output
Returns the script output (stdout/stderr) as confirmation.
id: The identifier for the script execution.
script: The inline script content or file path to the script.
params: Optional parameters for the script, comma-separated (e.g., "a, b, c").
Abstractions for Tool records