@essentialai/cogent-bridge 1.2.0 → 1.3.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/backend/http-backend.d.ts +1 -1
- package/dist/backend/http-backend.js +2 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/services/auto-relay.d.ts +48 -0
- package/dist/services/auto-relay.d.ts.map +1 -0
- package/dist/services/auto-relay.js +164 -0
- package/dist/services/auto-relay.js.map +1 -0
- package/dist/services/peer-registry.d.ts.map +1 -1
- package/dist/services/peer-registry.js +2 -2
- package/dist/services/peer-registry.js.map +1 -1
- package/dist/startup.d.ts +1 -0
- package/dist/startup.d.ts.map +1 -1
- package/dist/startup.js +17 -2
- package/dist/startup.js.map +1 -1
- package/dist/tools/get-history.js +2 -2
- package/dist/tools/get-history.js.map +1 -1
- package/dist/tools/register-peer.d.ts.map +1 -1
- package/dist/tools/register-peer.js +3 -0
- package/dist/tools/register-peer.js.map +1 -1
- package/dist/tools/send-message.d.ts.map +1 -1
- package/dist/tools/send-message.js +14 -3
- package/dist/tools/send-message.js.map +1 -1
- package/package.json +1 -1
|
@@ -63,7 +63,7 @@ export declare class HttpBackend implements StorageBackend {
|
|
|
63
63
|
* Get message history from the cloud session.
|
|
64
64
|
* GET /api/sessions/:sessionId/messages
|
|
65
65
|
*
|
|
66
|
-
* Supports optional peerId filter and limit (default
|
|
66
|
+
* Supports optional peerId filter and limit (default 300).
|
|
67
67
|
*/
|
|
68
68
|
getHistory(peerId?: string, limit?: number): Promise<MessageRecord[]>;
|
|
69
69
|
/**
|
|
@@ -111,7 +111,7 @@ export class HttpBackend {
|
|
|
111
111
|
* Get message history from the cloud session.
|
|
112
112
|
* GET /api/sessions/:sessionId/messages
|
|
113
113
|
*
|
|
114
|
-
* Supports optional peerId filter and limit (default
|
|
114
|
+
* Supports optional peerId filter and limit (default 300).
|
|
115
115
|
*/
|
|
116
116
|
async getHistory(peerId, limit) {
|
|
117
117
|
const path = PATHS.messages.replace(":sessionId", this.sessionId);
|
|
@@ -119,7 +119,7 @@ export class HttpBackend {
|
|
|
119
119
|
if (peerId) {
|
|
120
120
|
query.peerId = peerId;
|
|
121
121
|
}
|
|
122
|
-
query.limit = String(limit ??
|
|
122
|
+
query.limit = String(limit ?? 300);
|
|
123
123
|
const result = await this.http.get(path, query);
|
|
124
124
|
return result.messages;
|
|
125
125
|
}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
3
|
import { SERVER_NAME, SERVER_VERSION } from "./constants.js";
|
|
4
|
-
import { runStartup, cloudWsClient, cloudInbox } from "./startup.js";
|
|
4
|
+
import { runStartup, cloudWsClient, cloudInbox, autoRelay } from "./startup.js";
|
|
5
5
|
import { logger } from "./logger.js";
|
|
6
6
|
import { registerRegisterPeerTool } from "./tools/register-peer.js";
|
|
7
7
|
import { registerSendMessageTool } from "./tools/send-message.js";
|
|
@@ -34,6 +34,7 @@ process.on("unhandledRejection", (reason) => {
|
|
|
34
34
|
// ---------------------------------------------------------------------------
|
|
35
35
|
process.on("SIGTERM", () => {
|
|
36
36
|
logger.info("SIGTERM received, shutting down");
|
|
37
|
+
autoRelay.stop();
|
|
37
38
|
heartbeat.stop();
|
|
38
39
|
if (cloudWsClient) {
|
|
39
40
|
cloudWsClient.disconnect();
|
|
@@ -43,6 +44,7 @@ process.on("SIGTERM", () => {
|
|
|
43
44
|
});
|
|
44
45
|
process.on("SIGINT", () => {
|
|
45
46
|
logger.info("SIGINT received, shutting down");
|
|
47
|
+
autoRelay.stop();
|
|
46
48
|
heartbeat.stop();
|
|
47
49
|
if (cloudWsClient) {
|
|
48
50
|
cloudWsClient.disconnect();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { MessageRecord } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Auto-relay service that processes incoming cloud messages by calling local
|
|
4
|
+
* execClaude() and sending the response back via the cloud backend.
|
|
5
|
+
*
|
|
6
|
+
* When a WebSocket message arrives for the local peer, this service:
|
|
7
|
+
* 1. Validates it's an incoming message (not our own, not already a response)
|
|
8
|
+
* 2. Injects it into the local Claude Code session via execClaude()
|
|
9
|
+
* 3. Sends the Claude response back to the original sender as a new message
|
|
10
|
+
*
|
|
11
|
+
* This enables automatic back-and-forth dialog between two cloud peers,
|
|
12
|
+
* matching the local-mode behavior where execClaude is called synchronously.
|
|
13
|
+
*/
|
|
14
|
+
export declare class AutoRelayService {
|
|
15
|
+
private localPeerId;
|
|
16
|
+
private localSessionId;
|
|
17
|
+
private localCwd;
|
|
18
|
+
private processing;
|
|
19
|
+
private queue;
|
|
20
|
+
/**
|
|
21
|
+
* Set the local peer info. Called from register-peer tool after
|
|
22
|
+
* successful registration so we know which session to inject into.
|
|
23
|
+
*/
|
|
24
|
+
setLocalPeer(peerId: string, sessionId: string, cwd: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Process an incoming cloud message by invoking local execClaude()
|
|
27
|
+
* and relaying the response back to the sender.
|
|
28
|
+
*
|
|
29
|
+
* Guards:
|
|
30
|
+
* - Not registered yet (localPeerId is null)
|
|
31
|
+
* - Message not addressed to us
|
|
32
|
+
* - Message is from ourselves (prevent echo)
|
|
33
|
+
* - Message is already a response (response field is non-null)
|
|
34
|
+
* - Serialized processing with queue to prevent concurrent execClaude calls
|
|
35
|
+
*/
|
|
36
|
+
handleIncoming(msg: MessageRecord): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Internal: process a single message -- call execClaude and relay response.
|
|
39
|
+
*/
|
|
40
|
+
private _processMessage;
|
|
41
|
+
/**
|
|
42
|
+
* Stop the auto-relay service: clear queue and reset state.
|
|
43
|
+
*/
|
|
44
|
+
stop(): void;
|
|
45
|
+
}
|
|
46
|
+
/** Singleton instance used throughout the application. */
|
|
47
|
+
export declare const autoRelay: AutoRelayService;
|
|
48
|
+
//# sourceMappingURL=auto-relay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-relay.d.ts","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAuB5C;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,KAAK,CAAuB;IAEpC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAOlE;;;;;;;;;;OAUG;IACG,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD;;OAEG;YACW,eAAe;IA2D7B;;OAEG;IACH,IAAI,IAAI,IAAI;CAQb;AAED,0DAA0D;AAC1D,eAAO,MAAM,SAAS,kBAAyB,CAAC"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { execClaude } from "../services/cc-cli.js";
|
|
2
|
+
import { getBackend } from "../backend/index.js";
|
|
3
|
+
import { logger } from "../logger.js";
|
|
4
|
+
/**
|
|
5
|
+
* Format an incoming message for injection into the local Claude Code session.
|
|
6
|
+
* Mirrors the pattern used in send-message.ts's formatBridgeMessage().
|
|
7
|
+
*/
|
|
8
|
+
function formatRelayMessage(fromLabel, fromPeerId, message) {
|
|
9
|
+
return (`[Cogent Bridge message from ${fromLabel} (${fromPeerId})]\n\n` +
|
|
10
|
+
`${message}\n\n` +
|
|
11
|
+
`---\n` +
|
|
12
|
+
`Respond directly to the message above. Your entire response will be relayed back to ${fromLabel}. ` +
|
|
13
|
+
`Do NOT use cogent_send_message or any bridge tools — just answer normally.`);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Auto-relay service that processes incoming cloud messages by calling local
|
|
17
|
+
* execClaude() and sending the response back via the cloud backend.
|
|
18
|
+
*
|
|
19
|
+
* When a WebSocket message arrives for the local peer, this service:
|
|
20
|
+
* 1. Validates it's an incoming message (not our own, not already a response)
|
|
21
|
+
* 2. Injects it into the local Claude Code session via execClaude()
|
|
22
|
+
* 3. Sends the Claude response back to the original sender as a new message
|
|
23
|
+
*
|
|
24
|
+
* This enables automatic back-and-forth dialog between two cloud peers,
|
|
25
|
+
* matching the local-mode behavior where execClaude is called synchronously.
|
|
26
|
+
*/
|
|
27
|
+
export class AutoRelayService {
|
|
28
|
+
localPeerId = null;
|
|
29
|
+
localSessionId = null;
|
|
30
|
+
localCwd = null;
|
|
31
|
+
processing = false;
|
|
32
|
+
queue = [];
|
|
33
|
+
/**
|
|
34
|
+
* Set the local peer info. Called from register-peer tool after
|
|
35
|
+
* successful registration so we know which session to inject into.
|
|
36
|
+
*/
|
|
37
|
+
setLocalPeer(peerId, sessionId, cwd) {
|
|
38
|
+
this.localPeerId = peerId;
|
|
39
|
+
this.localSessionId = sessionId;
|
|
40
|
+
this.localCwd = cwd;
|
|
41
|
+
logger.info(`Auto-relay configured for peer ${peerId} (session: ${sessionId})`);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Process an incoming cloud message by invoking local execClaude()
|
|
45
|
+
* and relaying the response back to the sender.
|
|
46
|
+
*
|
|
47
|
+
* Guards:
|
|
48
|
+
* - Not registered yet (localPeerId is null)
|
|
49
|
+
* - Message not addressed to us
|
|
50
|
+
* - Message is from ourselves (prevent echo)
|
|
51
|
+
* - Message is already a response (response field is non-null)
|
|
52
|
+
* - Serialized processing with queue to prevent concurrent execClaude calls
|
|
53
|
+
*/
|
|
54
|
+
async handleIncoming(msg) {
|
|
55
|
+
// Guard: not registered yet
|
|
56
|
+
if (!this.localPeerId || !this.localSessionId || !this.localCwd) {
|
|
57
|
+
logger.debug("Auto-relay: skipping message (not registered yet)");
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
// Guard: message not for us
|
|
61
|
+
if (msg.toPeerId !== this.localPeerId) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Guard: don't relay our own outgoing messages
|
|
65
|
+
if (msg.fromPeerId === this.localPeerId) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// Guard: this is already a response, not a new incoming message needing relay
|
|
69
|
+
if (msg.response !== null) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
// Serialize processing: queue if already busy
|
|
73
|
+
if (this.processing) {
|
|
74
|
+
logger.debug(`Auto-relay: queuing message from ${msg.fromPeerId} (busy processing)`);
|
|
75
|
+
this.queue.push(msg);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.processing = true;
|
|
79
|
+
try {
|
|
80
|
+
await this._processMessage(msg);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
this.processing = false;
|
|
84
|
+
// Process queued messages
|
|
85
|
+
while (this.queue.length > 0) {
|
|
86
|
+
const next = this.queue.shift();
|
|
87
|
+
this.processing = true;
|
|
88
|
+
try {
|
|
89
|
+
await this._processMessage(next);
|
|
90
|
+
}
|
|
91
|
+
finally {
|
|
92
|
+
this.processing = false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Internal: process a single message -- call execClaude and relay response.
|
|
99
|
+
*/
|
|
100
|
+
async _processMessage(msg) {
|
|
101
|
+
const backend = getBackend();
|
|
102
|
+
// Look up sender peer to get their label for better context
|
|
103
|
+
let fromLabel = msg.fromPeerId;
|
|
104
|
+
try {
|
|
105
|
+
const senderPeer = await backend.getPeer(msg.fromPeerId);
|
|
106
|
+
if (senderPeer) {
|
|
107
|
+
fromLabel = senderPeer.label;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Fall back to peerId as label
|
|
112
|
+
}
|
|
113
|
+
const formatted = formatRelayMessage(fromLabel, msg.fromPeerId, msg.message);
|
|
114
|
+
logger.info(`Auto-relay: processing message from ${fromLabel} (${msg.fromPeerId})`);
|
|
115
|
+
const startMs = Date.now();
|
|
116
|
+
try {
|
|
117
|
+
// Call execClaude LOCALLY -- this spawns `claude --resume <sessionId> -p "message"`
|
|
118
|
+
// on the recipient's machine. This is NOT HttpBackend.execClaude() (which is a no-op).
|
|
119
|
+
const result = await execClaude(this.localSessionId, formatted, this.localCwd);
|
|
120
|
+
const durationMs = Date.now() - startMs;
|
|
121
|
+
if (result.exitCode === 0 && result.stdout) {
|
|
122
|
+
// Send the response back to the original sender as a new cloud message.
|
|
123
|
+
// This will trigger the server to push it via WebSocket to the sender,
|
|
124
|
+
// which will trigger their auto-relay in turn.
|
|
125
|
+
try {
|
|
126
|
+
await backend.recordMessage({
|
|
127
|
+
fromPeerId: this.localPeerId,
|
|
128
|
+
toPeerId: msg.fromPeerId,
|
|
129
|
+
message: result.stdout,
|
|
130
|
+
response: null,
|
|
131
|
+
durationMs,
|
|
132
|
+
success: true,
|
|
133
|
+
error: null,
|
|
134
|
+
});
|
|
135
|
+
logger.info(`Auto-relay: response sent back to ${msg.fromPeerId} (${durationMs}ms)`);
|
|
136
|
+
}
|
|
137
|
+
catch (recordErr) {
|
|
138
|
+
logger.error(`Auto-relay: failed to record response message: ${recordErr}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
logger.warn(`Auto-relay: execClaude failed (exit=${result.exitCode}): ${result.stderr}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
catch (err) {
|
|
146
|
+
const durationMs = Date.now() - startMs;
|
|
147
|
+
logger.error(`Auto-relay: execClaude threw after ${durationMs}ms: ${err}`);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Stop the auto-relay service: clear queue and reset state.
|
|
152
|
+
*/
|
|
153
|
+
stop() {
|
|
154
|
+
this.queue = [];
|
|
155
|
+
this.localPeerId = null;
|
|
156
|
+
this.localSessionId = null;
|
|
157
|
+
this.localCwd = null;
|
|
158
|
+
this.processing = false;
|
|
159
|
+
logger.debug("Auto-relay stopped");
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
/** Singleton instance used throughout the application. */
|
|
163
|
+
export const autoRelay = new AutoRelayService();
|
|
164
|
+
//# sourceMappingURL=auto-relay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-relay.js","sourceRoot":"","sources":["../../src/services/auto-relay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-registry.d.ts","sourceRoot":"","sources":["../../src/services/peer-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgKtD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAG/B;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGrD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED,wBAAsB,UAAU,CAC9B,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,
|
|
1
|
+
{"version":3,"file":"peer-registry.d.ts","sourceRoot":"","sources":["../../src/services/peer-registry.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgKtD,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CASlE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQrE;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAG/B;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,CAGrD;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,WAAW,CAAC,GAC9C,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED,wBAAsB,UAAU,CAC9B,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,SAAM,GACV,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1B"}
|
|
@@ -9,7 +9,7 @@ import { BridgeError, BridgeErrorCode } from "../errors.js";
|
|
|
9
9
|
/* Two or more MCP server processes share a state JSON file */
|
|
10
10
|
/* State path is config-driven via COGENT_STATE_PATH */
|
|
11
11
|
/* ------------------------------------------------------------------ */
|
|
12
|
-
const MAX_MESSAGES =
|
|
12
|
+
const MAX_MESSAGES = 1500;
|
|
13
13
|
const LOCK_RETRY_MS = 50;
|
|
14
14
|
const LOCK_MAX_WAIT_MS = 5_000;
|
|
15
15
|
/** Derive state file path from config at call time (not module load time). */
|
|
@@ -196,7 +196,7 @@ export async function recordMessage(record) {
|
|
|
196
196
|
return full;
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
|
-
export async function getHistory(peerId, limit =
|
|
199
|
+
export async function getHistory(peerId, limit = 150) {
|
|
200
200
|
const state = await readState();
|
|
201
201
|
let filtered = state.messages;
|
|
202
202
|
if (peerId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peer-registry.js","sourceRoot":"","sources":["../../src/services/peer-registry.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE5D,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"peer-registry.js","sourceRoot":"","sources":["../../src/services/peer-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/startup.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CloudWsClient, MessageInbox } from "./cloud/index.js";
|
|
2
2
|
import { HttpClient } from "./cloud/http-client.js";
|
|
3
|
+
export { autoRelay } from "./services/auto-relay.js";
|
|
3
4
|
export declare let cloudWsClient: CloudWsClient | null;
|
|
4
5
|
export declare let cloudInbox: MessageInbox | null;
|
|
5
6
|
export declare let cloudHttpClient: HttpClient | null;
|
package/dist/startup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"startup.d.ts","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAarD,eAAO,IAAI,aAAa,EAAE,aAAa,GAAG,IAAW,CAAC;AACtD,eAAO,IAAI,UAAU,EAAE,YAAY,GAAG,IAAW,CAAC;AAClD,eAAO,IAAI,eAAe,EAAE,UAAU,GAAG,IAAW,CAAC;AAiJrD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAmCf;AAMD,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAmKhD"}
|
package/dist/startup.js
CHANGED
|
@@ -12,6 +12,9 @@ import { BridgeError, BridgeErrorCode } from "./errors.js";
|
|
|
12
12
|
import { loadCredentials } from "./cloud/credential-store.js";
|
|
13
13
|
import { CloudWsClient, MessageInbox } from "./cloud/index.js";
|
|
14
14
|
import { HttpClient } from "./cloud/http-client.js";
|
|
15
|
+
import { autoRelay } from "./services/auto-relay.js";
|
|
16
|
+
// Re-export autoRelay for use in index.ts shutdown
|
|
17
|
+
export { autoRelay } from "./services/auto-relay.js";
|
|
15
18
|
/** UUID v4 regex for distinguishing UUIDs from labels in COGENT_SESSION_ID. */
|
|
16
19
|
const UUID_V4_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
17
20
|
const execFileAsync = promisify(execFile);
|
|
@@ -106,8 +109,20 @@ function createCloudWsClient(endpoint, sessionId, token, http, inbox, pollInterv
|
|
|
106
109
|
peerId: "", // Will be set after first registerPeer call via setPeerId()
|
|
107
110
|
token,
|
|
108
111
|
http,
|
|
109
|
-
onMessage: (msg) => {
|
|
110
|
-
|
|
112
|
+
onMessage: (msg) => {
|
|
113
|
+
inbox.addMessage(msg);
|
|
114
|
+
autoRelay.handleIncoming(msg).catch((err) => {
|
|
115
|
+
logger.error(`Auto-relay failed: ${err}`);
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
onMessages: (msgs) => {
|
|
119
|
+
inbox.addMessages(msgs);
|
|
120
|
+
for (const msg of msgs) {
|
|
121
|
+
autoRelay.handleIncoming(msg).catch((err) => {
|
|
122
|
+
logger.error(`Auto-relay failed: ${err}`);
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
},
|
|
111
126
|
onPeerConnected: (peer) => { logger.info(`Peer connected: ${peer.peerId} (${peer.name})`); },
|
|
112
127
|
onPeerDisconnected: (id) => { logger.info(`Peer disconnected: ${id}`); },
|
|
113
128
|
onPeersSnapshot: (peers) => { logger.debug(`Peers snapshot: ${peers.length} peers`); },
|
package/dist/startup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,mDAAmD;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,+EAA+E;AAC/E,MAAM,UAAU,GAAG,wEAAwE,CAAC;AAE5F,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAEpE,8EAA8E;AAC9E,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,CAAC,IAAI,aAAa,GAAyB,IAAI,CAAC;AACtD,MAAM,CAAC,IAAI,UAAU,GAAwB,IAAI,CAAC;AAClD,MAAM,CAAC,IAAI,eAAe,GAAsB,IAAI,CAAC;AAUrD,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAA6B;IAC9D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IACpF,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,KAAK,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,KAAK,UAAU,cAAc,CAAC,WAAmB;IAC/C,oDAAoD;IACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,2DAA2D;IAC3D,MAAM,SAAS,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAC9C,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC,SAAS,CAAC;IAC7B,CAAC;IAED,wCAAwC;IACxC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;QAClC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,yCAAyC;KAClE,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CACT,oEAAoE;YAClE,cAAc,WAAW,IAAI;YAC7B,kDAAkD,EACpD,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC;YAC5C,MAAM,mBAAmB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IAC/C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,eAAe,CAAC,cAAc,EAC9B,oCAAoC,SAAS,EAAE,EAC/C,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,UAAkB;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;YAChE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CACT,mBAAmB,UAAU,uBAAuB;YAClD,gEAAgE;YAChE,iEAAiE,CACpE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E;AAE9E,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,SAAiB,EACjB,KAAa,EACb,IAAgB,EAChB,KAAmB,EACnB,cAAsB;IAEtB,OAAO,IAAI,aAAa,CAAC;QACvB,QAAQ;QACR,SAAS;QACT,MAAM,EAAE,EAAE,EAAE,4DAA4D;QACxE,KAAK;QACL,IAAI;QACJ,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YACjB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;QACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;YACnB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC1C,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5F,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtF,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACxF,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAgB,EAChB,SAAiB,EACjB,KAAa;IAEb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,0CAA0C;IAC1C,eAAe,GAAG,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAElD,wDAAwD;IACxD,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAC/D,YAAY,EAAE,CAAC,CAAQ,uCAAuC;IAC9D,WAAW,CAAC,UAAU,CAAC,CAAC,CAAE,kBAAkB;IAC5C,MAAM,CAAC,IAAI,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;IAEpE,oCAAoC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,wDAAwD;QACxD,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACzC,aAAa,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAC1C,0DAA0D;QAC1D,8DAA8D;IAChE,CAAC;SAAM,CAAC;QACN,2CAA2C;QAC3C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,CAAC;QACD,aAAa,GAAG,mBAAmB,CACjC,QAAQ,EACR,SAAS,EACT,KAAK,EACL,eAAe,EACf,UAAU,EACV,MAAM,CAAC,uBAAuB,CAC/B,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,wEAAwE;IACxE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACnD,IAAI,SAAiB,CAAC;IAEtB,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,GAAG,YAAY,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QACvD,SAAS,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,qEAAqE;IACrE,IAAI,CAAC,YAAY,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAC5C,CAAC;SAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzB,kEAAkE;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAC5C,CAAC;IAED,yBAAyB;IACzB,UAAU,EAAE,CAAC;IACb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,8EAA8E;IAC9E,8BAA8B;IAC9B,8EAA8E;IAE9E,IAAI,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAClD,IAAI,cAAkC,CAAC;IACvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,eAAe,CAAC;IACjD,MAAM,OAAO,GAAG,iBAAiB,IAAI,eAAe,CAAC,iBAAiB,CAAC,CAAC;IAExE,8EAA8E;IAC9E,gDAAgD;IAChD,8EAA8E;IAE9E,IAAI,OAAO,IAAI,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1E,6EAA6E;QAC7E,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;QAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,KAAK,kBAAkB,IAAI,SAAS,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YACpG,MAAM,CAAC,IAAI,CAAC,2BAA2B,kBAAkB,aAAa,SAAS,CAAC,SAAS,6BAA6B,CAAC,CAAC;YACxH,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;YACzC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,mCAAmC;YACnC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,KAAK,CAC7B,GAAG,iBAAiB,yBAAyB,kBAAkB,CAAC,kBAAkB,CAAC,EAAE,CACtF,CAAC;gBACF,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC;oBACnB,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAyC,CAAC;oBACpF,MAAM,CAAC,IAAI,CAAC,2BAA2B,kBAAkB,aAAa,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;oBAC5F,kBAAkB,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,oCAAoC,kBAAkB,WAAW,WAAW,CAAC,MAAM,2BAA2B,CAAC,CAAC;oBAC5H,kBAAkB,GAAG,SAAS,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,oCAAoC,GAAG,2BAA2B,CAAC,CAAC;gBAChF,kBAAkB,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,kCAAkC;QAClC,gEAAgE;QAChE,IAAI,MAAM,CAAC,aAAa,IAAI,kBAAkB,EAAE,CAAC;YAC/C,6DAA6D;YAC7D,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,kBAAkB,IAAI,SAAS,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBACxG,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,IAAI,kBAAkB,EAAE,CAAC;YAC9B,uDAAuD;YACvD,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,kBAAkB,IAAI,SAAS,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBACxG,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,MAAM,SAAS,GAAG,MAAM,eAAe,EAAE,CAAC;YAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBAC1D,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;gBACzC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,kCAAkC,kBAAkB,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,iEAAiE;YACjE,0DAA0D;QAC5D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,+BAA+B;IAC/B,8EAA8E;IAE9E,IAAI,OAAO,IAAI,kBAAkB,IAAI,cAAc,EAAE,CAAC;QACpD,kEAAkE;QAClE,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;QACrF,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,2FAA2F;QAC3F,8FAA8F;QAC9F,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QACzC,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,aAAa;QACb,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACtD,WAAW,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,2CAA2C;IAC3C,UAAU,CACR,MAAM,CAAC,gBAAgB,EACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAC5C,CAAC;IAEF,8EAA8E;IAC9E,yDAAyD;IACzD,8EAA8E;IAE9E,IAAI,OAAO,IAAI,kBAAkB,IAAI,cAAc,EAAE,CAAC;QACpD,kEAAkE;QAClE,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;QAChC,eAAe,GAAG,IAAI,UAAU,CAAC,iBAAkB,EAAE,cAAc,CAAC,CAAC;QAErE,aAAa,GAAG,mBAAmB,CACjC,iBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,UAAU,EACV,MAAM,CAAC,uBAAuB,CAC/B,CAAC;QAEF,sEAAsE;QACtE,yDAAyD;QACzD,yFAAyF;QACzF,6EAA6E;QAC7E,MAAM,CAAC,IAAI,CAAC,oCAAoC,kBAAkB,mDAAmD,CAAC,CAAC;IACzH,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;IAC9H,CAAC;IAED,8EAA8E;IAC9E,6BAA6B;IAC7B,8EAA8E;IAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,mEAAmE;QACnE,MAAM,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAEjD,8DAA8D;QAC9D,MAAM,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACzC,MAAM,CAAC,IAAI,CACT,2BAA2B,IAAI,YAAY,MAAM,CAAC,iBAAiB,gBAAgB,MAAM,CAAC,gBAAgB,EAAE,CAC7G,CAAC;AACJ,CAAC"}
|
|
@@ -16,8 +16,8 @@ export function registerGetHistoryTool(server) {
|
|
|
16
16
|
limit: z
|
|
17
17
|
.number()
|
|
18
18
|
.optional()
|
|
19
|
-
.default(
|
|
20
|
-
.describe("Maximum number of messages to return (default
|
|
19
|
+
.default(150)
|
|
20
|
+
.describe("Maximum number of messages to return (default 150)"),
|
|
21
21
|
},
|
|
22
22
|
annotations: {
|
|
23
23
|
readOnlyHint: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../src/tools/get-history.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,+CAA+C;YAC/C,2CAA2C;YAC3C,4DAA4D;QAC9D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;YACrD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"get-history.js","sourceRoot":"","sources":["../../src/tools/get-history.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,+CAA+C;YAC/C,2CAA2C;YAC3C,4DAA4D;QAC9D,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,wCAAwC,CAAC;YACrD,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,GAAG,CAAC;iBACZ,QAAQ,CAAC,oDAAoD,CAAC;SAClE;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACnD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"register-peer.d.ts","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAapE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyMhE"}
|
|
@@ -6,6 +6,7 @@ import { successResult, errorResult } from "../errors.js";
|
|
|
6
6
|
import { saveCredentials, loadCredentials, } from "../cloud/credential-store.js";
|
|
7
7
|
import { logger } from "../logger.js";
|
|
8
8
|
import { heartbeat } from "../services/heartbeat.js";
|
|
9
|
+
import { autoRelay } from "../services/auto-relay.js";
|
|
9
10
|
export function registerRegisterPeerTool(server) {
|
|
10
11
|
server.registerTool("cogent_register_peer", {
|
|
11
12
|
title: "Register Peer",
|
|
@@ -98,6 +99,8 @@ export function registerRegisterPeerTool(server) {
|
|
|
98
99
|
const backend = getBackend();
|
|
99
100
|
const existing = await backend.getPeer(peerId);
|
|
100
101
|
const peer = await backend.registerPeer(peerId, sessionId, cwd, label);
|
|
102
|
+
// Set local peer info for auto-relay (cloud mode: incoming messages trigger local execClaude)
|
|
103
|
+
autoRelay.setLocalPeer(peerId, sessionId, cwd);
|
|
101
104
|
// Build the result, enriched with auto-create info if applicable
|
|
102
105
|
const result = {
|
|
103
106
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,eAAe,GAChB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"register-peer.js","sourceRoot":"","sources":["../../src/tools/register-peer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAmJ/D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { getBackend } from "../backend/index.js";
|
|
2
|
+
import { getBackend, isCloudEndpoint } from "../backend/index.js";
|
|
3
3
|
import { BridgeError, BridgeErrorCode, successResult, errorResult } from "../errors.js";
|
|
4
|
+
import { getConfig } from "../config.js";
|
|
4
5
|
import { logger } from "../logger.js";
|
|
5
6
|
const RETRY_TIMEOUT_MS = 30_000;
|
|
6
7
|
function formatBridgeMessage(fromLabel, fromPeerId, message) {
|
|
@@ -60,6 +61,9 @@ export function registerSendMessageTool(server) {
|
|
|
60
61
|
}
|
|
61
62
|
const durationMs = Date.now() - startMs;
|
|
62
63
|
const success = result.exitCode === 0;
|
|
64
|
+
// Detect cloud mode to adjust response behavior
|
|
65
|
+
const config = getConfig();
|
|
66
|
+
const isCloud = config.COGENT_ENDPOINT && isCloudEndpoint(config.COGENT_ENDPOINT);
|
|
63
67
|
// Update sender lastSeenAt (sender is always active)
|
|
64
68
|
try {
|
|
65
69
|
await backend.updateLastSeen(fromPeerId);
|
|
@@ -76,18 +80,25 @@ export function registerSendMessageTool(server) {
|
|
|
76
80
|
logger.error("Failed to update lastSeenAt for target", { error: e });
|
|
77
81
|
}
|
|
78
82
|
}
|
|
83
|
+
// In cloud mode: response arrives asynchronously via auto-relay,
|
|
84
|
+
// so record the message with response: null and return an informative message.
|
|
85
|
+
// In local mode: response is synchronous from execClaude.
|
|
86
|
+
const responseText = (isCloud && success)
|
|
87
|
+
? `Message delivered to cloud relay. ${to.label} (${toPeerId}) will receive it via WebSocket and auto-respond. ` +
|
|
88
|
+
`Their response will arrive as a new incoming message. Check cogent_get_history or wait for their reply.`
|
|
89
|
+
: (success ? result.stdout : null);
|
|
79
90
|
await backend.recordMessage({
|
|
80
91
|
fromPeerId,
|
|
81
92
|
toPeerId,
|
|
82
93
|
message,
|
|
83
|
-
response: success ? result.stdout : null,
|
|
94
|
+
response: isCloud ? null : (success ? result.stdout : null),
|
|
84
95
|
durationMs,
|
|
85
96
|
success,
|
|
86
97
|
error: success ? null : result.stderr,
|
|
87
98
|
});
|
|
88
99
|
return successResult({
|
|
89
100
|
success,
|
|
90
|
-
response:
|
|
101
|
+
response: responseText,
|
|
91
102
|
error: success ? null : result.stderr,
|
|
92
103
|
durationMs,
|
|
93
104
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../src/tools/send-message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,SAAS,mBAAmB,CAAC,SAAiB,EAAE,UAAkB,EAAE,OAAe;IACjF,OAAO,CACL,+BAA+B,SAAS,KAAK,UAAU,QAAQ;QAC/D,GAAG,OAAO,MAAM;QAChB,OAAO;QACP,uFAAuF,SAAS,IAAI;QACpG,4EAA4E,CAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,sDAAsD;YACtD,sEAAsE;YACtE,oDAAoD;QACtD,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,uCAAuC,CAAC;YACpD,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,2CAA2C,CAAC;YACxD,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,QAAQ,CAAC,gDAAgD,CAAC;SAC9D;QACD,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,WAAW,CAChB,IAAI,WAAW,CACb,eAAe,CAAC,cAAc,EAC9B,gBAAgB,UAAU,kBAAkB,EAC5C,mDAAmD,CACpD,CACF,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,WAAW,CAChB,IAAI,WAAW,CACb,eAAe,CAAC,cAAc,EAC9B,gBAAgB,QAAQ,kBAAkB,EAC1C,mDAAmD,CACpD,CACF,CAAC;YACJ,CAAC;YAED,6DAA6D;YAC7D,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,WAAW,CAChB,IAAI,WAAW,CACb,eAAe,CAAC,eAAe,EAC/B,YAAY,EAAE,CAAC,SAAS,yBAAyB,QAAQ,kDAAkD,EAC3G,QAAQ,QAAQ,gDAAgD,CACjE,CACF,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACtE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE3B,IAAI,CAAC;gBACH,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBAEtE,gDAAgD;gBAChD,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CACT,eAAe,QAAQ,8BAA8B,gBAAgB,YAAY,CAClF,CAAC;oBACF,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;gBACtF,CAAC;gBAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACxC,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;gBAEtC,gDAAgD;gBAChD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBAElF,qDAAqD;gBACrD,IAAI,CAAC;oBAAC,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBAC3D,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBAAC,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACzD,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACvE,CAAC;gBACH,CAAC;gBAED,iEAAiE;gBACjE,+EAA+E;gBAC/E,0DAA0D;gBAC1D,MAAM,YAAY,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;oBACvC,CAAC,CAAC,qCAAqC,EAAE,CAAC,KAAK,KAAK,QAAQ,oDAAoD;wBAC9G,yGAAyG;oBAC3G,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAErC,MAAM,OAAO,CAAC,aAAa,CAAC;oBAC1B,UAAU;oBACV,QAAQ;oBACR,OAAO;oBACP,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC3D,UAAU;oBACV,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;iBACtC,CAAC,CAAC;gBAEH,OAAO,aAAa,CAAC;oBACnB,OAAO;oBACP,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;oBACrC,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;gBACxC,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAElE,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,aAAa,CAAC;wBAC1B,UAAU;wBACV,QAAQ;wBACR,OAAO;wBACP,QAAQ,EAAE,IAAI;wBACd,UAAU;wBACV,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACnB,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACpD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|