pi-extensible-workflows

Deterministic multi-agent workflow orchestration for Pi

Packages

Package details

extension

Install pi-extensible-workflows from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-extensible-workflows
Package
pi-extensible-workflows
Version
5.6.1
Published
Aug 19, 2026
Downloads
4,894/mo · 549/wk
Author
vekexasia
License
MIT
Types
extension
Size
2 MB
Dependencies
2 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-extensible-workflows

Deterministic multi-agent workflow orchestration for Pi. Build named jobs that fan out, pause for approval, use isolated worktrees, and recover without rerunning completed work.

The repository README is the canonical product overview, package map, and documentation index.

Install

Requires Node.js 22.19 or newer. This is trusted Pi host code with the same filesystem and process access as Pi.

pi install npm:pi-extensible-workflows

Quick start

A workflow is a named inline or file-backed JavaScript script. Pi normally writes the script for the current task.

const reports = await parallel("review", {
  api: () => agent("Review the API."),
  tests: () => agent("Review the tests."),
});

return agent(prompt("Summarize these reports:\n\n{reports}", { reports }));

Launch with a non-empty name and exactly one of script or scriptPath. Registered functions are available as globals, and JSON-compatible launch values are available through args. Runs are backgrounded by default; set foreground: true to wait for the final value.

Programmatic integration

The package exports the workflow registry, runtime, persistence, validation, settings, role, lifecycle, and local Pi session APIs used by trusted hosts and extensions.

Direct consumers of createLocalPiSession() receive a session with extensions already bound. Always await session.dispose() so session_shutdown runs before the native session is released; disposal is idempotent.

References

Development

From the repository root:

npm run build --workspace=packages/core
npm test --workspace=packages/core
npm run lint --workspace=packages/core

License

MIT