mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-23 09:42:53 +00:00
Accept plugin requirements against the runtime version or its stable core while preserving the legacy version boundary. Validate all example manifests, correct the ACP example metadata, and prepare plugin author documentation for the beta.
37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# Lifecycle actions
|
|
|
|
Small callbacks using the existing SDK:
|
|
|
|
- Send `Try again.` when the latest output contains `out of credits`.
|
|
- Decline a shell request matching `rm -rf`; approve exactly `git status`; leave other requests alone.
|
|
- Inject `PASEO_HOOK_CREATE_EXAMPLE=created` on creation and `PASEO_HOOK_OPEN_EXAMPLE=opened` on each session opening.
|
|
- Change requested Codex agents to Claude Haiku before creation.
|
|
- Create a worktree when a directory creation request is titled `Isolated lifecycle example`.
|
|
|
|
This is a demonstration plugin: installing it enables all these behaviors on its host. Install it
|
|
alongside `lifecycle-logger` on a test daemon with plugins enabled:
|
|
|
|
```bash
|
|
paseo plugin install /absolute/path/to/plugin-examples/lifecycle-actions
|
|
paseo plugin install /absolute/path/to/plugin-examples/lifecycle-logger
|
|
paseo plugin logs lifecycle-logger
|
|
```
|
|
|
|
Outside the Paseo repository, `server/inspect.ts` needs `@getpaseo/protocol` installed for its
|
|
type imports. Add it to your plugin development dependencies at the same version as
|
|
`@getpaseo/plugin` before installing this example.
|
|
|
|
Copy the callbacks you need into your own plugin. The follow-up example sends a new message; it does
|
|
not replay attachments or undo previous tool effects. If the provider keeps returning the matching
|
|
phrase, it keeps sending follow-ups. Add limits or delay in your plugin when your workflow needs them.
|
|
The command regex illustrates a policy; it does not parse shell syntax or cover every deletion command.
|
|
|
|
`server/inspect.ts` joins provider text chunks and excludes earlier turns and the current user prompt
|
|
from the phrase match. The failing-first regression test records the split text observed with a real
|
|
Claude agent.
|
|
|
|
See [agent configuration](../agent-configuration) for a focused example that injects MCP servers and
|
|
changes Codex sandbox and approval options while preserving other settings.
|
|
|
|
See the [lifecycle reference](../../public-docs/plugins/v0.8/reference.md#lifecycle-hooks) for the API.
|