Multi-project dev/qa pipeline orchestration with 4 agent tools: - task_pickup: atomic task pickup with model selection and session reuse - task_complete: DEV done, QA pass/fail/refine with label transitions - queue_status: task queue and worker status across projects - session_health: zombie detection and state consistency checks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
|
|
import { createTaskPickupTool } from "./lib/tools/task-pickup.js";
|
|
import { createTaskCompleteTool } from "./lib/tools/task-complete.js";
|
|
import { createQueueStatusTool } from "./lib/tools/queue-status.js";
|
|
import { createSessionHealthTool } from "./lib/tools/session-health.js";
|
|
|
|
const plugin = {
|
|
id: "devclaw",
|
|
name: "DevClaw",
|
|
description:
|
|
"Multi-project dev/qa pipeline orchestration with GitLab integration, model selection, and audit logging.",
|
|
configSchema: {},
|
|
|
|
register(api: OpenClawPluginApi) {
|
|
// Agent tools (primary interface — agent calls these directly)
|
|
api.registerTool(createTaskPickupTool(api), {
|
|
names: ["task_pickup"],
|
|
});
|
|
api.registerTool(createTaskCompleteTool(api), {
|
|
names: ["task_complete"],
|
|
});
|
|
api.registerTool(createQueueStatusTool(api), {
|
|
names: ["queue_status"],
|
|
});
|
|
api.registerTool(createSessionHealthTool(api), {
|
|
names: ["session_health"],
|
|
});
|
|
|
|
api.logger.info("DevClaw plugin registered (4 tools)");
|
|
},
|
|
};
|
|
|
|
export default plugin;
|