mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-05 10:42:55 +00:00
26 lines
1.0 KiB
TypeScript
26 lines
1.0 KiB
TypeScript
import type { OpenClawPluginApi } from "openclaw/plugin-sdk/channel-entry-contract";
|
|
|
|
type MatrixSubagentHooksModule = typeof import("./src/matrix/subagent-hooks.js");
|
|
|
|
let matrixSubagentHooksPromise: Promise<MatrixSubagentHooksModule> | null = null;
|
|
|
|
function loadMatrixSubagentHooksModule() {
|
|
matrixSubagentHooksPromise ??= import("./src/matrix/subagent-hooks.js");
|
|
return matrixSubagentHooksPromise;
|
|
}
|
|
|
|
export function registerMatrixSubagentHooks(api: OpenClawPluginApi): void {
|
|
api.on("subagent_spawning", async (event) => {
|
|
const { handleMatrixSubagentSpawning } = await loadMatrixSubagentHooksModule();
|
|
return await handleMatrixSubagentSpawning(api, event);
|
|
});
|
|
api.on("subagent_ended", async (event) => {
|
|
const { handleMatrixSubagentEnded } = await loadMatrixSubagentHooksModule();
|
|
await handleMatrixSubagentEnded(event);
|
|
});
|
|
api.on("subagent_delivery_target", async (event) => {
|
|
const { handleMatrixSubagentDeliveryTarget } = await loadMatrixSubagentHooksModule();
|
|
return handleMatrixSubagentDeliveryTarget(event);
|
|
});
|
|
}
|