mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-08 05:22:56 +00:00
Summary: - Add Workboard agent coordination tools for list/read/claim/heartbeat/release/comment/proof/unblock flows. - Store artifacts, claims, diagnostics, and notifications in the Workboard SQLite-backed plugin state; surface the new metadata through Gateway, Control UI, docs, and plugin manifest contracts. - Add scoped claim authorization, token redaction, stale diagnostic cleanup, atomic proof artifact writes, and generated i18n metadata. Verification: - pnpm test ui/src/i18n/test/translate.test.ts extensions/browser/src/cli/browser-cli-actions-input/register.element.test.ts extensions/workboard/src/store.test.ts extensions/workboard/src/gateway.test.ts extensions/workboard/src/tools.test.ts ui/src/ui/controllers/workboard.test.ts ui/src/ui/views/workboard.test.ts - pnpm ui:i18n:check - env -u OPENCLAW_TESTBOX pnpm check:changed - autoreview --mode local: clean - PR CI passed; Windows checkout failure rerun passed on attempt 2
30 lines
970 B
TypeScript
30 lines
970 B
TypeScript
import { definePluginEntry } from "./api.js";
|
|
import { registerWorkboardGatewayMethods } from "./runtime-api.js";
|
|
import { WorkboardStore, type PersistedWorkboardCard } from "./src/store.js";
|
|
import { createWorkboardTools } from "./src/tools.js";
|
|
|
|
export default definePluginEntry({
|
|
id: "workboard",
|
|
name: "Workboard",
|
|
description: "Dashboard workboard for agent-owned issues and sessions.",
|
|
register(api) {
|
|
const store = WorkboardStore.open((options) =>
|
|
api.runtime.state.openKeyedStore<PersistedWorkboardCard>(options),
|
|
);
|
|
registerWorkboardGatewayMethods({ api, store });
|
|
api.registerTool((context) => createWorkboardTools({ api, context, store }), {
|
|
names: [
|
|
"workboard_list",
|
|
"workboard_read",
|
|
"workboard_claim",
|
|
"workboard_heartbeat",
|
|
"workboard_release",
|
|
"workboard_comment",
|
|
"workboard_proof",
|
|
"workboard_unblock",
|
|
],
|
|
optional: true,
|
|
});
|
|
},
|
|
});
|