mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-14 13:22:37 +00:00
* feat(plugins): expose agent closed lifecycle event Emit the event when a live agent reaches its closed state so plugins can release agent-scoped resources. Keep archive and close notifications distinct. Co-authored-by: ilteoood <6383527+ilteoood@users.noreply.github.com> * fix(plugins): finish close hooks during daemon shutdown Wait briefly for pending lifecycle events before stopping plugins so agent close hooks can release their resources during shutdown. Co-authored-by: ilteoood <6383527+ilteoood@users.noreply.github.com> --------- Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com> Co-authored-by: ilteoood <6383527+ilteoood@users.noreply.github.com>
58 lines
1.4 KiB
TypeScript
58 lines
1.4 KiB
TypeScript
import type { PluginServerContext } from "@getpaseo/plugin/server";
|
|
import { logHook } from "./server/log";
|
|
|
|
export default function contribute(server: PluginServerContext) {
|
|
server.before("workspace.create", ({ request }) => {
|
|
logHook("before workspace.create", { request });
|
|
return request;
|
|
});
|
|
|
|
server.on("workspace.created", (event) => {
|
|
logHook("workspace.created", event);
|
|
});
|
|
|
|
server.on("workspace.archived", (event) => {
|
|
logHook("workspace.archived", event);
|
|
});
|
|
|
|
server.before("agent.create", ({ request }) => {
|
|
logHook("before agent.create", { request });
|
|
return request;
|
|
});
|
|
|
|
server.before("agent.session_open", ({ request }) => {
|
|
logHook("before agent.session_open", { request });
|
|
return request;
|
|
});
|
|
|
|
server.on("agent.created", (event) => {
|
|
logHook("agent.created", event);
|
|
});
|
|
|
|
server.on("agent.closed", (event) => {
|
|
logHook("agent.closed", event);
|
|
});
|
|
|
|
server.on("agent.turn_started", (event) => {
|
|
logHook("agent.turn_started", event);
|
|
});
|
|
|
|
server.on("agent.turn_ended", (event) => {
|
|
logHook("agent.turn_ended", event);
|
|
});
|
|
|
|
server.on("agent.permission_requested", (event) => {
|
|
logHook("agent.permission_requested", event);
|
|
});
|
|
|
|
server.on("agent.permission_resolved", (event) => {
|
|
logHook("agent.permission_resolved", event);
|
|
});
|
|
|
|
server.on("agent.archived", (event) => {
|
|
logHook("agent.archived", event);
|
|
});
|
|
|
|
return () => {};
|
|
}
|