@yansircc/pi-loop
Effect-based temporal loops for Pi
Package details
Install @yansircc/pi-loop from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@yansircc/pi-loop- Package
@yansircc/pi-loop- Version
0.7.1- Published
- Jul 22, 2026
- Downloads
- 1,679/mo · 1,679/wk
- Author
- yansirplus
- License
- MIT
- Types
- extension
- Size
- 933.5 KB
- Dependencies
- 0 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/pi/extension.js"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-loop
Agent-first scheduling tools for Pi. Users describe recurring or delayed work conversationally; the agent creates and manages typed loops. There are no slash commands.
Tools
loop_create: create an interval, cron, one-shot, or dynamic loop.loop_update: replace a loop's prompt, label, or complete schedule.loop_pause/loop_resume: change whether a loop may run.loop_run_now: run one enabled loop immediately.loop_delete: delete one loop or all visible loops.loop_list: inspect the current loops.schedule_wakeup: arm the next wakeup for a dynamic loop.
Session-retained loops disappear with their owning Pi session. Project-retained loops survive and are leased by one live Pi process. Dynamic loops are session-retained because their next wakeup is part of the active agent conversation.
Pipee renders a cross-Session Loop Web Surface by multiplexing the same Runtime projections. The
package-owned browser document deduplicates Project-retained loops by their real owner while keeping
Session-retained loops distinct. Creation and other open-ended intent stay in Chat. The finite run now,
pause/resume, edit, and delete controls dispatch to the exact owning Runtime; retention remains read-only.
Development
pnpm install
pnpm run verify
pnpm run pi:pack
The package gate builds one self-contained Node ESM entry plus dist/web, packs them, extracts the
archive without installing dependencies, and loads it through Pi's real extension loader.
Releases
A Loop release is declared by a tracked JSON changeset under release/changes/. The entry names
@yansircc/pi-loop and a patch, minor, or major bump. A push without a Loop changeset does not
change or publish its version. CI owns the version commit, exact archive, package tag, and registry
integrity proof.