@meetlobster/openclaw-plugin 1.3.6 → 1.3.8

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.
@@ -28,7 +28,10 @@
28
28
  "intelligenceTimeoutMs": { "type": "integer", "minimum": 1000 },
29
29
  "intelligenceThinkLevel": { "type": "string" },
30
30
  "useEmbeddedAgent": { "type": "boolean" },
31
- "wakeMainSession": { "type": "boolean" }
31
+ "wakeMainSession": { "type": "boolean" },
32
+ "meetingInactivityTimeoutMs": { "type": "integer", "minimum": 0, "default": 600000 },
33
+ "gatewayWsUrl": { "type": "string", "minLength": 1 },
34
+ "gatewayToken": { "type": "string", "minLength": 1 }
32
35
  },
33
36
  "required": ["adapterToken", "hookUrl", "hooksToken", "recallSigningSecret"]
34
37
  }
package/dist/config.js CHANGED
@@ -33,7 +33,7 @@ function resolveDefaultWorkerEntry() {
33
33
  return candidate;
34
34
  }
35
35
  }
36
- return candidates[0] ?? node_path_1.default.resolve(process.cwd(), "packages/lobster-worker/dist/index.js");
36
+ return "__worker_not_found__";
37
37
  }
38
38
  const DEFAULTS = {
39
39
  workerBaseUrl: "http://127.0.0.1:9912",
@@ -61,6 +61,8 @@ const DEFAULTS = {
61
61
  intelligenceThinkLevel: "low",
62
62
  useEmbeddedAgent: true,
63
63
  wakeMainSession: true,
64
+ gatewayWsUrl: undefined,
65
+ gatewayToken: undefined,
64
66
  };
65
67
  function parseBoolean(value, fallback) {
66
68
  if (value === undefined) {
@@ -85,7 +87,7 @@ function optionalString(value) {
85
87
  function normalizeBaseUrl(url) {
86
88
  return url.replace(/\/+$/, "");
87
89
  }
88
- function loadSchema() {
90
+ function loadSchema(logger) {
89
91
  const candidates = [
90
92
  node_path_1.default.resolve(__dirname, "config.schema.json"),
91
93
  node_path_1.default.resolve(__dirname, "../config.schema.json"),
@@ -96,6 +98,9 @@ function loadSchema() {
96
98
  return JSON.parse(node_fs_1.default.readFileSync(candidate, "utf8"));
97
99
  }
98
100
  }
101
+ if (logger) {
102
+ logger.warn("Config schema not found, validation disabled", { candidates });
103
+ }
99
104
  return { properties: {}, required: [] };
100
105
  }
101
106
  function validateBySchema(config, schema) {
@@ -169,10 +174,15 @@ function validatePluginConfig(config) {
169
174
  schemaIssues.push(`config key workerHost must be loopback-only (localhost, 127.0.0.1, or ::1)`);
170
175
  }
171
176
  try {
172
- const workerBaseUrlHost = new URL(config.workerBaseUrl).hostname;
173
- if (!isLoopbackHost(workerBaseUrlHost)) {
177
+ const parsedUrl = new URL(config.workerBaseUrl);
178
+ if (!isLoopbackHost(parsedUrl.hostname)) {
174
179
  schemaIssues.push(`config key workerBaseUrl must use loopback host (localhost, 127.0.0.1, or ::1)`);
175
180
  }
181
+ const urlPort = parsedUrl.port || (parsedUrl.protocol === "https:" ? "443" : "80");
182
+ if (String(config.workerPort) !== urlPort) {
183
+ schemaIssues.push(`workerPort (${config.workerPort}) does not match workerBaseUrl port (${urlPort}). ` +
184
+ `Set LOBSTER_WORKER_BASE_URL to match, or remove LOBSTER_WORKER_PORT to use the default.`);
185
+ }
176
186
  }
177
187
  catch {
178
188
  // URL syntax is already validated above.
@@ -213,6 +223,8 @@ function loadPluginConfig(rawInput, env = process.env) {
213
223
  intelligenceThinkLevel: raw.intelligenceThinkLevel ?? env.LOBSTER_INTELLIGENCE_THINK_LEVEL ?? DEFAULTS.intelligenceThinkLevel,
214
224
  useEmbeddedAgent: parseBoolean(env.LOBSTER_USE_EMBEDDED_AGENT, raw.useEmbeddedAgent ?? DEFAULTS.useEmbeddedAgent),
215
225
  wakeMainSession: parseBoolean(env.LOBSTER_WAKE_MAIN_SESSION, raw.wakeMainSession ?? DEFAULTS.wakeMainSession),
226
+ gatewayWsUrl: optionalString(raw.gatewayWsUrl ?? env.LOBSTER_GATEWAY_WS_URL) ?? DEFAULTS.gatewayWsUrl,
227
+ gatewayToken: optionalString(raw.gatewayToken ?? env.LOBSTER_GATEWAY_TOKEN) ?? DEFAULTS.gatewayToken,
216
228
  };
217
229
  validatePluginConfig(config);
218
230
  return config;
@@ -224,6 +236,7 @@ function redactConfig(config) {
224
236
  hooksToken: config.hooksToken ? "[set]" : "[missing]",
225
237
  recallSigningSecret: config.recallSigningSecret ? "[set]" : "[missing]",
226
238
  recallApiKey: config.recallApiKey ? "[set]" : "[missing]",
239
+ gatewayToken: config.gatewayToken ? "[set]" : "[unset]",
227
240
  };
228
241
  }
229
242
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":";;;;;AAgNA,4CAiEC;AAED,oCAQC;AA3RD,sDAAyB;AACzB,0DAA6B;AAQ7B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAElE,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,4BAA4B,CAAC;QACrD,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gDAAgD,CAAC;QAC7E,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uCAAuC,CAAC;QACpE,+BAA+B;QAC/B,yDAAyD;QACzD,+DAA+D;KAChE,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,uCAAuC,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,QAAQ,GAAiB;IAC7B,aAAa,EAAE,uBAAuB;IACtC,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,yBAAyB,EAAE;IACxC,eAAe,EAAE,IAAI;IACrB,OAAO,EAAE,kCAAkC;IAC3C,UAAU,EAAE,EAAE;IACd,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,SAAS;IACvB,gBAAgB,EAAE,6BAA6B;IAC/C,iBAAiB,EAAE,aAAa;IAChC,kBAAkB,EAAE,IAAI;IACxB,iBAAiB,EAAE,MAAM;IACzB,qBAAqB,EAAE,SAAS;IAChC,qBAAqB,EAAE,QAAQ;IAC/B,cAAc,EAAE,SAAS;IACzB,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,EAAE;IACzB,yBAAyB,EAAE,EAAE;IAC7B,YAAY,EAAE,SAAS;IACvB,qBAAqB,EAAE,OAAO;IAC9B,sBAAsB,EAAE,KAAK;IAC7B,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF,SAAS,YAAY,CAAC,KAAyB,EAAE,QAAiB;IAChE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB,EAAE,QAAgB;IAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,KAAyB;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvC,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,UAAU;IACjB,MAAM,UAAU,GAAG;QACjB,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC;QAC7C,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC;QAChD,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qDAAqD,CAAC;KACnF,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,iBAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAe,CAAC;QACtE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoB,EAAE,MAAkB;IAChE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAI,MAA6C,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAI,MAA6C,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,QAAQ,CAAC,SAAS,QAAQ,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBAC5D,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC/D,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,eAAe,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAoB;IAChD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,SAAS,CAAU,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,CAAC,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,YAAY,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAClG,CAAC;IAED,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;QACjE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvC,YAAY,CAAC,IAAI,CAAC,gFAAgF,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;IAC3C,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAiB,EAAE,MAAyB,OAAO,CAAC,GAAG;IACtF,MAAM,GAAG,GAAG,CAAC,QAAQ,IAAI,EAAE,CAA0B,CAAC;IAEtD,MAAM,MAAM,GAAiB;QAC3B,GAAG,QAAQ;QACX,GAAG,GAAG;QACN,aAAa,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,uBAAuB,IAAI,QAAQ,CAAC,aAAa,CAAC;QAC3G,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,mBAAmB,IAAI,QAAQ,CAAC,UAAU;QAC5E,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC;QACvF,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,qBAAqB,IAAI,QAAQ,CAAC,YAAY;QACpF,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,oBAAoB,IAAI,QAAQ,CAAC,WAAW;QAChF,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC;QAC7G,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,gBAAgB,IAAI,QAAQ,CAAC,OAAO;QAChE,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,mBAAmB,IAAI,QAAQ,CAAC,UAAU;QAC5E,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,6BAA6B,IAAI,QAAQ,CAAC,mBAAmB;QACjH,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,sBAAsB,CAAC,IAAI,QAAQ,CAAC,YAAY;QACrG,gBAAgB,EACd,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,2BAA2B,IAAI,QAAQ,CAAC,gBAAgB;QACtF,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,0BAA0B,IAAI,QAAQ,CAAC,iBAAiB;QACxG,kBAAkB,EAAE,YAAY,CAC9B,GAAG,CAAC,2BAA2B,EAC/B,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CACtD;QACD,iBAAiB,EAAE,WAAW,CAC5B,GAAG,CAAC,2BAA2B,EAC/B,GAAG,CAAC,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB,CACpD;QACD,qBAAqB,EACnB,GAAG,CAAC,qBAAqB;YACzB,CAAE,GAAG,CAAC,0BAAoE,IAAI,QAAQ,CAAC,qBAAqB,CAAC;QAC/G,qBAAqB,EACnB,GAAG,CAAC,qBAAqB;YACzB,CAAE,GAAG,CAAC,0BAAoE,IAAI,QAAQ,CAAC,qBAAqB,CAAC;QAC/G,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,wBAAwB,IAAI,QAAQ,CAAC,cAAc;QAC7F,mBAAmB,EAAE,WAAW,CAC9B,GAAG,CAAC,6BAA6B,EACjC,GAAG,CAAC,mBAAmB,IAAI,QAAQ,CAAC,mBAAmB,CACxD;QACD,qBAAqB,EAAE,WAAW,CAChC,GAAG,CAAC,+BAA+B,EACnC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB,CAC5D;QACD,yBAAyB,EAAE,WAAW,CACpC,GAAG,CAAC,mCAAmC,EACvC,GAAG,CAAC,yBAAyB,IAAI,QAAQ,CAAC,yBAAyB,CACpE;QACD,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,qBAAqB,CAAC,IAAI,QAAQ,CAAC,YAAY;QACpG,qBAAqB,EAAE,WAAW,CAChC,GAAG,CAAC,+BAA+B,EACnC,GAAG,CAAC,qBAAqB,IAAI,QAAQ,CAAC,qBAAsB,CAC7D;QACD,sBAAsB,EACpB,GAAG,CAAC,sBAAsB,IAAI,GAAG,CAAC,gCAAgC,IAAI,QAAQ,CAAC,sBAAsB;QACvG,gBAAgB,EAAE,YAAY,CAC5B,GAAG,CAAC,0BAA0B,EAC9B,GAAG,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAiB,CACnD;QACD,eAAe,EAAE,YAAY,CAC3B,GAAG,CAAC,yBAAyB,EAC7B,GAAG,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAgB,CACjD;KACF,CAAC;IAEF,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAoB;IAC/C,OAAO;QACL,GAAG,MAAM;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QACzD,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QACrD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;QACvE,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW;KAC1D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../config.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,19 @@
110
110
  },
111
111
  "wakeMainSession": {
112
112
  "type": "boolean"
113
+ },
114
+ "meetingInactivityTimeoutMs": {
115
+ "type": "integer",
116
+ "minimum": 0,
117
+ "default": 600000
118
+ },
119
+ "gatewayWsUrl": {
120
+ "type": "string",
121
+ "minLength": 1
122
+ },
123
+ "gatewayToken": {
124
+ "type": "string",
125
+ "minLength": 1
113
126
  }
114
127
  },
115
128
  "required": [
@@ -12,6 +12,7 @@ export declare class LobsterService implements LobsterServiceApi {
12
12
  health(): Promise<WorkerHealth>;
13
13
  status(): Promise<CommandResponse["state"]>;
14
14
  command(payload: CommandRequest): Promise<CommandResponse>;
15
+ private cleanupArmed;
15
16
  private spawnWorker;
16
17
  private waitForHealth;
17
18
  }
@@ -69,10 +69,19 @@ class LobsterService {
69
69
  }
70
70
  const proc = this.workerProcess;
71
71
  if (proc) {
72
+ const exited = new Promise((resolve) => proc.once("exit", resolve));
72
73
  proc.kill("SIGTERM");
73
- await sleep(250);
74
- if (!proc.killed) {
75
- proc.kill("SIGKILL");
74
+ const didExit = await Promise.race([
75
+ exited.then(() => true),
76
+ sleep(2_000).then(() => false),
77
+ ]);
78
+ if (!didExit) {
79
+ this.logger.warn("Worker did not exit after SIGTERM, sending SIGKILL");
80
+ try {
81
+ proc.kill("SIGKILL");
82
+ }
83
+ catch { /* already dead */ }
84
+ await Promise.race([exited, sleep(1_000)]);
76
85
  }
77
86
  }
78
87
  this.started = false;
@@ -144,14 +153,36 @@ class LobsterService {
144
153
  userMessage: "Lobster is unavailable right now. Try /lobster status in a few seconds.",
145
154
  };
146
155
  }
156
+ cleanupArmed = false;
147
157
  spawnWorker() {
148
158
  if (this.workerProcess && !this.workerProcess.killed) {
149
159
  return;
150
160
  }
151
- this.workerProcess = (0, worker_spawn_1.spawnWorkerProcess)(this.config, this.logger, () => {
161
+ const proc = (0, worker_spawn_1.spawnWorkerProcess)(this.config, this.logger, () => {
152
162
  this.workerProcess = null;
153
163
  this.started = false;
164
+ this.cleanupArmed = false;
154
165
  });
166
+ if (!proc) {
167
+ this.started = false;
168
+ return;
169
+ }
170
+ this.workerProcess = proc;
171
+ // Clean up worker if gateway dies unexpectedly.
172
+ // Uses a guard flag since the plugin process type doesn't expose removeListener.
173
+ this.cleanupArmed = true;
174
+ const cleanup = () => {
175
+ if (!this.cleanupArmed)
176
+ return;
177
+ this.cleanupArmed = false;
178
+ try {
179
+ proc.kill("SIGTERM");
180
+ }
181
+ catch { /* already dead */ }
182
+ };
183
+ process.on("exit", cleanup);
184
+ process.on("SIGTERM", cleanup);
185
+ process.on("SIGINT", cleanup);
155
186
  }
156
187
  async waitForHealth() {
157
188
  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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"}
@@ -3,4 +3,4 @@ import type { WorkerConfig, PluginConfig } from "@meetlobster/shared";
3
3
  import type { OpenClawLogger } from "../types/lobster";
4
4
  export declare function buildWorkerConfig(config: PluginConfig): WorkerConfig;
5
5
  export declare function resolveOpenClawRoot(): string;
6
- export declare function spawnWorkerProcess(config: PluginConfig, logger: OpenClawLogger, onExit: () => void): ChildProcessWithoutNullStreams;
6
+ export declare function spawnWorkerProcess(config: PluginConfig, logger: OpenClawLogger, onExit: () => void): ChildProcessWithoutNullStreams | null;
@@ -40,6 +40,9 @@ function buildWorkerConfig(config) {
40
40
  intelligenceThinkLevel: config.intelligenceThinkLevel,
41
41
  useEmbeddedAgent: config.useEmbeddedAgent,
42
42
  wakeMainSession: config.wakeMainSession,
43
+ meetingInactivityTimeoutMs: config.meetingInactivityTimeoutMs,
44
+ gatewayWsUrl: config.gatewayWsUrl,
45
+ gatewayToken: config.gatewayToken,
43
46
  };
44
47
  }
45
48
  function resolveOpenClawRoot() {
@@ -83,6 +86,11 @@ function spawnWorkerProcess(config, logger, onExit) {
83
86
  const workerConfig = buildWorkerConfig(config);
84
87
  const workerEntry = node_path_1.default.resolve(config.workerEntry);
85
88
  logger.info("Starting Lobster worker", { workerEntry });
89
+ if (!node_fs_1.default.existsSync(workerEntry)) {
90
+ logger.error(`Lobster worker entry not found at ${workerEntry}. Install @meetlobster/worker globally: npm i -g @meetlobster/worker`);
91
+ onExit();
92
+ return null;
93
+ }
86
94
  const child = (0, node_child_process_1.spawn)(process.execPath, [workerEntry], {
87
95
  env: {
88
96
  ...process.env,
@@ -1 +1 @@
1
- {"version":3,"file":"worker-spawn.js","sourceRoot":"","sources":["../../services/worker-spawn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-spawn.js","sourceRoot":"","sources":["../../services/worker-spawn.ts"],"names":[],"mappings":"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"}
@@ -110,6 +110,19 @@
110
110
  },
111
111
  "wakeMainSession": {
112
112
  "type": "boolean"
113
+ },
114
+ "meetingInactivityTimeoutMs": {
115
+ "type": "integer",
116
+ "minimum": 0,
117
+ "default": 600000
118
+ },
119
+ "gatewayWsUrl": {
120
+ "type": "string",
121
+ "minLength": 1
122
+ },
123
+ "gatewayToken": {
124
+ "type": "string",
125
+ "minLength": 1
113
126
  }
114
127
  },
115
128
  "required": [
package/package.json CHANGED
@@ -1,17 +1,19 @@
1
1
  {
2
2
  "name": "@meetlobster/openclaw-plugin",
3
- "version": "1.3.6",
3
+ "version": "1.3.8",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
7
7
  "dist",
8
8
  "openclaw.plugin.json",
9
- "config.schema.json"
9
+ "config.schema.json",
10
+ "scripts/preuninstall.js"
10
11
  ],
11
12
  "scripts": {
12
13
  "build": "rm -rf dist && tsc -p tsconfig.json && node scripts/sync-extensions.js",
13
14
  "typecheck": "tsc -p tsconfig.json --noEmit",
14
- "test": "vitest run"
15
+ "test": "vitest run",
16
+ "preuninstall": "node scripts/preuninstall.js"
15
17
  },
16
18
  "dependencies": {
17
19
  "@meetlobster/shared": "^1.3.0",
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ // Standalone cleanup script — no dependencies, no TypeScript.
5
+ // Removes lobster-external entries from openclaw.json so the gateway
6
+ // doesn't crash trying to load a deleted plugin after uninstall.
7
+
8
+ const fs = require("fs");
9
+ const path = require("path");
10
+ const os = require("os");
11
+
12
+ try {
13
+ // Support --config <path> for standalone usage
14
+ const configArgIdx = process.argv.indexOf("--config");
15
+ const configPath = (configArgIdx !== -1 && process.argv[configArgIdx + 1])
16
+ ? process.argv[configArgIdx + 1]
17
+ : path.join(os.homedir(), ".openclaw", "openclaw.json");
18
+
19
+ if (!fs.existsSync(configPath)) {
20
+ // Nothing to clean — fresh system or config elsewhere.
21
+ process.exit(0);
22
+ }
23
+
24
+ const raw = fs.readFileSync(configPath, "utf-8");
25
+ const config = JSON.parse(raw);
26
+
27
+ const plugins = config.plugins;
28
+ if (!plugins) {
29
+ process.exit(0);
30
+ }
31
+
32
+ let changed = false;
33
+
34
+ // 1. Remove plugins.entries["lobster-external"]
35
+ if (plugins.entries && plugins.entries["lobster-external"]) {
36
+ delete plugins.entries["lobster-external"];
37
+ console.error("[lobster] Removed plugins.entries.lobster-external");
38
+ changed = true;
39
+ }
40
+
41
+ // 2. Remove paths containing "lobster-external" from plugins.load.paths
42
+ if (plugins.load && Array.isArray(plugins.load.paths)) {
43
+ const before = plugins.load.paths.length;
44
+ plugins.load.paths = plugins.load.paths.filter(
45
+ (p) => !p.includes("lobster-external")
46
+ );
47
+ if (plugins.load.paths.length < before) {
48
+ console.error("[lobster] Removed lobster-external from plugins.load.paths");
49
+ changed = true;
50
+ }
51
+ }
52
+
53
+ // 3. Remove "lobster-external" from plugins.allow array
54
+ if (Array.isArray(plugins.allow)) {
55
+ const idx = plugins.allow.indexOf("lobster-external");
56
+ if (idx !== -1) {
57
+ plugins.allow.splice(idx, 1);
58
+ console.error("[lobster] Removed lobster-external from plugins.allow");
59
+ changed = true;
60
+ }
61
+ }
62
+
63
+ // 4. Remove plugins.installs["lobster-external"]
64
+ if (plugins.installs && plugins.installs["lobster-external"]) {
65
+ delete plugins.installs["lobster-external"];
66
+ console.error("[lobster] Removed plugins.installs.lobster-external");
67
+ changed = true;
68
+ }
69
+
70
+ if (!changed) {
71
+ console.error("[lobster] No lobster-external entries found in config — nothing to clean.");
72
+ process.exit(0);
73
+ }
74
+
75
+ // Atomic write: write to tmp file, then rename over original.
76
+ const tmpPath = configPath + ".tmp";
77
+ fs.writeFileSync(tmpPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
78
+ fs.renameSync(tmpPath, configPath);
79
+
80
+ console.error("[lobster] Cleaned lobster-external from " + configPath);
81
+
82
+ // Also remove sidecar config file if present
83
+ const sidecarPath = path.join(path.dirname(configPath), "lobster.overrides.json");
84
+ if (fs.existsSync(sidecarPath)) {
85
+ fs.unlinkSync(sidecarPath);
86
+ console.error("[lobster] Removed sidecar config: " + sidecarPath);
87
+ }
88
+ } catch (err) {
89
+ // Never block uninstall — swallow all errors.
90
+ console.error("[lobster] preuninstall cleanup skipped:", err.message);
91
+ }
92
+
93
+ process.exit(0);