feat: Implement GitLabProvider for issue management using glab CLI
- Add GitLabProvider class for handling issue operations, label management, and MR checks. - Implement methods for ensuring labels, creating issues, listing issues by label, and transitioning labels. - Introduce a provider factory to auto-detect GitLab or GitHub based on the repository URL. - Create project registration tool to validate repositories, create state labels, and log project entries. - Enhance queue status and session health tools to support new session management features. - Update task completion and task creation tools to support auto-chaining and improved session handling. - Refactor task pickup tool to streamline model selection and session management.
This commit is contained in:
12
index.ts
12
index.ts
@@ -3,12 +3,14 @@ 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";
|
||||
import { createProjectRegisterTool } from "./lib/tools/project-register.js";
|
||||
import { createTaskCreateTool } from "./lib/tools/task-create.js";
|
||||
|
||||
const plugin = {
|
||||
id: "devclaw",
|
||||
name: "DevClaw",
|
||||
description:
|
||||
"Multi-project dev/qa pipeline orchestration with GitLab integration, model selection, and audit logging.",
|
||||
"Multi-project dev/qa pipeline orchestration with GitHub/GitLab integration, model selection, and audit logging.",
|
||||
configSchema: {},
|
||||
|
||||
register(api: OpenClawPluginApi) {
|
||||
@@ -25,8 +27,14 @@ const plugin = {
|
||||
api.registerTool(createSessionHealthTool(api), {
|
||||
names: ["session_health"],
|
||||
});
|
||||
api.registerTool(createProjectRegisterTool(api), {
|
||||
names: ["project_register"],
|
||||
});
|
||||
api.registerTool(createTaskCreateTool(api), {
|
||||
names: ["task_create"],
|
||||
});
|
||||
|
||||
api.logger.info("DevClaw plugin registered (4 tools)");
|
||||
api.logger.info("DevClaw plugin registered (6 tools)");
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user