@openclaw/lobster 2026.5.27 → 2026.5.28-beta.1
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 +8 -8
- package/npm-shrinkwrap.json +2 -2
- package/package.json +4 -4
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
|
-
|
|
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:
|
|
583
|
-
maxStdoutBytes:
|
|
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:
|
|
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 =
|
|
598
|
-
const maxStdoutBytes =
|
|
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,
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/lobster",
|
|
3
|
-
"version": "2026.5.
|
|
3
|
+
"version": "2026.5.28-beta.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@openclaw/lobster",
|
|
9
|
-
"version": "2026.5.
|
|
9
|
+
"version": "2026.5.28-beta.1",
|
|
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.
|
|
3
|
+
"version": "2026.5.28-beta.1",
|
|
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.
|
|
24
|
+
"pluginApi": ">=2026.5.28-beta.1"
|
|
25
25
|
},
|
|
26
26
|
"build": {
|
|
27
|
-
"openclawVersion": "2026.5.
|
|
27
|
+
"openclawVersion": "2026.5.28-beta.1"
|
|
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.
|
|
45
|
+
"openclaw": ">=2026.5.28-beta.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependenciesMeta": {
|
|
48
48
|
"openclaw": {
|