@sonicbotman/lobster-press 3.2.2 → 3.2.4

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/README.md CHANGED
@@ -464,15 +464,15 @@ detail = lobster_expand(db, "sum_abc123")
464
464
  | 操作 | 性能 | 备注 |
465
465
  |------|------|------|
466
466
  | 消息入库 | <5ms | 含 TF-IDF 评分 + 类型分类 |
467
- | FTS5 搜索 | <10ms | 100K+ 消息,毫秒级响应 |
467
+ | FTS5 搜索 | <10ms | ⚠️ 待修复:当前版本存在问题(Issue #111)|
468
468
  | Light 压缩 | 0ms | 余弦相似度去重,无 LLM 调用 |
469
469
  | DAG 压缩 | ~2s/1K tokens | Claude 3.5 Sonnet API |
470
470
  | 矛盾检测 | <100ms | 规则降级模式(零依赖) |
471
471
 
472
472
  **压缩效果**:
473
- - 100K+ 消息 <200K tokens(500x 压缩比)
473
+ - 实测压缩比 ~3x(1K 消息测试),理论最大值取决于 LLM 摘要质量
474
474
  - 保留 100% 原始消息(无损)
475
- - 95%+ 关键信息在顶部 20K tokens
475
+ - 关键信息保留率:待验证
476
476
 
477
477
  ---
478
478
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAsG7D,QAAA,MAAM,aAAa;;;;;qBAOF,OAAO;;kBASR,iBAAiB;CAiDhC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAoO7D,QAAA,MAAM,aAAa;;;;;qBAOF,OAAO;;kBASR,iBAAiB;CAiDhC,CAAC;AAEF,eAAe,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -3,75 +3,171 @@
3
3
  *
4
4
  * DAG-based conversation summarization with Ebbinghaus forgetting curve,
5
5
  * semantic notes, contradiction detection.
6
+ *
7
+ * Phase 1 IPC Refactor (Issue #115):
8
+ * - Ready handshake from Python
9
+ * - Request ID routing for concurrent requests
10
+ * - Clean failure on child process exit
6
11
  */
7
12
  import { spawn } from "node:child_process";
8
13
  import { join } from "node:path";
9
14
  import { Type } from "@sinclair/typebox";
10
- // Python MCP Server 进程(懒启动)
15
+ // ─── Global State ────────────────────────────────────────────────────────────
11
16
  let mcpProcess = null;
12
17
  let mcpReady = false;
13
- /** 启动 Python MCP Server */
14
- function ensureMcpServer(config) {
15
- if (mcpProcess && mcpReady)
16
- return mcpProcess;
17
- const dbPath = config.dbPath || join(process.env.HOME ?? "~", ".openclaw/lobster.db");
18
- const pythonCmd = process.env.LOBSTER_PYTHON ?? "python3";
19
- mcpProcess = spawn(pythonCmd, [
20
- "-m", "mcp_server.lobster_mcp_server",
21
- "--db", dbPath,
22
- "--provider", config.llmProvider || "",
23
- "--model", config.llmModel || "",
24
- ], {
25
- env: {
26
- ...process.env,
27
- LOBSTER_LLM_API_KEY: config.llmApiKey || process.env.LOBSTER_LLM_API_KEY || "",
28
- },
29
- stdio: ["pipe", "pipe", "inherit"],
18
+ let bootPromise = null;
19
+ let stdoutBuffer = "";
20
+ const pendingRequests = new Map();
21
+ // ─── IPC Helpers ─────────────────────────────────────────────────────────────
22
+ function generateRequestId() {
23
+ return `lobster-${Date.now()}-${Math.random().toString(16).slice(2)}`;
24
+ }
25
+ function handleStdoutLine(line) {
26
+ let msg;
27
+ try {
28
+ msg = JSON.parse(line);
29
+ }
30
+ catch {
31
+ return;
32
+ }
33
+ // Ready handshake from Python
34
+ if (msg.type === "lobster-press/ready") {
35
+ mcpReady = true;
36
+ return;
37
+ }
38
+ // Route response by requestId
39
+ const requestId = msg.requestId;
40
+ if (!requestId)
41
+ return;
42
+ const pending = pendingRequests.get(requestId);
43
+ if (!pending)
44
+ return;
45
+ clearTimeout(pending.timer);
46
+ pendingRequests.delete(requestId);
47
+ if (msg.status === "error") {
48
+ pending.reject(new Error(typeof msg.error === "string" ? msg.error : JSON.stringify(msg.error)));
49
+ }
50
+ else {
51
+ pending.resolve(msg);
52
+ }
53
+ }
54
+ function attachStdoutDispatcher(proc) {
55
+ if (!proc.stdout)
56
+ return;
57
+ if (proc.stdout.__lobsterDispatcherAttached)
58
+ return;
59
+ proc.stdout.__lobsterDispatcherAttached = true;
60
+ proc.stdout.on("data", (chunk) => {
61
+ stdoutBuffer += chunk.toString("utf8");
62
+ const lines = stdoutBuffer.split("\n");
63
+ stdoutBuffer = lines.pop() ?? "";
64
+ for (const raw of lines) {
65
+ const line = raw.trim();
66
+ if (!line)
67
+ continue;
68
+ handleStdoutLine(line);
69
+ }
30
70
  });
31
- mcpReady = true;
32
- mcpProcess.on("exit", () => {
71
+ proc.on("exit", (code) => {
33
72
  mcpProcess = null;
34
73
  mcpReady = false;
74
+ bootPromise = null;
75
+ // Fail all pending requests
76
+ for (const [, pending] of pendingRequests) {
77
+ clearTimeout(pending.timer);
78
+ pending.reject(new Error(`lobster-press MCP exited: code=${code ?? "unknown"}`));
79
+ }
80
+ pendingRequests.clear();
81
+ });
82
+ }
83
+ async function ensureMcpServer(config) {
84
+ if (mcpProcess && mcpReady)
85
+ return mcpProcess;
86
+ if (bootPromise)
87
+ return bootPromise;
88
+ bootPromise = new Promise((resolve, reject) => {
89
+ const dbPath = config.dbPath ||
90
+ join(process.env.HOME ?? "~", ".openclaw/lobster.db");
91
+ const pythonCmd = process.env.LOBSTER_PYTHON ?? "python3";
92
+ const proc = spawn(pythonCmd, [
93
+ "-m",
94
+ "mcp_server.lobster_mcp_server",
95
+ "--db",
96
+ dbPath,
97
+ "--provider",
98
+ config.llmProvider || "",
99
+ "--model",
100
+ config.llmModel || "",
101
+ ], {
102
+ env: {
103
+ ...process.env,
104
+ LOBSTER_LLM_API_KEY: config.llmApiKey ||
105
+ process.env.LOBSTER_LLM_API_KEY ||
106
+ "",
107
+ },
108
+ stdio: ["pipe", "pipe", "inherit"],
109
+ });
110
+ mcpProcess = proc;
111
+ mcpReady = false;
112
+ attachStdoutDispatcher(proc);
113
+ const startedAt = Date.now();
114
+ const poll = setInterval(() => {
115
+ if (mcpReady) {
116
+ clearInterval(poll);
117
+ resolve(proc);
118
+ }
119
+ else if (Date.now() - startedAt > 10_000) {
120
+ clearInterval(poll);
121
+ bootPromise = null;
122
+ reject(new Error("lobster-press MCP did not become ready within 10s"));
123
+ }
124
+ }, 50);
125
+ proc.once("error", (err) => {
126
+ clearInterval(poll);
127
+ bootPromise = null;
128
+ reject(err);
129
+ });
130
+ proc.once("exit", (code) => {
131
+ if (!mcpReady) {
132
+ clearInterval(poll);
133
+ bootPromise = null;
134
+ reject(new Error(`lobster-press MCP exited before ready: code=${code ?? "unknown"}`));
135
+ }
136
+ });
35
137
  });
36
- return mcpProcess;
138
+ try {
139
+ return await bootPromise;
140
+ }
141
+ finally {
142
+ if (mcpReady)
143
+ bootPromise = null;
144
+ }
37
145
  }
38
- /** 向 Python MCP Server 发送请求 */
39
146
  async function callMcp(config, toolName, args) {
40
- const proc = ensureMcpServer(config);
41
- return new Promise((resolve, reject) => {
147
+ const proc = await ensureMcpServer(config);
148
+ const requestId = generateRequestId();
149
+ const response = await new Promise((resolve, reject) => {
150
+ const timer = setTimeout(() => {
151
+ pendingRequests.delete(requestId);
152
+ reject(new Error(`lobster-press MCP tool call timed out after 30s: ${toolName}`));
153
+ }, 30_000);
154
+ pendingRequests.set(requestId, { resolve, reject, timer });
42
155
  const request = JSON.stringify({
43
156
  method: "tools/call",
157
+ requestId,
44
158
  params: { name: toolName, arguments: args },
45
159
  }) + "\n";
46
- let output = "";
47
- const onData = (chunk) => {
48
- output += chunk.toString();
49
- const lines = output.split("\n");
50
- for (const line of lines.slice(0, -1)) {
51
- if (line.trim()) {
52
- proc.stdout?.off("data", onData);
53
- try {
54
- const result = JSON.parse(line);
55
- resolve({
56
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
57
- details: result,
58
- });
59
- }
60
- catch (e) {
61
- reject(e);
62
- }
63
- return;
64
- }
65
- }
66
- output = lines[lines.length - 1] ?? "";
67
- };
68
- proc.stdout?.on("data", onData);
69
160
  proc.stdin?.write(request);
70
- setTimeout(() => {
71
- proc.stdout?.off("data", onData);
72
- reject(new Error("lobster-press MCP tool call timed out after 30s"));
73
- }, 30_000);
74
161
  });
162
+ return {
163
+ content: [
164
+ {
165
+ type: "text",
166
+ text: JSON.stringify(response.result ?? response, null, 2),
167
+ },
168
+ ],
169
+ details: response,
170
+ };
75
171
  }
76
172
  // ─── Tool Schemas ─────────────────────────────────────────────────────────────
77
173
  const LobsterGrepSchema = Type.Object({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonicbotman/lobster-press",
3
- "version": "3.2.2",
3
+ "version": "3.2.4",
4
4
  "description": "Cognitive Memory System for AI Agents — OpenClaw Plugin",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -40,5 +40,8 @@
40
40
  "bugs": {
41
41
  "url": "https://github.com/SonicBotMan/lobster-press/issues"
42
42
  },
43
- "homepage": "https://github.com/SonicBotMan/lobster-press#readme"
43
+ "homepage": "https://github.com/SonicBotMan/lobster-press#readme",
44
+ "openclaw": {
45
+ "extensions": ["./dist/index.js"]
46
+ }
44
47
  }