1DOLLY 72PACKAGE pi3REQUIRES HOST runtime@04REQUIRES HOST download@05REQUIRES HOST http@06REQUIRES HOST threads@078# Pi as npm publishes it. janis-install installs @earendil-works/pi-coding-agent9# and the packages it depends on, as package-lock.json pins them, from a copy of10# their registry files the site serves (prepare-pi-npm.mjs). The pi command runs11# dist/cli.js in its own process; npm's bin, dist/bundle/cli.js, would need12# Node's require of ES modules and runs the undici it bundles.13FROM /v0.1.4/Dollyfile-system 915c71d4ce772989e3076060967824e48ccd6a1a6259624fe6213542df088dbc14INSTALL /v0.1.4/demos/javascript/Dollyfile-janis-install 0cb0afe788a87320a637319fa39ea67187922a182f5cf1d9d031d6d3e99c902d15INSTALL /v0.1.4/demos/rust/Dollyfile-ripgrep aa5afce6b980ec9f6f338e2578d4297f4664dfb07e4a61cb2230a9e678e56afb16INSTALL /v0.1.4/demos/rust/Dollyfile-fd d4644eeb154771a867d9d2d2c789853c345fbc6a8531de3f53c134a5c33031bb17REQUIRES HEADER quickjs-runner18REQUIRES LIB    dolly-js19REQUIRES LIB    quickjs20REQUIRES TOOL   cc21REQUIRES TOOL   find22REQUIRES TOOL   janis-install23REQUIRES TOOL   rm24REQUIRES TOOL   tar2526SOURCE /v0.1.4/dist/static/default/pi-npm.tar     6ebb57dbb6755bce129249e8e3c5cad349139979a4a8aff6c9520a8e16650c1f /tmp/pi-npm.tar27SOURCE /v0.1.4/dist/static/default/commands/pi.c  2296ec09e6b95b0d0dd065f806138e48eaad855d77d6366adfdfc33d720da98e /tmp/pi.c28SLOP tar -xf /tmp/pi-npm.tar -C /29SLOP janis-install --registry /tmp/pi-npm @earendil-works/pi-coding-agent@1.0.330# Pi is an application nothing compiles against: its tree's source maps and31# type declarations, 50 MB of its 111, go.32SLOP find /usr/lib/node_modules -type f \( -name '*.map' -o -name '*.d.ts' -o -name '*.d.mts' -o -name '*.d.cts' \) -exec rm {} +33SLOP cc -I /usr/include/dolly /tmp/pi.c -ldolly-js -lquickjs -o /usr/bin/pi34SLOP rm -rf /tmp/pi-npm /tmp/pi-npm.tar /tmp/pi.c35FOLDER /usr/lib/node_modules3637EXPORTS ENV PI_PACKAGE_DIR /usr/lib/node_modules/@earendil-works/pi-coding-agent38EXPORTS ENV PI_SKIP_VERSION_CHECK 139EXPORTS TOOL pi4041SLOP pi --version42FILE /usr/share/man/cat1/pi.143    pi: the Pi coding agent as npm publishes it, running under QuickJS-ng and44    Janis, with the janis-install, ripgrep and fd packages.45    46      pi                 starts the agent; /exit or Ctrl+D leaves it47      pi --offline       no network at startup; model requests still go out48    49    The pi-dolly package adds Dolly's prompt, skill, settings and theme; with50    it the bash tool and ! run Slop, and a download tool hands a file to the page.51    Requests go through the page's HTTP broker and its policy; OAuth logins52    depend on the provider's CORS, and there is no callback listener.53    Conversations are in ~/.pi/agent/sessions (pi --resume), credentials in54    ~/.pi/agent/auth.json: a saved session keeps them. There is no npm client:55    Pi packages that need npm or native addons fail to install;56    dependency-free JavaScript extensions go in ~/.pi/agent/extensions/.57