Skip to content

Commit f92300a

Browse files
committed
fix(workboard): keep shared contract outside extension graph
1 parent 0d45475 commit f92300a

24 files changed

Lines changed: 80 additions & 39 deletions

extensions/tsconfig.package-boundary.paths.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,9 @@
275275
"@openclaw/normalization-core/*": [
276276
"../dist/plugin-sdk/packages/normalization-core/src/*.d.ts"
277277
],
278+
"@openclaw/workboard-contract": [
279+
"../packages/workboard-contract/src/index.ts"
280+
],
278281
"@openclaw/acp-core": [
279282
"../dist/plugin-sdk/packages/acp-core/src/index.d.ts"
280283
],

extensions/workboard/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@
44
"private": true,
55
"description": "OpenClaw dashboard workboard plugin",
66
"type": "module",
7-
"exports": {
8-
"./contract.js": "./contract.ts"
9-
},
107
"dependencies": {
118
"typebox": "1.3.3"
129
},
1310
"devDependencies": {
1411
"@openclaw/plugin-sdk": "workspace:*",
12+
"@openclaw/workboard-contract": "workspace:*",
1513
"openclaw": "workspace:*"
1614
},
1715
"peerDependencies": {

extensions/workboard/runtime-api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ export type {
77
WorkboardListResult,
88
WorkboardPriority,
99
WorkboardStatus,
10-
} from "./contract.js";
10+
} from "@openclaw/workboard-contract";

extensions/workboard/src/card-lookup.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Workboard plugin module implements card lookup behavior.
2-
import type { WorkboardCard } from "../contract.js";
2+
import type { WorkboardCard } from "@openclaw/workboard-contract";
33

44
type WorkboardCardLookupResult =
55
| { card: WorkboardCard; error?: undefined }

extensions/workboard/src/cli.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1+
import type { WorkboardCard } from "@openclaw/workboard-contract";
12
// Workboard plugin module implements cli behavior.
23
import type { Command } from "commander";
34
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
45
import { addGatewayClientOptions, callGatewayFromCli } from "openclaw/plugin-sdk/gateway-runtime";
56
import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
67
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
7-
import type { WorkboardCard } from "../contract.js";
88
import { resolveWorkboardCardByIdOrPrefix } from "./card-lookup.js";
99
import type { WorkboardDispatchResult, WorkboardStore } from "./store.js";
1010

extensions/workboard/src/command.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
import type { WorkboardCard } from "@openclaw/workboard-contract";
12
// Workboard plugin module implements command behavior.
23
import type { OpenClawPluginApi } from "../api.js";
3-
import type { WorkboardCard } from "../contract.js";
44
import { resolveWorkboardCardByIdOrPrefix } from "./card-lookup.js";
55
import {
66
dispatchAndStartWorkboardCards,

extensions/workboard/src/dispatcher.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
// Workboard plugin module implements dispatcher behavior.
22
import path from "node:path";
3+
import type {
4+
WorkboardCard,
5+
WorkboardExecution,
6+
WorkboardWorkspace,
7+
} from "@openclaw/workboard-contract";
38
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
49
import type { PluginRuntime } from "openclaw/plugin-sdk/plugin-runtime";
5-
import type { WorkboardCard, WorkboardExecution, WorkboardWorkspace } from "../contract.js";
610
import { WorkboardStore, type WorkboardDispatchResult } from "./store.js";
711

812
const DEFAULT_DISPATCH_MAX_STARTS = 3;

extensions/workboard/src/gateway.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1+
import { WORKBOARD_STATUSES, type WorkboardCard } from "@openclaw/workboard-contract";
12
// Workboard plugin module implements gateway behavior.
23
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
34
import type { OpenClawPluginApi } from "../api.js";
4-
import { WORKBOARD_STATUSES, type WorkboardCard } from "../contract.js";
55
import { dispatchAndStartWorkboardCards } from "./dispatcher.js";
66
import { WorkboardStore } from "./store.js";
77

extensions/workboard/src/persistence-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type {
44
WorkboardBoardMetadata,
55
WorkboardCard,
66
WorkboardNotificationSubscription,
7-
} from "../contract.js";
7+
} from "@openclaw/workboard-contract";
88

99
export type PersistedWorkboardCard = {
1010
version: 1;

extensions/workboard/src/sqlite-store.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
import fs from "node:fs";
33
import path from "node:path";
44
import { DatabaseSync, type SQLInputValue } from "node:sqlite";
5-
import { configureSqliteConnectionPragmas } from "openclaw/plugin-sdk/plugin-state-runtime";
6-
import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
75
import type {
86
WorkboardArtifact,
97
WorkboardAttachment,
@@ -18,7 +16,9 @@ import type {
1816
WorkboardProof,
1917
WorkboardRunAttempt,
2018
WorkboardWorkerLog,
21-
} from "../contract.js";
19+
} from "@openclaw/workboard-contract";
20+
import { configureSqliteConnectionPragmas } from "openclaw/plugin-sdk/plugin-state-runtime";
21+
import { resolveStateDir } from "openclaw/plugin-sdk/state-paths";
2222
import type {
2323
PersistedWorkboardAttachment,
2424
PersistedWorkboardBoard,

0 commit comments

Comments
 (0)