@meetlobster/openclaw-plugin 1.3.4 → 1.3.6

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.
@@ -0,0 +1,136 @@
1
+ {
2
+ "id": "lobster-external",
3
+ "name": "Lobster",
4
+ "version": "1.3.0",
5
+ "description": "External Lobster plugin for OpenClaw chat-native meetings",
6
+ "main": "./index.js",
7
+ "configSchema": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "LobsterOpenClawPluginConfig",
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "workerBaseUrl": {
14
+ "type": "string",
15
+ "minLength": 1
16
+ },
17
+ "workerHost": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "workerPort": {
22
+ "type": "integer",
23
+ "minimum": 1,
24
+ "maximum": 65535
25
+ },
26
+ "adapterToken": {
27
+ "type": "string",
28
+ "minLength": 8
29
+ },
30
+ "workerEntry": {
31
+ "type": "string",
32
+ "minLength": 1
33
+ },
34
+ "autoSpawnWorker": {
35
+ "type": "boolean"
36
+ },
37
+ "hookUrl": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "hooksToken": {
42
+ "type": "string",
43
+ "minLength": 8
44
+ },
45
+ "recallSigningSecret": {
46
+ "type": "string",
47
+ "minLength": 8
48
+ },
49
+ "recallApiKey": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ },
53
+ "recallApiBaseUrl": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ },
57
+ "cloudflaredBinary": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ },
61
+ "cloudflaredEnabled": {
62
+ "type": "boolean"
63
+ },
64
+ "transcriptQuietMs": {
65
+ "type": "integer",
66
+ "minimum": 1000
67
+ },
68
+ "defaultVisibilityMode": {
69
+ "type": "string",
70
+ "enum": [
71
+ "private",
72
+ "shared"
73
+ ]
74
+ },
75
+ "ambiguityFallbackMode": {
76
+ "type": "string",
77
+ "enum": [
78
+ "private",
79
+ "shared"
80
+ ]
81
+ },
82
+ "defaultBotName": {
83
+ "type": "string",
84
+ "minLength": 1
85
+ },
86
+ "intelligenceFlushMs": {
87
+ "type": "integer",
88
+ "minimum": 1000
89
+ },
90
+ "intelligenceMaxChunks": {
91
+ "type": "integer",
92
+ "minimum": 1
93
+ },
94
+ "intelligenceContextWindow": {
95
+ "type": "integer",
96
+ "minimum": 1
97
+ },
98
+ "workspaceDir": {
99
+ "type": "string"
100
+ },
101
+ "intelligenceTimeoutMs": {
102
+ "type": "integer",
103
+ "minimum": 1000
104
+ },
105
+ "intelligenceThinkLevel": {
106
+ "type": "string"
107
+ },
108
+ "useEmbeddedAgent": {
109
+ "type": "boolean"
110
+ },
111
+ "wakeMainSession": {
112
+ "type": "boolean"
113
+ }
114
+ },
115
+ "required": [
116
+ "adapterToken",
117
+ "hookUrl",
118
+ "hooksToken",
119
+ "recallSigningSecret"
120
+ ]
121
+ },
122
+ "permissions": [
123
+ "commands",
124
+ "resources",
125
+ "rpc",
126
+ "services",
127
+ "network",
128
+ "process"
129
+ ],
130
+ "commands": [
131
+ {
132
+ "name": "lobster",
133
+ "description": "Control Lobster meeting assistant"
134
+ }
135
+ ]
136
+ }
@@ -13,6 +13,5 @@ export declare class LobsterService implements LobsterServiceApi {
13
13
  status(): Promise<CommandResponse["state"]>;
14
14
  command(payload: CommandRequest): Promise<CommandResponse>;
15
15
  private spawnWorker;
16
- private resolveOpenClawRoot;
17
16
  private waitForHealth;
18
17
  }
@@ -1,12 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.LobsterService = void 0;
7
- const node_child_process_1 = require("node:child_process");
8
- const node_fs_1 = __importDefault(require("node:fs"));
9
- const node_path_1 = __importDefault(require("node:path"));
4
+ const worker_spawn_1 = require("./worker-spawn");
10
5
  const REQUEST_TIMEOUT_MS = 6000;
11
6
  function sleep(ms) {
12
7
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -153,100 +148,10 @@ class LobsterService {
153
148
  if (this.workerProcess && !this.workerProcess.killed) {
154
149
  return;
155
150
  }
156
- const workerConfig = {
157
- host: this.config.workerHost,
158
- port: this.config.workerPort,
159
- adapterToken: this.config.adapterToken,
160
- hookUrl: this.config.hookUrl,
161
- hooksToken: this.config.hooksToken,
162
- recallSigningSecret: this.config.recallSigningSecret,
163
- recallApiKey: this.config.recallApiKey,
164
- recallApiBaseUrl: this.config.recallApiBaseUrl,
165
- sessionTokenTtlMs: 4 * 60 * 60 * 1000,
166
- maxPayloadBytes: 256_000,
167
- queueMax: 500,
168
- maxEventsPerMinute: 180,
169
- retryCount: 3,
170
- retryBackoffMs: 500,
171
- transcriptQuietMs: this.config.transcriptQuietMs,
172
- cloudflaredBinary: this.config.cloudflaredBinary,
173
- cloudflaredEnabled: this.config.cloudflaredEnabled,
174
- cloudflaredTargetUrl: `http://${this.config.workerHost}:${this.config.workerPort}`,
175
- defaultVisibilityMode: this.config.defaultVisibilityMode,
176
- ambiguityFallbackMode: this.config.ambiguityFallbackMode,
177
- defaultBotName: this.config.defaultBotName,
178
- intelligenceFlushMs: this.config.intelligenceFlushMs,
179
- intelligenceMaxChunks: this.config.intelligenceMaxChunks,
180
- intelligenceContextWindow: this.config.intelligenceContextWindow,
181
- workspaceDir: this.config.workspaceDir,
182
- intelligenceTimeoutMs: this.config.intelligenceTimeoutMs,
183
- intelligenceThinkLevel: this.config.intelligenceThinkLevel,
184
- useEmbeddedAgent: this.config.useEmbeddedAgent,
185
- wakeMainSession: this.config.wakeMainSession,
186
- };
187
- const workerEntry = node_path_1.default.resolve(this.config.workerEntry);
188
- this.logger.info("Starting Lobster worker", { workerEntry });
189
- const child = (0, node_child_process_1.spawn)(process.execPath, [workerEntry], {
190
- env: {
191
- ...process.env,
192
- LOBSTER_WORKER_CONFIG_JSON: JSON.stringify(workerConfig),
193
- OPENCLAW_ROOT: process.env.OPENCLAW_ROOT ?? this.resolveOpenClawRoot(),
194
- },
195
- stdio: "pipe",
196
- });
197
- child.stdout.on("data", (chunk) => {
198
- this.logger.info("[lobster-worker]" + String(chunk).trim());
199
- });
200
- child.stderr.on("data", (chunk) => {
201
- this.logger.warn("[lobster-worker]" + String(chunk).trim());
202
- });
203
- child.on("exit", (code, signal) => {
204
- this.logger.warn("Lobster worker exited", { code, signal });
151
+ this.workerProcess = (0, worker_spawn_1.spawnWorkerProcess)(this.config, this.logger, () => {
205
152
  this.workerProcess = null;
206
153
  this.started = false;
207
154
  });
208
- this.workerProcess = child;
209
- }
210
- resolveOpenClawRoot() {
211
- // The plugin runs inside the OpenClaw gateway process.
212
- // Traverse up from process.argv[1] (the openclaw binary entry) to find the package root.
213
- // Resolve symlinks first — npm global installs create a symlink at /usr/bin/openclaw
214
- // pointing to /usr/lib/node_modules/openclaw/openclaw.mjs.
215
- const rawArgv1 = process.argv[1];
216
- let resolvedArgv1;
217
- if (rawArgv1) {
218
- try {
219
- resolvedArgv1 = node_fs_1.default.realpathSync(rawArgv1);
220
- }
221
- catch {
222
- resolvedArgv1 = rawArgv1;
223
- }
224
- }
225
- const candidates = [
226
- resolvedArgv1 ? node_path_1.default.dirname(resolvedArgv1) : undefined,
227
- rawArgv1 ? node_path_1.default.dirname(rawArgv1) : undefined,
228
- process.cwd(),
229
- __dirname,
230
- ].filter(Boolean);
231
- for (const start of candidates) {
232
- let dir = start;
233
- for (;;) {
234
- const pkgPath = node_path_1.default.join(dir, "package.json");
235
- try {
236
- if (node_fs_1.default.existsSync(pkgPath)) {
237
- const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgPath, "utf8"));
238
- if (pkg.name === "openclaw")
239
- return dir;
240
- }
241
- }
242
- catch { /* ignore */ }
243
- const parent = node_path_1.default.dirname(dir);
244
- if (parent === dir)
245
- break;
246
- dir = parent;
247
- }
248
- }
249
- return "";
250
155
  }
251
156
  async waitForHealth() {
252
157
  const deadline = Date.now() + 12_000;
@@ -1 +1 @@
1
- {"version":3,"file":"lobster-service.js","sourceRoot":"","sources":["../../services/lobster-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lobster-service.js","sourceRoot":"","sources":["../../services/lobster-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type ChildProcessWithoutNullStreams } from "node:child_process";
2
+ import type { WorkerConfig, PluginConfig } from "@meetlobster/shared";
3
+ import type { OpenClawLogger } from "../types/lobster";
4
+ export declare function buildWorkerConfig(config: PluginConfig): WorkerConfig;
5
+ export declare function resolveOpenClawRoot(): string;
6
+ export declare function spawnWorkerProcess(config: PluginConfig, logger: OpenClawLogger, onExit: () => void): ChildProcessWithoutNullStreams;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.buildWorkerConfig = buildWorkerConfig;
7
+ exports.resolveOpenClawRoot = resolveOpenClawRoot;
8
+ exports.spawnWorkerProcess = spawnWorkerProcess;
9
+ const node_child_process_1 = require("node:child_process");
10
+ const node_fs_1 = __importDefault(require("node:fs"));
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ function buildWorkerConfig(config) {
13
+ return {
14
+ host: config.workerHost,
15
+ port: config.workerPort,
16
+ adapterToken: config.adapterToken,
17
+ hookUrl: config.hookUrl,
18
+ hooksToken: config.hooksToken,
19
+ recallSigningSecret: config.recallSigningSecret,
20
+ recallApiKey: config.recallApiKey,
21
+ recallApiBaseUrl: config.recallApiBaseUrl,
22
+ sessionTokenTtlMs: 4 * 60 * 60 * 1000,
23
+ maxPayloadBytes: 256_000,
24
+ queueMax: 500,
25
+ maxEventsPerMinute: 180,
26
+ retryCount: 3,
27
+ retryBackoffMs: 500,
28
+ transcriptQuietMs: config.transcriptQuietMs,
29
+ cloudflaredBinary: config.cloudflaredBinary,
30
+ cloudflaredEnabled: config.cloudflaredEnabled,
31
+ cloudflaredTargetUrl: `http://${config.workerHost}:${config.workerPort}`,
32
+ defaultVisibilityMode: config.defaultVisibilityMode,
33
+ ambiguityFallbackMode: config.ambiguityFallbackMode,
34
+ defaultBotName: config.defaultBotName,
35
+ intelligenceFlushMs: config.intelligenceFlushMs,
36
+ intelligenceMaxChunks: config.intelligenceMaxChunks,
37
+ intelligenceContextWindow: config.intelligenceContextWindow,
38
+ workspaceDir: config.workspaceDir,
39
+ intelligenceTimeoutMs: config.intelligenceTimeoutMs,
40
+ intelligenceThinkLevel: config.intelligenceThinkLevel,
41
+ useEmbeddedAgent: config.useEmbeddedAgent,
42
+ wakeMainSession: config.wakeMainSession,
43
+ };
44
+ }
45
+ function resolveOpenClawRoot() {
46
+ const rawArgv1 = process.argv[1];
47
+ let resolvedArgv1;
48
+ if (rawArgv1) {
49
+ try {
50
+ resolvedArgv1 = node_fs_1.default.realpathSync(rawArgv1);
51
+ }
52
+ catch {
53
+ resolvedArgv1 = rawArgv1;
54
+ }
55
+ }
56
+ const candidates = [
57
+ resolvedArgv1 ? node_path_1.default.dirname(resolvedArgv1) : undefined,
58
+ rawArgv1 ? node_path_1.default.dirname(rawArgv1) : undefined,
59
+ process.cwd(),
60
+ __dirname,
61
+ ].filter(Boolean);
62
+ for (const start of candidates) {
63
+ let dir = start;
64
+ for (;;) {
65
+ const pkgPath = node_path_1.default.join(dir, "package.json");
66
+ try {
67
+ if (node_fs_1.default.existsSync(pkgPath)) {
68
+ const pkg = JSON.parse(node_fs_1.default.readFileSync(pkgPath, "utf8"));
69
+ if (pkg.name === "openclaw")
70
+ return dir;
71
+ }
72
+ }
73
+ catch { /* ignore */ }
74
+ const parent = node_path_1.default.dirname(dir);
75
+ if (parent === dir)
76
+ break;
77
+ dir = parent;
78
+ }
79
+ }
80
+ return "";
81
+ }
82
+ function spawnWorkerProcess(config, logger, onExit) {
83
+ const workerConfig = buildWorkerConfig(config);
84
+ const workerEntry = node_path_1.default.resolve(config.workerEntry);
85
+ logger.info("Starting Lobster worker", { workerEntry });
86
+ const child = (0, node_child_process_1.spawn)(process.execPath, [workerEntry], {
87
+ env: {
88
+ ...process.env,
89
+ LOBSTER_WORKER_CONFIG_JSON: JSON.stringify(workerConfig),
90
+ OPENCLAW_ROOT: process.env.OPENCLAW_ROOT ?? resolveOpenClawRoot(),
91
+ },
92
+ stdio: "pipe",
93
+ });
94
+ child.stdout.on("data", (chunk) => {
95
+ logger.info("[lobster-worker]" + String(chunk).trim());
96
+ });
97
+ child.stderr.on("data", (chunk) => {
98
+ logger.warn("[lobster-worker]" + String(chunk).trim());
99
+ });
100
+ child.on("exit", (code, signal) => {
101
+ logger.warn("Lobster worker exited", { code, signal });
102
+ onExit();
103
+ });
104
+ return child;
105
+ }
106
+ //# sourceMappingURL=worker-spawn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-spawn.js","sourceRoot":"","sources":["../../services/worker-spawn.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,121 @@
4
4
  "version": "1.3.0",
5
5
  "description": "External Lobster plugin for OpenClaw chat-native meetings",
6
6
  "main": "dist/index.js",
7
- "configSchema": "./config.schema.json",
7
+ "configSchema": {
8
+ "$schema": "http://json-schema.org/draft-07/schema#",
9
+ "title": "LobsterOpenClawPluginConfig",
10
+ "type": "object",
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "workerBaseUrl": {
14
+ "type": "string",
15
+ "minLength": 1
16
+ },
17
+ "workerHost": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "workerPort": {
22
+ "type": "integer",
23
+ "minimum": 1,
24
+ "maximum": 65535
25
+ },
26
+ "adapterToken": {
27
+ "type": "string",
28
+ "minLength": 8
29
+ },
30
+ "workerEntry": {
31
+ "type": "string",
32
+ "minLength": 1
33
+ },
34
+ "autoSpawnWorker": {
35
+ "type": "boolean"
36
+ },
37
+ "hookUrl": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "hooksToken": {
42
+ "type": "string",
43
+ "minLength": 8
44
+ },
45
+ "recallSigningSecret": {
46
+ "type": "string",
47
+ "minLength": 8
48
+ },
49
+ "recallApiKey": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ },
53
+ "recallApiBaseUrl": {
54
+ "type": "string",
55
+ "minLength": 1
56
+ },
57
+ "cloudflaredBinary": {
58
+ "type": "string",
59
+ "minLength": 1
60
+ },
61
+ "cloudflaredEnabled": {
62
+ "type": "boolean"
63
+ },
64
+ "transcriptQuietMs": {
65
+ "type": "integer",
66
+ "minimum": 1000
67
+ },
68
+ "defaultVisibilityMode": {
69
+ "type": "string",
70
+ "enum": [
71
+ "private",
72
+ "shared"
73
+ ]
74
+ },
75
+ "ambiguityFallbackMode": {
76
+ "type": "string",
77
+ "enum": [
78
+ "private",
79
+ "shared"
80
+ ]
81
+ },
82
+ "defaultBotName": {
83
+ "type": "string",
84
+ "minLength": 1
85
+ },
86
+ "intelligenceFlushMs": {
87
+ "type": "integer",
88
+ "minimum": 1000
89
+ },
90
+ "intelligenceMaxChunks": {
91
+ "type": "integer",
92
+ "minimum": 1
93
+ },
94
+ "intelligenceContextWindow": {
95
+ "type": "integer",
96
+ "minimum": 1
97
+ },
98
+ "workspaceDir": {
99
+ "type": "string"
100
+ },
101
+ "intelligenceTimeoutMs": {
102
+ "type": "integer",
103
+ "minimum": 1000
104
+ },
105
+ "intelligenceThinkLevel": {
106
+ "type": "string"
107
+ },
108
+ "useEmbeddedAgent": {
109
+ "type": "boolean"
110
+ },
111
+ "wakeMainSession": {
112
+ "type": "boolean"
113
+ }
114
+ },
115
+ "required": [
116
+ "adapterToken",
117
+ "hookUrl",
118
+ "hooksToken",
119
+ "recallSigningSecret"
120
+ ]
121
+ },
8
122
  "permissions": [
9
123
  "commands",
10
124
  "resources",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetlobster/openclaw-plugin",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -9,8 +9,7 @@
9
9
  "config.schema.json"
10
10
  ],
11
11
  "scripts": {
12
- "prebuild": "node scripts/sync-extensions.js",
13
- "build": "rm -rf dist && tsc -p tsconfig.json",
12
+ "build": "rm -rf dist && tsc -p tsconfig.json && node scripts/sync-extensions.js",
14
13
  "typecheck": "tsc -p tsconfig.json --noEmit",
15
14
  "test": "vitest run"
16
15
  },