Files
openclaw/extensions/workboard/index.ts
Peter Steinberger 8d6a6e9d03 feat: move workboard to relational sqlite
Move Workboard durable data into a relational SQLite database and add extension doctor migration for .28 plugin-state rows. Preserve attachment lifecycle behavior, SQLite permissions/WAL settings, and scoped plugin migration access.
2026-05-31 00:02:23 +01:00

54 lines
1.7 KiB
TypeScript

import { definePluginEntry } from "./api.js";
import { registerWorkboardGatewayMethods } from "./runtime-api.js";
import { WorkboardStore } 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.openSqlite();
registerWorkboardGatewayMethods({ api, store });
api.registerTool((context) => createWorkboardTools({ api, context, store }), {
names: [
"workboard_list",
"workboard_create",
"workboard_link",
"workboard_read",
"workboard_claim",
"workboard_heartbeat",
"workboard_complete",
"workboard_attachment_add",
"workboard_attachment_read",
"workboard_attachment_delete",
"workboard_block",
"workboard_boards",
"workboard_board_create",
"workboard_board_archive",
"workboard_board_delete",
"workboard_stats",
"workboard_runs",
"workboard_specify",
"workboard_decompose",
"workboard_notify_subscribe",
"workboard_notify_list",
"workboard_notify_events",
"workboard_notify_advance",
"workboard_notify_unsubscribe",
"workboard_promote",
"workboard_reassign",
"workboard_reclaim",
"workboard_dispatch",
"workboard_release",
"workboard_comment",
"workboard_proof",
"workboard_worker_log",
"workboard_protocol_violation",
"workboard_unblock",
],
optional: true,
});
},
});