bruce-models 7.1.107 → 7.1.108

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.
@@ -139,5 +139,5 @@ __exportStar(require("./workflow/workflow-item"), exports);
139
139
  __exportStar(require("./workflow/workflow-schedule"), exports);
140
140
  __exportStar(require("./workflow/workflow-type"), exports);
141
141
  // This is updated with the package.json version on build.
142
- exports.VERSION = "7.1.107";
142
+ exports.VERSION = "7.1.108";
143
143
  //# sourceMappingURL=bruce-models.js.map
@@ -19,6 +19,8 @@ class NavigatorMcpWebSocketClient {
19
19
  constructor(toolHandler, options = {}) {
20
20
  this.ws = null;
21
21
  this.isConnecting = false;
22
+ this.responseGeneration = 0;
23
+ this.pendingResponses = [];
22
24
  this.toolHandler = toolHandler;
23
25
  this.options = options;
24
26
  this.currentAuth = options.auth;
@@ -29,7 +31,7 @@ class NavigatorMcpWebSocketClient {
29
31
  connect(auth) {
30
32
  var _a, _b, _c, _d, _e, _f, _g;
31
33
  if (auth) {
32
- this.currentAuth = auth;
34
+ this.setAuth(auth);
33
35
  }
34
36
  if (this.isConnecting || ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WebSocket.OPEN) {
35
37
  (_c = (_b = this.logger()).debug) === null || _c === void 0 ? void 0 : _c.call(_b, "[NavigatorMcpWS] Connection already active or in-flight; skipping connect.");
@@ -40,24 +42,34 @@ class NavigatorMcpWebSocketClient {
40
42
  const url = this.buildUrl();
41
43
  (_e = (_d = this.logger()).log) === null || _e === void 0 ? void 0 : _e.call(_d, "[NavigatorMcpWS] Connecting to", url);
42
44
  this.ws = new WebSocket(url);
45
+ const socket = this.ws;
43
46
  this.ws.onopen = (event) => {
44
47
  var _a, _b, _c, _d;
48
+ if (this.ws !== socket)
49
+ return;
45
50
  (_b = (_a = this.logger()).log) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Connected");
46
51
  this.isConnecting = false;
47
52
  this.send({ method: "server_ready" });
53
+ this.flushResponses();
48
54
  (_d = (_c = this.options).onOpen) === null || _d === void 0 ? void 0 : _d.call(_c, event);
49
55
  };
50
56
  this.ws.onmessage = (event) => {
57
+ if (this.ws !== socket)
58
+ return;
51
59
  this.handleMessage(event.data);
52
60
  };
53
61
  this.ws.onerror = (event) => {
54
62
  var _a, _b, _c, _d;
63
+ if (this.ws !== socket)
64
+ return;
55
65
  (_b = (_a = this.logger()).error) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Error", event);
56
66
  (_d = (_c = this.options).onError) === null || _d === void 0 ? void 0 : _d.call(_c, event);
57
67
  this.isConnecting = false;
58
68
  };
59
69
  this.ws.onclose = (event) => {
60
70
  var _a, _b, _c, _d;
71
+ if (this.ws !== socket)
72
+ return;
61
73
  (_b = (_a = this.logger()).log) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Disconnected");
62
74
  this.ws = null;
63
75
  this.isConnecting = false;
@@ -71,6 +83,9 @@ class NavigatorMcpWebSocketClient {
71
83
  }
72
84
  disconnect() {
73
85
  var _a, _b;
86
+ // An explicit disconnect ends the logical session; never replay its results.
87
+ this.responseGeneration++;
88
+ this.pendingResponses = [];
74
89
  if (this.ws) {
75
90
  (_b = (_a = this.logger()).debug) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Closing connection");
76
91
  this.ws.close();
@@ -87,6 +102,16 @@ class NavigatorMcpWebSocketClient {
87
102
  * Call connect() afterwards to establish a connection with the new auth.
88
103
  */
89
104
  setAuth(auth) {
105
+ const key = (value) => JSON.stringify([
106
+ value === null || value === void 0 ? void 0 : value.accountId,
107
+ value === null || value === void 0 ? void 0 : value.sessionId,
108
+ value === null || value === void 0 ? void 0 : value.fingerprint,
109
+ value === null || value === void 0 ? void 0 : value.apiBaseUrl
110
+ ]);
111
+ if (key(auth) !== key(this.currentAuth)) {
112
+ this.responseGeneration++;
113
+ this.pendingResponses = [];
114
+ }
90
115
  this.currentAuth = auth;
91
116
  }
92
117
  sendChatEvent(event) {
@@ -131,7 +156,7 @@ class NavigatorMcpWebSocketClient {
131
156
  return urlInstance.toString();
132
157
  }
133
158
  handleMessage(raw) {
134
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
159
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
135
160
  return __awaiter(this, void 0, void 0, function* () {
136
161
  try {
137
162
  const message = typeof raw === "string" ? JSON.parse(raw) : raw;
@@ -153,6 +178,7 @@ class NavigatorMcpWebSocketClient {
153
178
  return;
154
179
  }
155
180
  let result;
181
+ const generation = this.responseGeneration;
156
182
  try {
157
183
  result = yield this.toolHandler({
158
184
  name: toolName,
@@ -164,22 +190,61 @@ class NavigatorMcpWebSocketClient {
164
190
  (_l = (_k = this.logger()).error) === null || _l === void 0 ? void 0 : _l.call(_k, "[NavigatorMcpWS] Tool handler threw", error);
165
191
  result = `Error: ${error instanceof Error ? error.message : String(error)}`;
166
192
  }
167
- this.send({
193
+ if (generation !== this.responseGeneration) {
194
+ (_o = (_m = this.logger()).warn) === null || _o === void 0 ? void 0 : _o.call(_m, "[NavigatorMcpWS] Discarding result from a previous session", messageId);
195
+ return;
196
+ }
197
+ this.sendResponse({
168
198
  method: "tool_response",
169
199
  id: messageId,
170
200
  result
171
201
  });
172
202
  }
173
203
  catch (error) {
174
- (_o = (_m = this.logger()).error) === null || _o === void 0 ? void 0 : _o.call(_m, "[NavigatorMcpWS] Invalid message", error);
204
+ (_q = (_p = this.logger()).error) === null || _q === void 0 ? void 0 : _q.call(_p, "[NavigatorMcpWS] Invalid message", error);
175
205
  }
176
206
  });
177
207
  }
208
+ sendResponse(message) {
209
+ var _a, _b, _c, _d, _e;
210
+ if (this.send(message))
211
+ return;
212
+ this.pendingResponses = this.pendingResponses.filter((entry) => entry.expiresAt > Date.now());
213
+ if (this.pendingResponses.length >= NavigatorMcpWebSocketClient.MAX_PENDING_RESPONSES) {
214
+ const dropped = this.pendingResponses.shift();
215
+ (_b = (_a = this.logger()).warn) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Response queue full; dropping oldest result", (_c = dropped === null || dropped === void 0 ? void 0 : dropped.message) === null || _c === void 0 ? void 0 : _c.id);
216
+ }
217
+ this.pendingResponses.push({ message, expiresAt: Date.now() + NavigatorMcpWebSocketClient.RESPONSE_TTL_MS });
218
+ (_e = (_d = this.logger()).warn) === null || _e === void 0 ? void 0 : _e.call(_d, "[NavigatorMcpWS] Tool result queued until reconnect", message.id);
219
+ }
220
+ flushResponses() {
221
+ var _a, _b;
222
+ const pending = this.pendingResponses;
223
+ this.pendingResponses = [];
224
+ for (const entry of pending) {
225
+ if (entry.expiresAt <= Date.now()) {
226
+ (_b = (_a = this.logger()).warn) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Tool result expired before reconnect", entry.message.id);
227
+ }
228
+ else if (!this.send(entry.message)) {
229
+ this.pendingResponses.push(entry);
230
+ }
231
+ }
232
+ }
178
233
  send(message) {
179
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
234
+ var _a, _b;
235
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN)
236
+ return false;
237
+ try {
180
238
  this.ws.send(JSON.stringify(message));
239
+ return true;
240
+ }
241
+ catch (error) {
242
+ (_b = (_a = this.logger()).error) === null || _b === void 0 ? void 0 : _b.call(_a, "[NavigatorMcpWS] Send failed", error);
243
+ return false;
181
244
  }
182
245
  }
183
246
  }
247
+ NavigatorMcpWebSocketClient.RESPONSE_TTL_MS = 60000;
248
+ NavigatorMcpWebSocketClient.MAX_PENDING_RESPONSES = 32;
184
249
  exports.NavigatorMcpWebSocketClient = NavigatorMcpWebSocketClient;
185
250
  //# sourceMappingURL=navigator-mcp-websocket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigator-mcp-websocket.js","sourceRoot":"","sources":["../../../src/mcp/navigator-mcp-websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigator-mcp-websocket.js","sourceRoot":"","sources":["../../../src/mcp/navigator-mcp-websocket.ts"],"names":[],"mappings":"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"}
@@ -121,4 +121,4 @@ export * from "./util/url-utils";
121
121
  export * from "./workflow/workflow-item";
122
122
  export * from "./workflow/workflow-schedule";
123
123
  export * from "./workflow/workflow-type";
124
- export declare const VERSION = "7.1.107";
124
+ export declare const VERSION = "7.1.108";
@@ -43,6 +43,10 @@ export declare class NavigatorMcpWebSocketClient {
43
43
  private options;
44
44
  private toolHandler;
45
45
  private currentAuth?;
46
+ private responseGeneration;
47
+ private pendingResponses;
48
+ private static readonly RESPONSE_TTL_MS;
49
+ private static readonly MAX_PENDING_RESPONSES;
46
50
  constructor(toolHandler: NavigatorToolCallHandler, options?: NavigatorMcpWebSocketClientOptions);
47
51
  connect(auth?: NavigatorMcpWebSocketAuth): void;
48
52
  disconnect(): void;
@@ -57,5 +61,7 @@ export declare class NavigatorMcpWebSocketClient {
57
61
  private buildUrl;
58
62
  private appendAuthParams;
59
63
  private handleMessage;
64
+ private sendResponse;
65
+ private flushResponses;
60
66
  private send;
61
67
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "7.1.107",
3
+ "version": "7.1.108",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",