@openclaw/lobster 2026.5.27 → 2026.5.28-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { createRequire } from "node:module";
2
2
  import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
3
+ import { optionalNonNegativeIntegerSchema, optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
4
+ import { readNonNegativeIntegerParam, readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers";
3
5
  import { Type } from "typebox";
4
6
  import { readFileSync } from "node:fs";
5
7
  import { stat } from "node:fs/promises";
@@ -478,9 +480,7 @@ function readOptionalTrimmedString(value, fieldName) {
478
480
  return trimmed ? trimmed : void 0;
479
481
  }
480
482
  function readOptionalNumber(value, fieldName) {
481
- if (value === void 0) return;
482
- if (typeof value !== "number" || !Number.isInteger(value)) throw new Error(`${fieldName} must be an integer`);
483
- return value;
483
+ return readNonNegativeIntegerParam({ [fieldName]: value }, fieldName, { message: `${fieldName} must be a non-negative integer` });
484
484
  }
485
485
  function readOptionalBoolean(value, fieldName) {
486
486
  if (value === void 0) return;
@@ -579,13 +579,13 @@ function createLobsterTool(api, options) {
579
579
  approvalId: Type.Optional(Type.String()),
580
580
  approve: Type.Optional(Type.Boolean()),
581
581
  cwd: Type.Optional(Type.String({ description: "Relative working directory (optional). Must stay within the gateway working directory." })),
582
- timeoutMs: Type.Optional(Type.Number()),
583
- maxStdoutBytes: Type.Optional(Type.Number()),
582
+ timeoutMs: optionalPositiveIntegerSchema(),
583
+ maxStdoutBytes: optionalPositiveIntegerSchema(),
584
584
  flowControllerId: Type.Optional(Type.String()),
585
585
  flowGoal: Type.Optional(Type.String()),
586
586
  flowStateJson: Type.Optional(Type.String()),
587
587
  flowId: Type.Optional(Type.String()),
588
- flowExpectedRevision: Type.Optional(Type.Number()),
588
+ flowExpectedRevision: optionalNonNegativeIntegerSchema(),
589
589
  flowCurrentStep: Type.Optional(Type.String()),
590
590
  flowWaitingStep: Type.Optional(Type.String())
591
591
  }),
@@ -594,8 +594,8 @@ function createLobsterTool(api, options) {
594
594
  if (!action) throw new Error("action required");
595
595
  if (action !== "run" && action !== "resume") throw new Error(`Unknown action: ${action}`);
596
596
  const cwd = resolveLobsterCwd(params.cwd);
597
- const timeoutMs = typeof params.timeoutMs === "number" ? params.timeoutMs : 2e4;
598
- const maxStdoutBytes = typeof params.maxStdoutBytes === "number" ? params.maxStdoutBytes : 512e3;
597
+ const timeoutMs = readPositiveIntegerParam(params, "timeoutMs") ?? 2e4;
598
+ const maxStdoutBytes = readPositiveIntegerParam(params, "maxStdoutBytes") ?? 512e3;
599
599
  if (api.runtime?.version && api.logger?.debug) api.logger.debug(`lobster plugin runtime=${api.runtime.version}`);
600
600
  const runnerParams = {
601
601
  action,
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@openclaw/lobster",
3
- "version": "2026.5.27",
3
+ "version": "2026.5.28-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/lobster",
9
- "version": "2026.5.27",
9
+ "version": "2026.5.28-beta.2",
10
10
  "dependencies": {
11
11
  "@clawdbot/lobster": "2026.5.22",
12
12
  "typebox": "1.1.38"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/lobster",
3
- "version": "2026.5.27",
3
+ "version": "2026.5.28-beta.2",
4
4
  "description": "Lobster workflow tool plugin for typed pipelines and resumable approvals.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,10 +21,10 @@
21
21
  "minHostVersion": ">=2026.4.25"
22
22
  },
23
23
  "compat": {
24
- "pluginApi": ">=2026.5.27"
24
+ "pluginApi": ">=2026.5.28-beta.2"
25
25
  },
26
26
  "build": {
27
- "openclawVersion": "2026.5.27"
27
+ "openclawVersion": "2026.5.28-beta.2"
28
28
  },
29
29
  "release": {
30
30
  "publishToClawHub": true,
@@ -42,7 +42,7 @@
42
42
  "SKILL.md"
43
43
  ],
44
44
  "peerDependencies": {
45
- "openclaw": ">=2026.5.27"
45
+ "openclaw": ">=2026.5.28-beta.2"
46
46
  },
47
47
  "peerDependenciesMeta": {
48
48
  "openclaw": {