@arcanemachine/pi-retry
v0.2.3
Published
Pi extension to re-prompt or nudge the current assistant turn with a shortcut (default Ctrl+Alt+R)
Maintainers
Readme
pi-retry
Re-prompt or nudge the current turn with a shortcut (default
Ctrl+Alt+R).
A Pi extension for:
- aborting a slow active response and starting a fresh provider request for the same assistant turn,
- resuming from an accidentally/intentionally stopped assistant response without typing
continue, or - nudging a new assistant turn from the current context when idle, without typing anything into the editor.
Like this extension? See my other Pi extensions.
Why?
A provider may route through multiple upstream providers, and one of them may be slow. By "retrying" the request, the request is re-sent and will hopefully be routed to a faster provider during the retry.
The same shortcut also works while idle: it kicks off a new assistant turn from whatever context is currently there. This is handy for prompting a continuation or follow-up turn without typing an explicit prompt.
Installation
pi install git:github.com/arcanemachine/pi-retryFrom npm
pi install npm:@arcanemachine/pi-retryFrom local clone
pi install /path/to/pi-retryOr load the source entrypoint directly during development:
pi -e /path/to/pi-retry/src/index.tsConfiguration
The default shortcut is Ctrl+Alt+R. Override it in Pi settings (.pi/settings.json in a project or ~/.pi/agent/settings.json globally):
{
"pi-retry": {
"shortcut": "ctrl+alt+r"
}
}Project settings override global settings.
Behavior
- If Pi is streaming, the shortcut aborts the current assistant response and starts a hidden trigger turn.
- If Pi is idle, the shortcut sends a hidden trigger turn when all of the following are true:
- no pending queued messages
- editor input is empty
- When an assistant response is aborted (either during retry, or when the leaf was already an aborted assistant message), that aborted message is stripped from provider context for the trigger turn. When there is no aborted assistant message in scope, the trigger turn is sent with the current context unchanged.
- In all cases the hidden trigger message itself is also stripped from provider context.
- Aborted partial output may still remain visible in session history/UI; it is only stripped from provider context for the trigger turn.
