@gang-of-beads/pi-web-workflows0.1.1
PI WEB plugin that draws the pi-dynamic-workflows `workflow` tool as a live progress card.
Untested on omp
This is a pi package. No one has reported whether it works on omp yet. If you try it, add your result below.
Reports 0
No reports yet.
Readme
pi-web-workflows
A PI WEB plugin that draws the workflow tool of pi-dynamic-workflows as a live progress card in the conversation.
While a workflow runs, the card shows each phase with its agents and their state (queued, running, done, failed), and the final result once the run ends. A workflow call that does not carry a progress snapshot (it has just started, or another extension registered a tool of the same name) keeps PI WEB's ordinary tool card.
Requirements
- PI WEB 2.202610.5 or later. Earlier releases bundle their own copy of this plugin, which wins over an installed one (Settings → PI WEB plugins reports the duplicate id).
- The pi-dynamic-workflows extension installed in pi, so sessions have the
workflowtool.
On pi 1.x, pi-dynamic-workflows starts its workflow agents with only the models pi itself knows about (auth.json, models.json and pi's built-in providers). Providers that another extension registers, such as pi-multi-account pools, are not available to those agents until pi-dynamic-workflows supports pi 1.x model runtimes.
Install
pi install npm:@gang-of-beads/pi-web-workflows
To follow main instead of releases, install git:github.com/Gang-of-Beads/pi-web-workflows.
Then reload the PI WEB tab. The plugin has no server part, so the session daemon does not need a restart.
To remove it:
pi remove npm:@gang-of-beads/pi-web-workflows
How it works
The plugin contributes a tool renderer for the tool named workflow. PI WEB hands the renderer the tool's streamed updates; the renderer reads the progress snapshot pi-dynamic-workflows puts in each update's details and draws it with a small Lit element. Everything runs in the browser; the plugin stores nothing.
Development
npm install
npm run typecheck
npm run build
npm run build bundles src/pi-web-plugin.ts and Lit into one ES module, dist/pi-web-plugin.js, because PI WEB loads a plugin's browser module as-is, without an import map. The built dist/ is committed so that pi install git: works without a build step; npm run check fails when it is out of date.
To try a change in a running PI WEB, link the working copy as a local plugin and reload the tab:
mkdir -p ~/.pi-web/plugins
ln -s "$PWD" ~/.pi-web/plugins/workflows
See PI WEB's plugin documentation for the plugin contract.
Contributing
Issues and pull requests are welcome. Please keep changes small and focused, run npm run check before opening a pull request, and describe what you changed and how you checked it in a running PI WEB.
Releasing
Update version in package.json and package-lock.json, give CHANGELOG.md a section for it, commit, and push a matching v<version> tag. The release workflow checks the package, publishes it to npm, and creates the GitHub Release from that CHANGELOG section.