Adds heartbeat_tick tool that automates task pickup across all projects: - Runs session health checks (zombie cleanup) before pickups - Loops over all registered projects - Picks up tasks by priority (To Improve > To Test > To Do) - Supports two work modes: - parallel: each project can have DEV+QA running independently - sequential: only 1 DEV + 1 QA globally (can be different projects) - Respects per-project maxDevWorkers/maxQaWorkers settings - Supports dryRun mode and maxPickups limit - Context guard: only works from DM/cron, blocks project groups Also adds: - workMode config option (parallel | sequential) - maxDevWorkers/maxQaWorkers fields to Project type
This commit is contained in:
12
index.ts
12
index.ts
@@ -9,6 +9,7 @@ import { createSetupTool } from "./lib/tools/devclaw-setup.js";
|
||||
import { createOnboardTool } from "./lib/tools/devclaw-onboard.js";
|
||||
import { createAnalyzeChannelBindingsTool } from "./lib/tools/analyze-channel-bindings.js";
|
||||
import { createContextTestTool } from "./lib/tools/context-test.js";
|
||||
import { createHeartbeatTickTool } from "./lib/tools/heartbeat-tick.js";
|
||||
import { registerCli } from "./lib/cli.js";
|
||||
|
||||
const plugin = {
|
||||
@@ -29,6 +30,12 @@ const plugin = {
|
||||
qa: { type: "string", description: "QA engineer model" },
|
||||
},
|
||||
},
|
||||
workMode: {
|
||||
type: "string",
|
||||
enum: ["parallel", "sequential"],
|
||||
description: "Work mode: parallel (each project independent) or sequential (1 DEV + 1 QA globally)",
|
||||
default: "parallel",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -64,6 +71,9 @@ const plugin = {
|
||||
api.registerTool(createContextTestTool(api), {
|
||||
names: ["context_test"],
|
||||
});
|
||||
api.registerTool(createHeartbeatTickTool(api), {
|
||||
names: ["heartbeat_tick"],
|
||||
});
|
||||
|
||||
// CLI: `openclaw devclaw setup`
|
||||
api.registerCli(({ program }: { program: any }) => registerCli(program), {
|
||||
@@ -71,7 +81,7 @@ const plugin = {
|
||||
});
|
||||
|
||||
api.logger.info(
|
||||
"DevClaw plugin registered (10 tools, 1 CLI command)",
|
||||
"DevClaw plugin registered (11 tools, 1 CLI command)",
|
||||
);
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user