@cello-protocol/connect 0.0.60 → 0.0.62
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/bin/cello-mcp.js +56 -4
- package/dist/bin/cello-mcp.js.map +1 -1
- package/dist/channel-params.d.ts.map +1 -1
- package/dist/channel-params.js +48 -6
- package/dist/channel-params.js.map +1 -1
- package/dist/ipc-proxy.d.ts +33 -18
- package/dist/ipc-proxy.d.ts.map +1 -1
- package/dist/ipc-proxy.js +233 -57
- package/dist/ipc-proxy.js.map +1 -1
- package/package.json +4 -4
package/dist/bin/cello-mcp.js
CHANGED
|
@@ -68,7 +68,9 @@ process.stderr.write = (chunk, encodingOrCb, cb) => {
|
|
|
68
68
|
// operator (or test) running the daemon under a non-default home would have cello-mcp
|
|
69
69
|
// look in ~/.cello and fail to find the socket.
|
|
70
70
|
const socketPath = join(celloDir, "daemon.sock");
|
|
71
|
-
|
|
71
|
+
// RECONNECT-001: clientType is handed to the proxy so it can replay `ipc.connect` after a daemon
|
|
72
|
+
// restart. Without it the reconnected socket has no registered client and no current agent.
|
|
73
|
+
const proxy = new IpcProxy(socketPath, { clientType: "mcp" });
|
|
72
74
|
try {
|
|
73
75
|
await proxy.connect();
|
|
74
76
|
}
|
|
@@ -139,6 +141,55 @@ server.tool("cello_list_agents", "List all agents with state from this connectio
|
|
|
139
141
|
const result = await proxy.call("cello_list_agents");
|
|
140
142
|
return jsonText(result);
|
|
141
143
|
});
|
|
144
|
+
// ─── Contact whitelist tools (CC-9) ─────────────────────────────────────────
|
|
145
|
+
// The per-agent whitelist is load-bearing after CC-1: a known contact is fast-tracked and exempt
|
|
146
|
+
// from unknown-sender screening + the ABUSE-1 acceptance caps. These forward to the daemon handlers
|
|
147
|
+
// (cello_contact_list/add/remove) so an agent driving via MCP can see and manage its own whitelist —
|
|
148
|
+
// previously CLI-only (`cello contact …`). Per-agent: defaults to the current agent, or pass { agent }.
|
|
149
|
+
server.tool("cello_contact_list", "List an agent's contact whitelist — the peers it treats as known/trusted (fast-tracked, exempt from unknown-sender screening and anti-spam caps). Defaults to the current agent; pass { agent } to target another.", {
|
|
150
|
+
agent: z.string().optional().describe("Agent name whose whitelist to list (defaults to the current agent)"),
|
|
151
|
+
}, async ({ agent }) => {
|
|
152
|
+
const result = await proxy.call("cello_contact_list", agent ? { agent } : {});
|
|
153
|
+
return jsonText(result);
|
|
154
|
+
});
|
|
155
|
+
server.tool("cello_contact_add", "Add a peer (by hex public key) to an agent's contact whitelist — a known/trusted contact is fast-tracked and exempt from unknown-sender screening and anti-spam caps. Optionally set your own pet name (moniker) for them. Defaults to the current agent.", {
|
|
156
|
+
pubkey: z.string().describe("Hex-encoded public key of the peer to add"),
|
|
157
|
+
moniker: z.string().optional().describe("Optional pet name for this contact (1-64 chars: letters, digits, '-' or '_') — always wins over the name they offer"),
|
|
158
|
+
agent: z.string().optional().describe("Agent name whose whitelist to add to (defaults to the current agent)"),
|
|
159
|
+
}, async ({ pubkey, moniker, agent }) => {
|
|
160
|
+
const params = { pubkey };
|
|
161
|
+
if (moniker !== undefined)
|
|
162
|
+
params.moniker = moniker;
|
|
163
|
+
if (agent)
|
|
164
|
+
params.agent = agent;
|
|
165
|
+
const result = await proxy.call("cello_contact_add", params);
|
|
166
|
+
return jsonText(result);
|
|
167
|
+
});
|
|
168
|
+
// MONIKER-3: rename/clear a contact's pet name. Forward-only (D7).
|
|
169
|
+
server.tool("cello_contact_set_moniker", "Set (or clear, by passing null) YOUR pet name for an existing contact — the top-priority display name shown for them (always wins over the name they offer). Defaults to the current agent.", {
|
|
170
|
+
pubkey: z.string().describe("Hex-encoded public key of the contact to rename"),
|
|
171
|
+
moniker: z.string().nullable().describe("The pet name to set (1-64 chars: letters, digits, '-' or '_'), or null to clear it"),
|
|
172
|
+
agent: z.string().optional().describe("Agent name whose contact to rename (defaults to the current agent)"),
|
|
173
|
+
}, async ({ pubkey, moniker, agent }) => {
|
|
174
|
+
const result = await proxy.call("cello_contact_set_moniker", agent ? { pubkey, moniker, agent } : { pubkey, moniker });
|
|
175
|
+
return jsonText(result);
|
|
176
|
+
});
|
|
177
|
+
server.tool("cello_contact_remove", "Remove a peer (by hex public key) from an agent's contact whitelist — they revert to unknown (screened, and subject to the anti-spam acceptance caps). Defaults to the current agent.", {
|
|
178
|
+
pubkey: z.string().describe("Hex-encoded public key of the peer to remove"),
|
|
179
|
+
agent: z.string().optional().describe("Agent name whose whitelist to remove from (defaults to the current agent)"),
|
|
180
|
+
}, async ({ pubkey, agent }) => {
|
|
181
|
+
const result = await proxy.call("cello_contact_remove", agent ? { pubkey, agent } : { pubkey });
|
|
182
|
+
return jsonText(result);
|
|
183
|
+
});
|
|
184
|
+
// MONIKER-1: outbound-name override. Forward-only (D7 — validation and persistence live in the
|
|
185
|
+
// daemon's cello_set_moniker; the shim adds no logic).
|
|
186
|
+
server.tool("cello_set_moniker", "Set (or clear, by passing null) an agent's outbound display name — what a counterparty's doorbell shows. Defaults to the agent name; local-only, never sent to the directory. 1-64 chars: letters, digits, '-' or '_'. Defaults to the current agent.", {
|
|
187
|
+
moniker: z.string().nullable().describe("The outbound name to set, or null to clear the override (reverts to the agent name)"),
|
|
188
|
+
agent: z.string().optional().describe("Agent name whose outbound name to set (defaults to the current agent)"),
|
|
189
|
+
}, async ({ moniker, agent }) => {
|
|
190
|
+
const result = await proxy.call("cello_set_moniker", agent ? { moniker, agent } : { moniker });
|
|
191
|
+
return jsonText(result);
|
|
192
|
+
});
|
|
142
193
|
// ─── Session tools (proxied through daemon) ─────────────────────────────────
|
|
143
194
|
server.tool("cello_initiate_session", "Start a new CELLO session with a target agent", {
|
|
144
195
|
target_pubkey: z.string().describe("Hex-encoded public key of the target agent"),
|
|
@@ -184,10 +235,11 @@ server.tool("cello_receive_session", "Receive messages from an active session (a
|
|
|
184
235
|
const result = await proxy.call("cello_receive_session", { session_id, timeout_ms });
|
|
185
236
|
return jsonText(result);
|
|
186
237
|
});
|
|
187
|
-
server.tool("cello_close_session", "Close
|
|
238
|
+
server.tool("cello_close_session", "Close a session. Normally triggers the bilateral seal ceremony (both parties get a notarized receipt). Pass force:true ONLY to abandon a half-open session that can never be sealed — a handshake the counterparty never joined, whose normal close hangs/rejects on the seal; force marks it terminal locally with no seal so it leaves the open list.", {
|
|
188
239
|
session_id: z.string().describe("Session ID to close"),
|
|
189
|
-
|
|
190
|
-
|
|
240
|
+
force: z.boolean().optional().describe("Force-abandon a provably unsealable half-open session (no bilateral seal). Do NOT use on a healthy session — it forfeits the notarized receipt."),
|
|
241
|
+
}, async ({ session_id, force }) => {
|
|
242
|
+
const result = await proxy.call("cello_close_session", force ? { session_id, force } : { session_id });
|
|
191
243
|
return jsonText(result);
|
|
192
244
|
});
|
|
193
245
|
server.tool("cello_list_sessions", "List all sessions for the current agent", {}, async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cello-mcp.js","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cello-mcp.js","sourceRoot":"","sources":["../../src/bin/cello-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-params.d.ts","sourceRoot":"","sources":["../src/channel-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"channel-params.d.ts","sourceRoot":"","sources":["../src/channel-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAoEH;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAYnD"}
|
package/dist/channel-params.js
CHANGED
|
@@ -21,16 +21,58 @@ function short(v) {
|
|
|
21
21
|
const s = v == null ? "" : String(v);
|
|
22
22
|
return s.length > 12 ? `${s.slice(0, 12)}…` : s;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
24
|
+
/** Shim-side fingerprint — mirrors the daemon's who-label format for old-daemon frames. */
|
|
25
|
+
function shimFingerprint(pubkey) {
|
|
26
|
+
const s = typeof pubkey === "string" && pubkey.length >= 8 ? pubkey.slice(0, 8) : null;
|
|
27
|
+
return s !== null ? `agent ${s}…` : "agent unknown…";
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* MONIKER-4 AC3/AC4 — the rendered counterparty label.
|
|
31
|
+
* - whoKnown true → plain (the operator's own pet name — deliberate trust, CC-1).
|
|
32
|
+
* - whoKnown false + fingerprint → plain (derived identity, not a claim). The discriminator is
|
|
33
|
+
* UNFORGEABLE: MONIKER_RE excludes spaces, and every fingerprint contains one.
|
|
34
|
+
* - whoKnown false + name → `"Bob" (unverified)` — rendered as a claim; the marker itself cannot
|
|
35
|
+
* be forged because the charset excludes quotes and parentheses.
|
|
36
|
+
* - No `who` at all (old daemon) → shim-side fingerprint of the counterparty key. Never blank.
|
|
37
|
+
* Names are NEVER truncated (only fingerprints shorten, by construction).
|
|
38
|
+
*/
|
|
39
|
+
function renderWho(data) {
|
|
40
|
+
const who = typeof data["who"] === "string" && data["who"].length > 0 ? data["who"] : null;
|
|
41
|
+
if (who === null)
|
|
42
|
+
return shimFingerprint(data["counterpartyPubkey"] ?? data["from"]);
|
|
43
|
+
if (data["whoKnown"] === true)
|
|
44
|
+
return who;
|
|
45
|
+
return who.includes(" ") ? who : `"${who}" (unverified)`;
|
|
46
|
+
}
|
|
47
|
+
/** Human-readable, content-free doorbell announcement for the `<channel>` tag body.
|
|
48
|
+
* MONIKER-4 AC3: the label LEADS; session IDs stay out of the body (they remain as `<channel>`
|
|
49
|
+
* meta attributes, where tools read them). */
|
|
25
50
|
function doorbellText(type, data) {
|
|
26
|
-
const session = short(data["session_id"] ?? data["sessionId"]);
|
|
27
51
|
switch (type) {
|
|
28
52
|
case "cello_message":
|
|
29
|
-
return
|
|
53
|
+
return `📩 CELLO — ${renderWho(data)} sent a message. Run cello_receive to read it.`;
|
|
30
54
|
case "cello_session_request":
|
|
31
|
-
return
|
|
32
|
-
case "session_state_changed":
|
|
33
|
-
|
|
55
|
+
return `📞 CELLO — ${renderWho(data)} wants to connect. Run cello_await_session to accept.`;
|
|
56
|
+
case "session_state_changed": {
|
|
57
|
+
const who = renderWho(data);
|
|
58
|
+
// Review F1: agent names share MONIKER_RE (≤64 chars) — AC3's "never truncates a name"
|
|
59
|
+
// applies to YOUR agent name too; only fingerprints shorten.
|
|
60
|
+
const yourAgent = String(data["agentName"] ?? data["agent"] ?? "your agent");
|
|
61
|
+
switch (String(data["state"] ?? "changed")) {
|
|
62
|
+
case "created":
|
|
63
|
+
return `📞 CELLO — ${who} wants to connect with ${yourAgent}. Run cello_await_session to accept.`;
|
|
64
|
+
case "active":
|
|
65
|
+
return `✅ CELLO — you're connected to ${who}.`;
|
|
66
|
+
case "sealed":
|
|
67
|
+
return `🔒 CELLO — session with ${who} sealed. Receipt saved.`;
|
|
68
|
+
case "closed":
|
|
69
|
+
// The frame carries state, not who closed it — attributing the action would be a lie
|
|
70
|
+
// half the time (spec AC3 note).
|
|
71
|
+
return `👋 CELLO — session with ${who} ended.`;
|
|
72
|
+
default:
|
|
73
|
+
return `CELLO — session with ${who} is now "${String(data["state"] ?? "changed")}".`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
34
76
|
case "agent_state_changed":
|
|
35
77
|
return `CELLO: agent ${short(data["agent"])} is now ${String(data["state"] ?? "changed")}.`;
|
|
36
78
|
case "agent_current_changed":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-params.js","sourceRoot":"","sources":["../src/channel-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,SAAS,KAAK,CAAC,CAAU;IACvB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"channel-params.js","sourceRoot":"","sources":["../src/channel-params.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,SAAS,KAAK,CAAC,CAAU;IACvB,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,2FAA2F;AAC3F,SAAS,eAAe,CAAC,MAAe;IACtC,MAAM,CAAC,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACvD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,SAAS,CAAC,IAA6B;IAC9C,MAAM,GAAG,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3F,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrF,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,gBAAgB,CAAC;AAC3D,CAAC;AAED;;+CAE+C;AAC/C,SAAS,YAAY,CAAC,IAAY,EAAE,IAA6B;IAC/D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,eAAe;YAClB,OAAO,cAAc,SAAS,CAAC,IAAI,CAAC,gDAAgD,CAAC;QACvF,KAAK,uBAAuB;YAC1B,OAAO,cAAc,SAAS,CAAC,IAAI,CAAC,uDAAuD,CAAC;QAC9F,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,uFAAuF;YACvF,6DAA6D;YAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;YAC7E,QAAQ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;gBAC3C,KAAK,SAAS;oBACZ,OAAO,cAAc,GAAG,0BAA0B,SAAS,sCAAsC,CAAC;gBACpG,KAAK,QAAQ;oBACX,OAAO,iCAAiC,GAAG,GAAG,CAAC;gBACjD,KAAK,QAAQ;oBACX,OAAO,2BAA2B,GAAG,yBAAyB,CAAC;gBACjE,KAAK,QAAQ;oBACX,qFAAqF;oBACrF,iCAAiC;oBACjC,OAAO,2BAA2B,GAAG,SAAS,CAAC;gBACjD;oBACE,OAAO,wBAAwB,GAAG,YAAY,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;YACzF,CAAC;QACH,CAAC;QACD,KAAK,qBAAqB;YACxB,OAAO,gBAAgB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC;QAC9F,KAAK,uBAAuB;YAC1B,OAAO,mCAAmC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;QACvF;YACE,OAAO,gBAAgB,IAAI,GAAG,CAAC;IACnC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAA6B;IAE7B,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IACzF,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,4FAA4F;QAC5F,2FAA2F;QAC3F,IAAI,CAAC,KAAK,SAAS;YAAE,SAAS;QAC9B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACzC,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,SAAS;QACjD,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;AACrD,CAAC"}
|
package/dist/ipc-proxy.d.ts
CHANGED
|
@@ -1,40 +1,54 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IPC Proxy — thin client for connecting cello-mcp to the daemon.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* c. On 'error' → reject with ENOENT/ECONNREFUSED
|
|
9
|
-
* d. Set up JSON-newline framing reader
|
|
4
|
+
* RECONNECT-001: the proxy survives a daemon restart. Previously a restart closed the socket, set
|
|
5
|
+
* a permanent `#dead` flag, and every subsequent tool call returned `ipc_connection_lost` forever —
|
|
6
|
+
* the operator's cello_* tools silently vanished behind an error that named no remedy. It orphaned
|
|
7
|
+
* every connected agent at once (Claude Code and Hermes alike).
|
|
10
8
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
9
|
+
* Two invariants the reconnect must not break:
|
|
10
|
+
*
|
|
11
|
+
* 1. **Replay the session, not just the socket.** The daemon rebuilds per-connection state on
|
|
12
|
+
* restart, so a reconnected socket has no registered clientType and no current agent. Both are
|
|
13
|
+
* replayed (`ipc.connect`, then `cello_use_agent`) BEFORE any queued caller is released —
|
|
14
|
+
* otherwise tools fail `no_current_agent` and the NotificationDispatcher (which routes on
|
|
15
|
+
* currentAgent) silently stops delivering doorbells.
|
|
16
|
+
*
|
|
17
|
+
* 2. **Never replay an in-flight request.** `cello_send` is not idempotent; a silent retry would
|
|
18
|
+
* double-send a message. In-flight calls resolve as `ipc_connection_lost` and the caller retries
|
|
19
|
+
* explicitly. Only the handshake — which IS idempotent — is replayed.
|
|
19
20
|
*
|
|
20
|
-
*
|
|
21
|
+
* Pseudocode:
|
|
22
|
+
* 1. connect(): open the socket; reject on ENOENT/ECONNREFUSED so startup still fails fast.
|
|
23
|
+
* 2. call(method, params):
|
|
24
|
+
* a. closed by us → ipc_connection_lost immediately
|
|
25
|
+
* b. disconnected → await reconnection (bounded); on timeout → ipc_connection_lost
|
|
26
|
+
* c. write { id, method, params } + '\n'; await the response by id
|
|
27
|
+
* 3. On unexpected close: fail every pending request, then reconnect with backoff and replay
|
|
28
|
+
* the handshake. On close(): stay dead.
|
|
21
29
|
*/
|
|
22
30
|
export interface IpcProxyResult {
|
|
23
31
|
[key: string]: unknown;
|
|
24
32
|
}
|
|
33
|
+
export interface IpcProxyOptions {
|
|
34
|
+
/** Replayed as `ipc.connect { clientType }` after a reconnect. */
|
|
35
|
+
clientType?: string;
|
|
36
|
+
}
|
|
25
37
|
export declare class IpcProxy {
|
|
26
38
|
#private;
|
|
27
|
-
constructor(socketPath: string);
|
|
39
|
+
constructor(socketPath: string, opts?: IpcProxyOptions);
|
|
28
40
|
/**
|
|
29
41
|
* Register a handler for server-initiated notification frames (frames with a `notification`
|
|
30
42
|
* key and no `id`). The daemon's NotificationDispatcher pushes these; the Claude Code shim
|
|
31
43
|
* translates each into an MCP `notifications/claude/channel` event (CELLO-M8C-WAKE-001,
|
|
32
|
-
* channel stage 1). Only one handler is supported — the last registration wins.
|
|
44
|
+
* channel stage 1). Only one handler is supported — the last registration wins. The handler
|
|
45
|
+
* survives reconnects.
|
|
33
46
|
*/
|
|
34
47
|
onNotification(handler: (frame: Record<string, unknown>) => void): void;
|
|
35
48
|
/**
|
|
36
49
|
* Connect to the daemon IPC socket.
|
|
37
|
-
* Throws if the socket doesn't exist (ENOENT) or daemon isn't listening (ECONNREFUSED)
|
|
50
|
+
* Throws if the socket doesn't exist (ENOENT) or daemon isn't listening (ECONNREFUSED), so
|
|
51
|
+
* startup still fails fast with an actionable message rather than retrying invisibly.
|
|
38
52
|
*/
|
|
39
53
|
connect(): Promise<void>;
|
|
40
54
|
/**
|
|
@@ -43,6 +57,7 @@ export declare class IpcProxy {
|
|
|
43
57
|
*/
|
|
44
58
|
call(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
45
59
|
close(): void;
|
|
60
|
+
/** True only after an explicit close(). A dropped daemon is recoverable, not dead. */
|
|
46
61
|
get isDead(): boolean;
|
|
47
62
|
}
|
|
48
63
|
//# sourceMappingURL=ipc-proxy.d.ts.map
|
package/dist/ipc-proxy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-proxy.d.ts","sourceRoot":"","sources":["../src/ipc-proxy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ipc-proxy.d.ts","sourceRoot":"","sources":["../src/ipc-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqCD,qBAAa,QAAQ;;gBA0BP,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB;IAK1D;;;;;;OAMG;IACH,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;IAIvE;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuJxB;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA8D9E,KAAK,IAAI,IAAI;IAcb,sFAAsF;IACtF,IAAI,MAAM,IAAI,OAAO,CAEpB;CAgEF"}
|
package/dist/ipc-proxy.js
CHANGED
|
@@ -1,29 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* IPC Proxy — thin client for connecting cello-mcp to the daemon.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* c. On 'error' → reject with ENOENT/ECONNREFUSED
|
|
9
|
-
* d. Set up JSON-newline framing reader
|
|
4
|
+
* RECONNECT-001: the proxy survives a daemon restart. Previously a restart closed the socket, set
|
|
5
|
+
* a permanent `#dead` flag, and every subsequent tool call returned `ipc_connection_lost` forever —
|
|
6
|
+
* the operator's cello_* tools silently vanished behind an error that named no remedy. It orphaned
|
|
7
|
+
* every connected agent at once (Claude Code and Hermes alike).
|
|
10
8
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* g. Otherwise return result
|
|
9
|
+
* Two invariants the reconnect must not break:
|
|
10
|
+
*
|
|
11
|
+
* 1. **Replay the session, not just the socket.** The daemon rebuilds per-connection state on
|
|
12
|
+
* restart, so a reconnected socket has no registered clientType and no current agent. Both are
|
|
13
|
+
* replayed (`ipc.connect`, then `cello_use_agent`) BEFORE any queued caller is released —
|
|
14
|
+
* otherwise tools fail `no_current_agent` and the NotificationDispatcher (which routes on
|
|
15
|
+
* currentAgent) silently stops delivering doorbells.
|
|
19
16
|
*
|
|
20
|
-
*
|
|
17
|
+
* 2. **Never replay an in-flight request.** `cello_send` is not idempotent; a silent retry would
|
|
18
|
+
* double-send a message. In-flight calls resolve as `ipc_connection_lost` and the caller retries
|
|
19
|
+
* explicitly. Only the handshake — which IS idempotent — is replayed.
|
|
20
|
+
*
|
|
21
|
+
* Pseudocode:
|
|
22
|
+
* 1. connect(): open the socket; reject on ENOENT/ECONNREFUSED so startup still fails fast.
|
|
23
|
+
* 2. call(method, params):
|
|
24
|
+
* a. closed by us → ipc_connection_lost immediately
|
|
25
|
+
* b. disconnected → await reconnection (bounded); on timeout → ipc_connection_lost
|
|
26
|
+
* c. write { id, method, params } + '\n'; await the response by id
|
|
27
|
+
* 3. On unexpected close: fail every pending request, then reconnect with backoff and replay
|
|
28
|
+
* the handshake. On close(): stay dead.
|
|
21
29
|
*/
|
|
22
30
|
import { createConnection } from "node:net";
|
|
23
31
|
const IPC_CONNECTION_LOST = {
|
|
24
32
|
ok: false,
|
|
25
33
|
reason: "ipc_connection_lost",
|
|
26
|
-
guidance: "The connection to the CELLO daemon was lost
|
|
34
|
+
guidance: "The connection to the CELLO daemon was lost and could not be re-established. The daemon may be down — run `cello status` in a terminal to check, and `cello login` to start it. If the daemon is running, reconnect this MCP server with `/mcp reconnect cello`.",
|
|
35
|
+
};
|
|
36
|
+
/** Returned while a reconnect is in progress or just failed — the caller should simply retry. */
|
|
37
|
+
const IPC_RECONNECTING = {
|
|
38
|
+
ok: false,
|
|
39
|
+
reason: "ipc_connection_lost",
|
|
40
|
+
guidance: "The CELLO daemon connection dropped (the daemon likely restarted) and is being re-established automatically. Retry this call in a moment. If it keeps failing, run `cello status`, then `/mcp reconnect cello`.",
|
|
27
41
|
};
|
|
28
42
|
const IPC_DESERIALIZATION_ERROR = {
|
|
29
43
|
ok: false,
|
|
@@ -35,69 +49,195 @@ const IPC_DESERIALIZATION_ERROR = {
|
|
|
35
49
|
// reaches the daemon's content_too_large check, instead of tripping a fatal buffer
|
|
36
50
|
// overflow at the 1 MB content cap boundary.
|
|
37
51
|
const MAX_BUFFER_SIZE = 4 * 1024 * 1024; // 4MB — matches IPC server limit
|
|
52
|
+
const RECONNECT_BASE_DELAY_MS = 200;
|
|
53
|
+
const RECONNECT_MAX_DELAY_MS = 5_000;
|
|
54
|
+
/** How long a caller waits for an in-progress reconnect before giving up on this call. */
|
|
55
|
+
const RECONNECT_WAIT_MS = 15_000;
|
|
56
|
+
/** A handshake replay that never answers must not wedge the reconnect loop. */
|
|
57
|
+
const HANDSHAKE_TIMEOUT_MS = 5_000;
|
|
38
58
|
export class IpcProxy {
|
|
39
59
|
#socketPath;
|
|
60
|
+
#clientType;
|
|
40
61
|
#socket = null;
|
|
41
|
-
|
|
62
|
+
/** True only after close() — an operator-initiated shutdown never reconnects. */
|
|
63
|
+
#closedByUs = false;
|
|
64
|
+
#connected = false;
|
|
42
65
|
#nextId = 1;
|
|
43
66
|
#pending = new Map();
|
|
44
67
|
#buffer = "";
|
|
45
68
|
#notificationHandler = null;
|
|
46
|
-
|
|
69
|
+
#reconnectTimer = null;
|
|
70
|
+
#reconnectAttempt = 0;
|
|
71
|
+
/** Single-flight guard: a reconnect in progress must never spawn a second loop. */
|
|
72
|
+
#reconnecting = false;
|
|
73
|
+
/**
|
|
74
|
+
* A FAILED INITIAL connect must not start a background reconnect loop behind connect()'s
|
|
75
|
+
* rejection — the caller (cello-mcp) exits with an actionable message instead. Only a
|
|
76
|
+
* connection that once worked is worth restoring.
|
|
77
|
+
*/
|
|
78
|
+
#everConnected = false;
|
|
79
|
+
#connectWaiters = [];
|
|
80
|
+
/** Last successfully-selected agent, replayed after reconnect so routing survives. */
|
|
81
|
+
#currentAgent = null;
|
|
82
|
+
constructor(socketPath, opts = {}) {
|
|
47
83
|
this.#socketPath = socketPath;
|
|
84
|
+
this.#clientType = opts.clientType;
|
|
48
85
|
}
|
|
49
86
|
/**
|
|
50
87
|
* Register a handler for server-initiated notification frames (frames with a `notification`
|
|
51
88
|
* key and no `id`). The daemon's NotificationDispatcher pushes these; the Claude Code shim
|
|
52
89
|
* translates each into an MCP `notifications/claude/channel` event (CELLO-M8C-WAKE-001,
|
|
53
|
-
* channel stage 1). Only one handler is supported — the last registration wins.
|
|
90
|
+
* channel stage 1). Only one handler is supported — the last registration wins. The handler
|
|
91
|
+
* survives reconnects.
|
|
54
92
|
*/
|
|
55
93
|
onNotification(handler) {
|
|
56
94
|
this.#notificationHandler = handler;
|
|
57
95
|
}
|
|
58
96
|
/**
|
|
59
97
|
* Connect to the daemon IPC socket.
|
|
60
|
-
* Throws if the socket doesn't exist (ENOENT) or daemon isn't listening (ECONNREFUSED)
|
|
98
|
+
* Throws if the socket doesn't exist (ENOENT) or daemon isn't listening (ECONNREFUSED), so
|
|
99
|
+
* startup still fails fast with an actionable message rather than retrying invisibly.
|
|
61
100
|
*/
|
|
62
101
|
connect() {
|
|
63
102
|
return new Promise((resolve, reject) => {
|
|
64
103
|
const socket = createConnection(this.#socketPath);
|
|
65
104
|
this.#socket = socket;
|
|
105
|
+
let settled = false;
|
|
66
106
|
socket.on("connect", () => {
|
|
107
|
+
settled = true;
|
|
108
|
+
this.#connected = true;
|
|
109
|
+
this.#everConnected = true;
|
|
110
|
+
this.#reconnectAttempt = 0;
|
|
67
111
|
resolve();
|
|
68
112
|
});
|
|
69
113
|
socket.on("error", (err) => {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
this.#pending.clear();
|
|
77
|
-
});
|
|
78
|
-
socket.on("data", (chunk) => {
|
|
79
|
-
this.#buffer += chunk.toString("utf-8");
|
|
80
|
-
if (this.#buffer.length > MAX_BUFFER_SIZE) {
|
|
81
|
-
this.#dead = true;
|
|
82
|
-
socket.destroy();
|
|
83
|
-
for (const [, p] of this.#pending) {
|
|
84
|
-
p.resolve(IPC_CONNECTION_LOST);
|
|
85
|
-
}
|
|
86
|
-
this.#pending.clear();
|
|
114
|
+
if (!settled) {
|
|
115
|
+
settled = true;
|
|
116
|
+
this.#connected = false;
|
|
117
|
+
this.#failPending();
|
|
118
|
+
reject(err);
|
|
87
119
|
return;
|
|
88
120
|
}
|
|
89
|
-
|
|
121
|
+
// Post-connect errors surface as 'close'; nothing to do here.
|
|
90
122
|
});
|
|
91
|
-
socket
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
123
|
+
this.#attach(socket);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
/** Wire the data/close handlers shared by the initial connect and every reconnect. */
|
|
127
|
+
#attach(socket) {
|
|
128
|
+
socket.on("data", (chunk) => {
|
|
129
|
+
this.#buffer += chunk.toString("utf-8");
|
|
130
|
+
if (this.#buffer.length > MAX_BUFFER_SIZE) {
|
|
131
|
+
this.#buffer = "";
|
|
132
|
+
socket.destroy();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.#processBuffer();
|
|
136
|
+
});
|
|
137
|
+
socket.on("close", () => {
|
|
138
|
+
const wasConnected = this.#connected;
|
|
139
|
+
this.#connected = false;
|
|
140
|
+
// Invariant 2: pending requests are FAILED, never replayed. cello_send is not idempotent.
|
|
141
|
+
this.#failPending();
|
|
142
|
+
if (!this.#closedByUs && wasConnected) {
|
|
143
|
+
process.stderr.write("cello-mcp: daemon connection lost — reconnecting…\n");
|
|
144
|
+
}
|
|
145
|
+
// Guard on #everConnected: a failed initial connect rejects to the caller; it must not
|
|
146
|
+
// silently retry in the background behind that rejection.
|
|
147
|
+
if (!this.#closedByUs && this.#everConnected)
|
|
148
|
+
this.#scheduleReconnect();
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
#failPending() {
|
|
152
|
+
for (const [, p] of this.#pending)
|
|
153
|
+
p.resolve(IPC_RECONNECTING);
|
|
154
|
+
this.#pending.clear();
|
|
155
|
+
}
|
|
156
|
+
#scheduleReconnect() {
|
|
157
|
+
// Single-flight: a timer already armed, or an attempt in progress, must not stack another.
|
|
158
|
+
if (this.#closedByUs || this.#reconnectTimer || this.#reconnecting)
|
|
159
|
+
return;
|
|
160
|
+
const delay = Math.min(RECONNECT_BASE_DELAY_MS * 2 ** this.#reconnectAttempt, RECONNECT_MAX_DELAY_MS);
|
|
161
|
+
this.#reconnectAttempt++;
|
|
162
|
+
this.#reconnectTimer = setTimeout(() => {
|
|
163
|
+
this.#reconnectTimer = null;
|
|
164
|
+
void this.#attemptReconnect();
|
|
165
|
+
}, delay);
|
|
166
|
+
this.#reconnectTimer.unref?.();
|
|
167
|
+
}
|
|
168
|
+
async #attemptReconnect() {
|
|
169
|
+
if (this.#closedByUs || this.#reconnecting)
|
|
170
|
+
return;
|
|
171
|
+
this.#reconnecting = true;
|
|
172
|
+
try {
|
|
173
|
+
const socket = await this.#openSocket();
|
|
174
|
+
this.#socket = socket;
|
|
175
|
+
this.#buffer = "";
|
|
176
|
+
this.#attach(socket);
|
|
177
|
+
this.#connected = true;
|
|
178
|
+
this.#everConnected = true;
|
|
179
|
+
// Invariant 1: restore the SESSION before releasing any caller. Both replayed frames are
|
|
180
|
+
// idempotent, so replaying them is safe in a way replaying cello_send would not be.
|
|
181
|
+
await this.#replayHandshake();
|
|
182
|
+
this.#reconnectAttempt = 0;
|
|
183
|
+
process.stderr.write("cello-mcp: reconnected to the CELLO daemon\n");
|
|
184
|
+
this.#releaseWaiters();
|
|
185
|
+
}
|
|
186
|
+
catch {
|
|
187
|
+
this.#connected = false;
|
|
188
|
+
this.#reconnecting = false;
|
|
189
|
+
this.#scheduleReconnect();
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
this.#reconnecting = false;
|
|
193
|
+
}
|
|
194
|
+
#openSocket() {
|
|
195
|
+
return new Promise((resolve, reject) => {
|
|
196
|
+
const socket = createConnection(this.#socketPath);
|
|
197
|
+
const onError = (err) => {
|
|
198
|
+
socket.destroy();
|
|
199
|
+
reject(err);
|
|
200
|
+
};
|
|
201
|
+
socket.once("error", onError);
|
|
202
|
+
socket.once("connect", () => {
|
|
203
|
+
socket.removeListener("error", onError);
|
|
204
|
+
resolve(socket);
|
|
98
205
|
});
|
|
99
206
|
});
|
|
100
207
|
}
|
|
208
|
+
async #replayHandshake() {
|
|
209
|
+
// Bounded: a daemon that accepts the socket but never answers must not wedge the reconnect
|
|
210
|
+
// loop forever. Only these two frames get a timeout — see #rawCall.
|
|
211
|
+
if (this.#clientType) {
|
|
212
|
+
await this.#rawCall("ipc.connect", { clientType: this.#clientType }, HANDSHAKE_TIMEOUT_MS);
|
|
213
|
+
}
|
|
214
|
+
if (this.#currentAgent) {
|
|
215
|
+
await this.#rawCall("cello_use_agent", { name: this.#currentAgent }, HANDSHAKE_TIMEOUT_MS);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
#releaseWaiters() {
|
|
219
|
+
const waiters = this.#connectWaiters;
|
|
220
|
+
this.#connectWaiters = [];
|
|
221
|
+
for (const w of waiters)
|
|
222
|
+
w();
|
|
223
|
+
}
|
|
224
|
+
/** Wait (bounded) for a reconnect to complete. Resolves true if connected. */
|
|
225
|
+
#waitForConnection() {
|
|
226
|
+
if (this.#connected)
|
|
227
|
+
return Promise.resolve(true);
|
|
228
|
+
return new Promise((resolve) => {
|
|
229
|
+
const timer = setTimeout(() => {
|
|
230
|
+
this.#connectWaiters = this.#connectWaiters.filter((w) => w !== waiter);
|
|
231
|
+
resolve(false);
|
|
232
|
+
}, RECONNECT_WAIT_MS);
|
|
233
|
+
timer.unref?.();
|
|
234
|
+
const waiter = () => {
|
|
235
|
+
clearTimeout(timer);
|
|
236
|
+
resolve(true);
|
|
237
|
+
};
|
|
238
|
+
this.#connectWaiters.push(waiter);
|
|
239
|
+
});
|
|
240
|
+
}
|
|
101
241
|
/**
|
|
102
242
|
* Send an IPC request and await the response.
|
|
103
243
|
* Returns the result directly if successful, or an error object with reason/guidance.
|
|
@@ -106,18 +246,48 @@ export class IpcProxy {
|
|
|
106
246
|
if (!method || typeof method !== "string") {
|
|
107
247
|
return { ok: false, reason: "invalid_method", guidance: "IPC method name must be a non-empty string." };
|
|
108
248
|
}
|
|
109
|
-
if (this.#
|
|
249
|
+
if (this.#closedByUs)
|
|
110
250
|
return IPC_CONNECTION_LOST;
|
|
251
|
+
if (!this.#connected) {
|
|
252
|
+
const ok = await this.#waitForConnection();
|
|
253
|
+
if (!ok)
|
|
254
|
+
return IPC_RECONNECTING;
|
|
255
|
+
}
|
|
256
|
+
const result = await this.#rawCall(method, params);
|
|
257
|
+
// Remember the selected agent so a reconnect can restore routing. Both `ok:true` and
|
|
258
|
+
// `agent_already_current` mean the daemon considers this agent current for the connection.
|
|
259
|
+
if (method === "cello_use_agent" && params && typeof params["name"] === "string") {
|
|
260
|
+
const r = result;
|
|
261
|
+
if (r && (r.ok === true || r.reason === "agent_already_current")) {
|
|
262
|
+
this.#currentAgent = params["name"];
|
|
263
|
+
}
|
|
111
264
|
}
|
|
265
|
+
return result;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Write a frame on the current socket without the connected-gate (used by the handshake replay).
|
|
269
|
+
*
|
|
270
|
+
* `timeoutMs` is OPTIONAL and only the handshake supplies it. Ordinary calls must NEVER be
|
|
271
|
+
* capped client-side: `cello_receive` legitimately blocks server-side for `timeout_ms` (30s by
|
|
272
|
+
* default, and callers may pass more). A blanket timeout here would silently break blocking
|
|
273
|
+
* receive — the doorbell's own pull path.
|
|
274
|
+
*/
|
|
275
|
+
#rawCall(method, params, timeoutMs) {
|
|
112
276
|
const id = String(this.#nextId++);
|
|
113
277
|
return new Promise((resolve) => {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
resolve(
|
|
119
|
-
},
|
|
120
|
-
|
|
278
|
+
const timer = timeoutMs === undefined
|
|
279
|
+
? null
|
|
280
|
+
: setTimeout(() => {
|
|
281
|
+
this.#pending.delete(id);
|
|
282
|
+
resolve(IPC_RECONNECTING);
|
|
283
|
+
}, timeoutMs);
|
|
284
|
+
timer?.unref?.();
|
|
285
|
+
const done = (v) => {
|
|
286
|
+
if (timer)
|
|
287
|
+
clearTimeout(timer);
|
|
288
|
+
resolve(v);
|
|
289
|
+
};
|
|
290
|
+
this.#pending.set(id, { resolve: done, reject: () => done(IPC_RECONNECTING) });
|
|
121
291
|
const frame = JSON.stringify({ id, method, params }) + "\n";
|
|
122
292
|
try {
|
|
123
293
|
this.#socket.write(frame);
|
|
@@ -125,21 +295,27 @@ export class IpcProxy {
|
|
|
125
295
|
catch (err) {
|
|
126
296
|
const msg = err instanceof Error ? err.message : String(err);
|
|
127
297
|
process.stderr.write(`cello-mcp: IPC write failed: ${msg}\n`);
|
|
128
|
-
this.#dead = true;
|
|
129
298
|
this.#pending.delete(id);
|
|
130
|
-
|
|
299
|
+
done(IPC_RECONNECTING);
|
|
131
300
|
}
|
|
132
301
|
});
|
|
133
302
|
}
|
|
134
303
|
close() {
|
|
304
|
+
this.#closedByUs = true;
|
|
305
|
+
this.#connected = false;
|
|
306
|
+
if (this.#reconnectTimer) {
|
|
307
|
+
clearTimeout(this.#reconnectTimer);
|
|
308
|
+
this.#reconnectTimer = null;
|
|
309
|
+
}
|
|
310
|
+
this.#releaseWaiters();
|
|
135
311
|
if (this.#socket) {
|
|
136
312
|
this.#socket.end();
|
|
137
313
|
this.#socket = null;
|
|
138
314
|
}
|
|
139
|
-
this.#dead = true;
|
|
140
315
|
}
|
|
316
|
+
/** True only after an explicit close(). A dropped daemon is recoverable, not dead. */
|
|
141
317
|
get isDead() {
|
|
142
|
-
return this.#
|
|
318
|
+
return this.#closedByUs;
|
|
143
319
|
}
|
|
144
320
|
#processBuffer() {
|
|
145
321
|
let newlineIdx;
|
package/dist/ipc-proxy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ipc-proxy.js","sourceRoot":"","sources":["../src/ipc-proxy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ipc-proxy.js","sourceRoot":"","sources":["../src/ipc-proxy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cello-protocol/connect",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.62",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
"@libp2p/peer-id": "^6.0.8",
|
|
31
31
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
32
32
|
"zod": "^4.4.2",
|
|
33
|
-
"@cello-protocol/client": "0.0.
|
|
34
|
-
"@cello-protocol/
|
|
35
|
-
"@cello-protocol/
|
|
33
|
+
"@cello-protocol/client": "0.0.47",
|
|
34
|
+
"@cello-protocol/crypto": "0.0.18",
|
|
35
|
+
"@cello-protocol/transport": "0.0.17"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@claude-flow/testing": "3.0.0-alpha.6",
|