@mochabug/adapt-web 0.0.72 → 1.0.0-rc10

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.
Files changed (97) hide show
  1. package/dist/cjs/genproto/mochabugapis/adapt/automations/v1/automations_pb.js +1 -1
  2. package/dist/cjs/genproto/mochabugapis/adapt/automations/v1/automations_pb.js.map +1 -1
  3. package/dist/cjs/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js +2 -1
  4. package/dist/cjs/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js.map +1 -1
  5. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_binding_pb.js +1 -1
  6. package/dist/cjs/genproto/mochabugapis/adapt/graph/signal_binding_pb.js.map +1 -1
  7. package/dist/cjs/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js +1 -1
  8. package/dist/cjs/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js.map +1 -1
  9. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.js +33 -0
  10. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.js.map +1 -0
  11. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/file_pb.js +1 -1
  12. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/file_pb.js.map +1 -1
  13. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.js +105 -0
  14. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.js.map +1 -0
  15. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js +1 -2
  16. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js.map +1 -1
  17. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js +1 -1
  18. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js.map +1 -1
  19. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js +1 -1
  20. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js.map +1 -1
  21. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js +3 -2
  22. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js.map +1 -1
  23. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.js +40 -0
  24. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.js.map +1 -0
  25. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js +1 -1
  26. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js.map +1 -1
  27. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js +1 -2
  28. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js.map +1 -1
  29. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js +127 -59
  30. package/dist/cjs/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js.map +1 -1
  31. package/dist/cjs/index.js +52 -24
  32. package/dist/cjs/index.js.map +1 -1
  33. package/dist/cjs/pubsub-client.js +129 -58
  34. package/dist/cjs/pubsub-client.js.map +1 -1
  35. package/dist/esm/genproto/mochabugapis/adapt/automations/v1/automations_pb.js +1 -1
  36. package/dist/esm/genproto/mochabugapis/adapt/automations/v1/automations_pb.js.map +1 -1
  37. package/dist/esm/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js +2 -1
  38. package/dist/esm/genproto/mochabugapis/adapt/graph/jtd_schema_pb.js.map +1 -1
  39. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_binding_pb.js +1 -1
  40. package/dist/esm/genproto/mochabugapis/adapt/graph/signal_binding_pb.js.map +1 -1
  41. package/dist/esm/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js +1 -1
  42. package/dist/esm/genproto/mochabugapis/adapt/graph/vertex_metadata_pb.js.map +1 -1
  43. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.js +30 -0
  44. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.js.map +1 -0
  45. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/file_pb.js +1 -1
  46. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/file_pb.js.map +1 -1
  47. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.js +102 -0
  48. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.js.map +1 -0
  49. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js +1 -2
  50. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.js.map +1 -1
  51. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js +1 -1
  52. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.js.map +1 -1
  53. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js +1 -1
  54. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.js.map +1 -1
  55. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js +3 -2
  56. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.js.map +1 -1
  57. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.js +37 -0
  58. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.js.map +1 -0
  59. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js +1 -1
  60. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.js.map +1 -1
  61. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js +1 -2
  62. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.js.map +1 -1
  63. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js +125 -58
  64. package/dist/esm/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.js.map +1 -1
  65. package/dist/esm/index.js +52 -24
  66. package/dist/esm/index.js.map +1 -1
  67. package/dist/esm/pubsub-client.js +130 -59
  68. package/dist/esm/pubsub-client.js.map +1 -1
  69. package/dist/types/genproto/mochabugapis/adapt/graph/jtd_schema_pb.d.ts +188 -14
  70. package/dist/types/genproto/mochabugapis/adapt/graph/signal_binding_pb.d.ts +2 -2
  71. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/compound_services_pb.d.ts +346 -0
  72. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/http_proxy_service_pb.d.ts +1281 -0
  73. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/manifest_pb.d.ts +184 -21
  74. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/oauth2_service_pb.d.ts +100 -2
  75. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/plugins_pb.d.ts +28 -4
  76. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/service_definition_pb.d.ts +141 -18
  77. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/service_settings_pb.d.ts +538 -0
  78. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/variable_service_pb.d.ts +130 -2
  79. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/vertex_pb.d.ts +36 -9
  80. package/dist/types/genproto/mochabugapis/adapt/runtime/v1/runtime_pb.d.ts +407 -131
  81. package/dist/types/pubsub-client.d.ts +8 -1
  82. package/package.json +8 -9
  83. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js +0 -30
  84. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js.map +0 -1
  85. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js +0 -33
  86. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js.map +0 -1
  87. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js +0 -64
  88. package/dist/cjs/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js.map +0 -1
  89. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js +0 -27
  90. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.js.map +0 -1
  91. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js +0 -30
  92. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.js.map +0 -1
  93. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js +0 -61
  94. package/dist/esm/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.js.map +0 -1
  95. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/oneof_service_pb.d.ts +0 -93
  96. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/service_binding_pb.d.ts +0 -137
  97. package/dist/types/genproto/mochabugapis/adapt/plugins/v1/tls_service_pb.d.ts +0 -150
@@ -2,7 +2,7 @@ import { fromBinary, toJson } from "@bufbuild/protobuf";
2
2
  import { timestampDate } from "@bufbuild/protobuf/wkt";
3
3
  import WebSocket from "isomorphic-ws";
4
4
  import { parse as parseUuid } from "uuid";
5
- import { SessionSchema, UrlSchema, WebsocketMessageSchema, } from "./genproto/mochabugapis/adapt/automations/v1/automations_pb.js";
5
+ import { SessionSchema, Status, UrlSchema, WebsocketMessageSchema, } from "./genproto/mochabugapis/adapt/automations/v1/automations_pb.js";
6
6
  import { getConfig } from "./index.js";
7
7
  // Connection states
8
8
  export var ConnectionState;
@@ -77,7 +77,9 @@ class ReconnectionManager {
77
77
  this.logger = logger;
78
78
  this.attempts = 0;
79
79
  this.timer = null;
80
- this.INITIAL_DELAY = 1000; // 1 second
80
+ this.FAST_INITIAL_DELAY = 50; // 50ms for first 10 attempts
81
+ this.FAST_ATTEMPTS_THRESHOLD = 10; // First 10 attempts are fast
82
+ this.SLOW_INITIAL_DELAY = 1000; // 1 second after fast attempts
81
83
  this.MAX_DELAY = 30000; // 30 seconds
82
84
  this.MAX_ATTEMPTS = -1; // -1 = infinite
83
85
  }
@@ -91,14 +93,35 @@ class ReconnectionManager {
91
93
  this.timer = null;
92
94
  }
93
95
  }
94
- scheduleReconnect(callback) {
96
+ scheduleReconnect(callback, immediate = false) {
95
97
  if (this.MAX_ATTEMPTS !== -1 && this.attempts >= this.MAX_ATTEMPTS) {
96
98
  this.logger.log("error", "Max reconnection attempts reached");
97
99
  return false;
98
100
  }
99
101
  this.attempts++;
100
- const delay = Math.min(this.INITIAL_DELAY * Math.pow(2, this.attempts - 1), this.MAX_DELAY);
101
- this.logger.log("info", `Scheduling reconnect attempt ${this.attempts} in ${delay}ms`);
102
+ // Calculate delay with fast exponential backoff for first 10 attempts
103
+ let delay;
104
+ if (immediate) {
105
+ // Immediate reconnection for server restart
106
+ delay = 0;
107
+ this.logger.log("info", "Scheduling immediate reconnect (server restart)");
108
+ }
109
+ else if (this.attempts <= this.FAST_ATTEMPTS_THRESHOLD) {
110
+ // Fast reconnection: 50 => 100 => 200 => 400 => 800 => 1600 => 3200 => 6400 => 12800 => 25600
111
+ delay = this.FAST_INITIAL_DELAY * Math.pow(2, this.attempts - 1);
112
+ }
113
+ else {
114
+ // After fast attempts, use slower backoff starting from SLOW_INITIAL_DELAY
115
+ const slowAttempt = this.attempts - this.FAST_ATTEMPTS_THRESHOLD;
116
+ delay = this.SLOW_INITIAL_DELAY * Math.pow(2, slowAttempt - 1);
117
+ }
118
+ // Cap at MAX_DELAY (except for immediate reconnects)
119
+ if (!immediate) {
120
+ delay = Math.min(delay, this.MAX_DELAY);
121
+ }
122
+ if (!immediate) {
123
+ this.logger.log("info", `Scheduling reconnect attempt ${this.attempts} in ${delay}ms`);
124
+ }
102
125
  this.timer = setTimeout(() => {
103
126
  this.timer = null;
104
127
  callback();
@@ -111,12 +134,18 @@ class WebSocketManager {
111
134
  constructor(logger) {
112
135
  this.logger = logger;
113
136
  this.ws = null;
137
+ this.closePromise = null;
138
+ this.closeResolve = null;
114
139
  }
115
140
  connect(url, onOpen, onMessage, onClose, onError) {
116
141
  if (this.ws) {
117
142
  throw new Error("WebSocket already exists");
118
143
  }
119
144
  this.logger.log("info", `Connecting to: ${url}`);
145
+ // Create a promise that resolves when the WebSocket closes
146
+ this.closePromise = new Promise((resolve) => {
147
+ this.closeResolve = resolve;
148
+ });
120
149
  this.ws = new WebSocket(url);
121
150
  this.ws.binaryType = "arraybuffer";
122
151
  this.ws.onopen = () => {
@@ -148,6 +177,10 @@ class WebSocketManager {
148
177
  this.logger.log("info", `WebSocket closed: ${event.code} - ${event.reason}`);
149
178
  onClose(event.code, event.reason);
150
179
  this.ws = null;
180
+ // Resolve the close promise
181
+ this.closeResolve();
182
+ this.closeResolve = null;
183
+ this.closePromise = null;
151
184
  };
152
185
  }
153
186
  sendAck(messageId) {
@@ -167,18 +200,15 @@ class WebSocketManager {
167
200
  return false;
168
201
  }
169
202
  }
170
- close(code = 1000 /* CloseCode.NORMAL */, reason = "Client disconnecting") {
171
- if (this.ws) {
172
- try {
173
- if (this.ws.readyState === WebSocket.OPEN) {
174
- this.ws.close(code, reason);
175
- }
176
- }
177
- catch (error) {
178
- this.logger.log("error", "Error closing WebSocket:", error);
179
- }
180
- this.ws = null;
203
+ async close(code = 1000 /* CloseCode.NORMAL */, reason = "Client disconnecting") {
204
+ if (!this.ws) {
205
+ return;
206
+ }
207
+ if (this.ws.readyState === WebSocket.OPEN ||
208
+ this.ws.readyState === WebSocket.CONNECTING) {
209
+ this.ws.close(code, reason);
181
210
  }
211
+ await this.closePromise;
182
212
  }
183
213
  isConnected() {
184
214
  return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
@@ -189,6 +219,7 @@ class MessageProcessor {
189
219
  constructor(logger, handlers) {
190
220
  this.logger = logger;
191
221
  this.handlers = handlers;
222
+ this.sessionEnded = false;
192
223
  }
193
224
  process(data) {
194
225
  try {
@@ -208,13 +239,16 @@ class MessageProcessor {
208
239
  default:
209
240
  this.logger.log("warn", `Unknown message type: ${message.message.case}`);
210
241
  }
211
- return message.id;
242
+ return { messageId: message.id, sessionEnded: this.sessionEnded };
212
243
  }
213
244
  catch (error) {
214
245
  this.logger.log("error", "Failed to process message:", error);
215
- return null;
246
+ return { messageId: null, sessionEnded: this.sessionEnded };
216
247
  }
217
248
  }
249
+ hasSessionEnded() {
250
+ return this.sessionEnded;
251
+ }
218
252
  processOutput(output) {
219
253
  if (!this.handlers.onOutput)
220
254
  return;
@@ -231,6 +265,16 @@ class MessageProcessor {
231
265
  }
232
266
  }
233
267
  processSession(session) {
268
+ // Check for terminal status
269
+ switch (session.status) {
270
+ case Status.STOPPED:
271
+ case Status.COMPLETED:
272
+ case Status.ERRORED:
273
+ case Status.EXPIRED:
274
+ this.sessionEnded = true;
275
+ this.logger.log("info", `Session ended with status: ${Status[session.status]}`);
276
+ break;
277
+ }
234
278
  if (!this.handlers.onSession)
235
279
  return;
236
280
  try {
@@ -266,7 +310,7 @@ class MessageProcessor {
266
310
  export class PubsubClient {
267
311
  constructor(debug = false) {
268
312
  this.state = ConnectionState.DISCONNECTED;
269
- this.sessionConfig = null;
313
+ this.sessionInfo = null;
270
314
  this.messageProcessor = null;
271
315
  this.shouldReconnect = true;
272
316
  this.sessionComplete = false;
@@ -299,9 +343,11 @@ export class PubsubClient {
299
343
  await this.unsubscribe();
300
344
  }
301
345
  // Store configuration
302
- this.sessionConfig = {
346
+ this.sessionInfo = {
303
347
  token: opts.sessionToken,
304
- automation: opts.automation,
348
+ organization: opts.automation.organization,
349
+ group: opts.automation.group,
350
+ automation: opts.automation.automation,
305
351
  };
306
352
  // Create message processor with handlers
307
353
  this.messageProcessor = new MessageProcessor(this.logger, {
@@ -329,12 +375,12 @@ export class PubsubClient {
329
375
  this.shouldReconnect = false;
330
376
  // Cancel any pending reconnects
331
377
  this.reconnectManager.cancel();
332
- // Close WebSocket
333
- this.wsManager.close();
378
+ // Close WebSocket and wait for it to fully close
379
+ await this.wsManager.close();
334
380
  // Stop ACK tracker
335
381
  this.ackTracker.stop();
336
382
  // Clear state
337
- this.sessionConfig = null;
383
+ this.sessionInfo = null;
338
384
  this.messageProcessor = null;
339
385
  this.state = ConnectionState.DISCONNECTED;
340
386
  this.logger.log("info", "Unsubscribed successfully");
@@ -345,14 +391,19 @@ export class PubsubClient {
345
391
  getConnectionState() {
346
392
  return this.state;
347
393
  }
394
+ getSessionInfo() {
395
+ if (!this.sessionInfo) {
396
+ throw new Error("No active session");
397
+ }
398
+ return this.sessionInfo;
399
+ }
348
400
  async connect() {
349
- if (!this.sessionConfig) {
401
+ if (!this.sessionInfo) {
350
402
  throw new Error("No session configuration");
351
403
  }
352
404
  this.state = ConnectionState.CONNECTING;
353
405
  const config = getConfig();
354
- const { token, automation } = this.sessionConfig;
355
- const wsUrl = `${config.wsBaseUrl}/${automation.organization}/${automation.group}/${automation.automation}/ws?token=${encodeURIComponent(token)}`;
406
+ const wsUrl = `${config.wsBaseUrl}/${this.sessionInfo.organization}/${this.sessionInfo.group}/${this.sessionInfo.automation}/ws?token=${encodeURIComponent(this.sessionInfo.token)}`;
356
407
  try {
357
408
  this.wsManager.connect(wsUrl, () => this.handleOpen(), (data) => this.handleMessage(data), (code, reason) => this.handleClose(code, reason), (error) => this.handleError(error));
358
409
  }
@@ -371,31 +422,42 @@ export class PubsubClient {
371
422
  return;
372
423
  }
373
424
  // Process the message
374
- const messageId = this.messageProcessor.process(data);
375
- if (!messageId) {
425
+ const result = this.messageProcessor.process(data);
426
+ if (!result.messageId) {
376
427
  return; // Failed to parse
377
428
  }
429
+ // Update session complete flag if session ended
430
+ if (result.sessionEnded && !this.sessionComplete) {
431
+ this.logger.log("info", "Session has ended (detected from message)");
432
+ this.sessionComplete = true;
433
+ }
378
434
  // Check for duplicate
379
- if (this.ackTracker.isProcessed(messageId)) {
380
- this.logger.log("debug", `Duplicate message: ${messageId}`);
435
+ if (this.ackTracker.isProcessed(result.messageId)) {
436
+ this.logger.log("debug", `Duplicate message: ${result.messageId}`);
381
437
  }
382
438
  else {
383
- this.ackTracker.markProcessed(messageId);
439
+ this.ackTracker.markProcessed(result.messageId);
440
+ }
441
+ // ACK the message (skip for session-ending messages as connection will close)
442
+ if (!result.sessionEnded) {
443
+ this.wsManager.sendAck(result.messageId);
384
444
  }
385
- // Always ACK (even for duplicates)
386
- this.wsManager.sendAck(messageId);
387
445
  }
388
446
  handleClose(code, reason) {
389
447
  this.state = ConnectionState.DISCONNECTED;
390
448
  // Analyze close code
391
- const shouldReconnect = this.analyzeCloseCode(code, reason);
449
+ const reconnectStrategy = this.analyzeCloseCode(code, reason);
392
450
  // Schedule reconnect if appropriate
393
- if (shouldReconnect && this.shouldReconnect && !this.sessionComplete) {
394
- this.scheduleReconnect();
451
+ if (reconnectStrategy.shouldReconnect &&
452
+ this.shouldReconnect &&
453
+ !this.sessionComplete) {
454
+ this.scheduleReconnect(reconnectStrategy.immediate);
395
455
  }
396
456
  else {
397
- // Clean shutdown
398
- this.cleanup();
457
+ // Clean shutdown (fire and forget - cleanup is async but we don't need to wait)
458
+ this.cleanup().catch((error) => {
459
+ this.logger.log("error", "Error during cleanup:", error);
460
+ });
399
461
  }
400
462
  }
401
463
  handleError(error) {
@@ -407,28 +469,36 @@ export class PubsubClient {
407
469
  // Normal closure - session complete or client requested
408
470
  this.logger.log("info", "Normal closure");
409
471
  this.sessionComplete = true;
410
- return false;
472
+ return { shouldReconnect: false, immediate: false };
411
473
  case 1001 /* CloseCode.GOING_AWAY */:
412
474
  // Server shutting down
413
475
  this.logger.log("warn", "Server going away");
414
- return true;
476
+ return { shouldReconnect: true, immediate: false };
477
+ case 1012 /* CloseCode.SERVER_RESTART */:
478
+ // Server restart - reconnect immediately (no backoff)
479
+ this.logger.log("warn", "Server restarting - will reconnect immediately");
480
+ return { shouldReconnect: true, immediate: true };
481
+ case 1013 /* CloseCode.TRY_AGAIN_LATER */:
482
+ // Service temporarily unavailable - reconnect with backoff
483
+ this.logger.log("warn", "Service temporarily unavailable, will retry");
484
+ return { shouldReconnect: true, immediate: false };
415
485
  case 1002 /* CloseCode.PROTOCOL_ERROR */:
416
486
  case 1003 /* CloseCode.UNSUPPORTED_DATA */:
417
487
  case 1008 /* CloseCode.POLICY_VIOLATION */:
418
488
  // Critical errors - don't reconnect
419
489
  this.logger.log("error", `Critical error (${code}): ${reason}`);
420
- return false;
490
+ return { shouldReconnect: false, immediate: false };
421
491
  case 1006 /* CloseCode.ABNORMAL */:
422
492
  // Connection lost - try to reconnect
423
493
  this.logger.log("warn", "Connection lost (abnormal closure)");
424
- return true;
494
+ return { shouldReconnect: true, immediate: false };
425
495
  default:
426
496
  // Unknown code - try to reconnect
427
497
  this.logger.log("warn", `Unknown close code ${code}: ${reason}`);
428
- return true;
498
+ return { shouldReconnect: true, immediate: false };
429
499
  }
430
500
  }
431
- scheduleReconnect() {
501
+ scheduleReconnect(immediate = false) {
432
502
  const scheduled = this.reconnectManager.scheduleReconnect(() => {
433
503
  // Double-check state to avoid race conditions
434
504
  if (this.shouldReconnect &&
@@ -436,34 +506,35 @@ export class PubsubClient {
436
506
  !this.sessionComplete) {
437
507
  this.connect().catch((error) => {
438
508
  this.logger.log("error", "Reconnection failed:", error);
439
- // Try again
440
- this.scheduleReconnect();
509
+ // Try again with normal backoff (not immediate)
510
+ this.scheduleReconnect(false);
441
511
  });
442
512
  }
443
- });
513
+ }, immediate);
444
514
  if (!scheduled) {
445
- // Max attempts reached
446
- this.cleanup();
515
+ // Max attempts reached (fire and forget cleanup)
516
+ this.cleanup().catch((error) => {
517
+ this.logger.log("error", "Error during cleanup:", error);
518
+ });
447
519
  }
448
520
  }
449
- cleanup() {
521
+ async cleanup() {
450
522
  this.shouldReconnect = false;
451
523
  this.reconnectManager.cancel();
452
524
  this.ackTracker.stop();
453
- this.wsManager.close();
454
- this.sessionConfig = null;
525
+ await this.wsManager.close();
526
+ this.sessionInfo = null;
455
527
  this.messageProcessor = null;
456
528
  this.state = ConnectionState.DISCONNECTED;
457
529
  }
458
530
  isSameSession(opts) {
459
- if (!this.sessionConfig || this.state !== ConnectionState.CONNECTED) {
531
+ if (!this.sessionInfo || this.state !== ConnectionState.CONNECTED) {
460
532
  return false;
461
533
  }
462
- return (this.sessionConfig.token === opts.sessionToken &&
463
- this.sessionConfig.automation.organization ===
464
- opts.automation.organization &&
465
- this.sessionConfig.automation.group === opts.automation.group &&
466
- this.sessionConfig.automation.automation === opts.automation.automation);
534
+ return (this.sessionInfo.token === opts.sessionToken &&
535
+ this.sessionInfo.organization === opts.automation.organization &&
536
+ this.sessionInfo.group === opts.automation.group &&
537
+ this.sessionInfo.automation === opts.automation.automation);
467
538
  }
468
539
  updateHandlers(opts) {
469
540
  if (!this.messageProcessor) {
@@ -1 +1 @@
1
- {"version":3,"file":"pubsub-client.js","sourceRoot":"","sources":["../../src/pubsub-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pubsub-client.js","sourceRoot":"","sources":["../../src/pubsub-client.ts"],"names":[],"mappings":"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"}