crewly 1.4.55 → 1.4.57

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 (66) hide show
  1. package/dist/backend/backend/src/constants.d.ts +36 -13
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +37 -13
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +187 -0
  6. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -0
  7. package/dist/backend/backend/src/controllers/browser/browser.controller.js +269 -0
  8. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -0
  9. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts +17 -0
  10. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -0
  11. package/dist/backend/backend/src/controllers/browser/browser.routes.js +65 -0
  12. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -0
  13. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/chat/chat.controller.js +31 -1
  15. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js +23 -0
  18. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  20. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +12 -0
  21. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  22. package/dist/backend/backend/src/index.d.ts.map +1 -1
  23. package/dist/backend/backend/src/index.js +51 -0
  24. package/dist/backend/backend/src/index.js.map +1 -1
  25. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  26. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  27. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  28. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +134 -0
  29. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -0
  30. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +254 -0
  31. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -0
  32. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +15 -0
  34. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  35. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +16 -2
  36. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +155 -44
  38. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +1 -1
  40. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +52 -0
  41. package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/cloud/relay-client.service.js +117 -12
  43. package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
  44. package/dist/backend/backend/src/services/cloud/relay.types.d.ts +2 -0
  45. package/dist/backend/backend/src/services/cloud/relay.types.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/cloud/relay.types.js.map +1 -1
  47. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts +103 -0
  48. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts.map +1 -0
  49. package/dist/backend/backend/src/services/messaging/message-replay.service.js +247 -0
  50. package/dist/backend/backend/src/services/messaging/message-replay.service.js.map +1 -0
  51. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +40 -0
  53. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  54. package/dist/backend/backend/src/services/slack/slack.service.js +2 -2
  55. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  56. package/dist/cli/backend/src/constants.d.ts +36 -13
  57. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  58. package/dist/cli/backend/src/constants.js +37 -13
  59. package/dist/cli/backend/src/constants.js.map +1 -1
  60. package/dist/cli/cli/src/commands/service.d.ts +9 -0
  61. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  62. package/dist/cli/cli/src/commands/service.js +76 -15
  63. package/dist/cli/cli/src/commands/service.js.map +1 -1
  64. package/frontend/dist/assets/{index-d4b7d883.js → index-1b67fa33.js} +187 -187
  65. package/frontend/dist/index.html +1 -1
  66. package/package.json +1 -1
@@ -11,6 +11,8 @@
11
11
  * - End-to-end encryption (E2EE) — relay never sees plaintext
12
12
  * - Exponential backoff on registration failures
13
13
  * - Automatic message acknowledgement after processing
14
+ * - Token auto-refresh via CloudClientService integration
15
+ * - Consecutive failure tracking with error state escalation
14
16
  *
15
17
  * @module services/cloud/relay-client.service
16
18
  */
@@ -20,6 +22,9 @@ import { LoggerService } from '../core/logger.service.js';
20
22
  import { CLOUD_CONSTANTS } from '../../constants.js';
21
23
  import { deriveKey, generateSalt, encrypt, decrypt, serializeEnvelope, deserializeEnvelope, } from './relay-crypto.service.js';
22
24
  const RELAY = CLOUD_CONSTANTS.RELAY;
25
+ const RELAY_ENDPOINTS = CLOUD_CONSTANTS.RELAY_ENDPOINTS;
26
+ /** Maximum consecutive poll failures before emitting an error event */
27
+ const MAX_CONSECUTIVE_POLL_FAILURES = 5;
23
28
  // ---------------------------------------------------------------------------
24
29
  // Service
25
30
  // ---------------------------------------------------------------------------
@@ -54,6 +59,10 @@ export class RelayClientService extends EventEmitter {
54
59
  intentionalDisconnect = false;
55
60
  /** Timestamp of last seen message for pagination */
56
61
  lastSeenTimestamp = null;
62
+ /** Consecutive poll failure count for error escalation */
63
+ consecutivePollFailures = 0;
64
+ /** Total poll cycles executed (for observability) */
65
+ pollCount = 0;
57
66
  constructor() {
58
67
  super();
59
68
  this.logger = LoggerService.getInstance().createComponentLogger('RelayClientService');
@@ -176,6 +185,10 @@ export class RelayClientService extends EventEmitter {
176
185
  // -------------------------------------------------------------------------
177
186
  /**
178
187
  * Register with the Cloud Message Queue via HTTP POST.
188
+ *
189
+ * Uses CLOUD_CONSTANTS.RELAY_ENDPOINTS.QUEUE_REGISTER for the endpoint URL.
190
+ * On success, transitions to 'registered' or 'paired' state and starts polling.
191
+ * On failure, enters 'error' state and schedules reconnection with backoff.
179
192
  */
180
193
  async doRegister() {
181
194
  if (!this.config)
@@ -183,11 +196,13 @@ export class RelayClientService extends EventEmitter {
183
196
  this.setState('connecting');
184
197
  this.logger.info('Registering with Cloud Message Queue', { apiUrl: this.config.apiUrl });
185
198
  try {
186
- const response = await fetch(`${this.config.apiUrl}/api/v1/relay/queue/register`, {
199
+ const token = this.getAuthToken();
200
+ const url = `${this.config.apiUrl}${RELAY_ENDPOINTS.QUEUE_REGISTER}`;
201
+ const response = await fetch(url, {
187
202
  method: 'POST',
188
203
  headers: {
189
204
  'Content-Type': 'application/json',
190
- 'Authorization': `Bearer ${this.config.token}`,
205
+ 'Authorization': `Bearer ${token}`,
191
206
  },
192
207
  body: JSON.stringify({
193
208
  role: this.config.role,
@@ -205,6 +220,7 @@ export class RelayClientService extends EventEmitter {
205
220
  }
206
221
  this.sessionId = data.queueId;
207
222
  this.reconnectAttempts = 0;
223
+ this.consecutivePollFailures = 0;
208
224
  this.logger.info('Registered with Cloud Queue', { queueId: data.queueId });
209
225
  if (data.peerQueueId) {
210
226
  // Already paired
@@ -250,27 +266,45 @@ export class RelayClientService extends EventEmitter {
250
266
  }
251
267
  /**
252
268
  * Poll the queue for new messages and process them.
269
+ *
270
+ * Uses CLOUD_CONSTANTS.RELAY_ENDPOINTS.QUEUE_POLL for the endpoint URL.
271
+ * Handles pairing detection when the poll response includes a peerQueueId
272
+ * (transition from 'registered' → 'paired'). Tracks consecutive failures
273
+ * and emits an error event after MAX_CONSECUTIVE_POLL_FAILURES.
253
274
  */
254
275
  async poll() {
255
276
  if (!this.config || !this.sessionId)
256
277
  return;
278
+ this.pollCount++;
257
279
  try {
258
- let url = `${this.config.apiUrl}/api/v1/relay/queue/poll?queueId=${this.sessionId}`;
280
+ const token = this.getAuthToken();
281
+ let url = `${this.config.apiUrl}${RELAY_ENDPOINTS.QUEUE_POLL}?queueId=${this.sessionId}`;
259
282
  if (this.lastSeenTimestamp) {
260
283
  url += `&since=${encodeURIComponent(this.lastSeenTimestamp)}`;
261
284
  }
262
285
  const response = await fetch(url, {
263
286
  method: 'GET',
264
287
  headers: {
265
- 'Authorization': `Bearer ${this.config.token}`,
288
+ 'Authorization': `Bearer ${token}`,
266
289
  },
267
290
  signal: AbortSignal.timeout(RELAY.REQUEST_TIMEOUT_MS),
268
291
  });
269
292
  if (!response.ok) {
270
- this.logger.error('Poll request failed', { status: response.status });
293
+ this.handlePollFailure(`Poll request failed with HTTP ${response.status}`);
271
294
  return;
272
295
  }
296
+ // Reset failure counter on successful response
297
+ this.consecutivePollFailures = 0;
273
298
  const data = await response.json();
299
+ // Detect pairing during poll — server may return peerQueueId once peer registers
300
+ if (data.peerQueueId && !this.peerQueueId) {
301
+ this.peerQueueId = data.peerQueueId;
302
+ if (this.state === 'registered') {
303
+ this.setState('paired');
304
+ this.emit('paired', this.peerQueueId, 'peer');
305
+ this.logger.info('Paired with peer during poll', { peerQueueId: this.peerQueueId });
306
+ }
307
+ }
274
308
  if (!data.messages || data.messages.length === 0)
275
309
  return;
276
310
  const messageIds = [];
@@ -289,9 +323,24 @@ export class RelayClientService extends EventEmitter {
289
323
  }
290
324
  }
291
325
  catch (err) {
292
- this.logger.error('Poll cycle failed', {
293
- error: err instanceof Error ? err.message : String(err),
294
- });
326
+ this.handlePollFailure(err instanceof Error ? err.message : String(err));
327
+ }
328
+ }
329
+ /**
330
+ * Handle a poll failure by incrementing the failure counter and
331
+ * emitting an error event if the threshold is exceeded.
332
+ *
333
+ * @param reason - Human-readable failure reason for logging
334
+ */
335
+ handlePollFailure(reason) {
336
+ this.consecutivePollFailures++;
337
+ this.logger.error('Poll cycle failed', {
338
+ reason,
339
+ consecutiveFailures: this.consecutivePollFailures,
340
+ });
341
+ if (this.consecutivePollFailures >= MAX_CONSECUTIVE_POLL_FAILURES) {
342
+ this.logger.error('Too many consecutive poll failures — emitting error');
343
+ this.emit('error', new Error(`Relay poll failed ${this.consecutivePollFailures} times consecutively`));
295
344
  }
296
345
  }
297
346
  /**
@@ -318,17 +367,23 @@ export class RelayClientService extends EventEmitter {
318
367
  /**
319
368
  * Acknowledge processed messages so they are not re-delivered.
320
369
  *
370
+ * Uses CLOUD_CONSTANTS.RELAY_ENDPOINTS.QUEUE_ACK for the endpoint URL.
371
+ * Fire-and-forget — ack failures are logged but do not affect state.
372
+ * Unacked messages may be re-delivered on the next poll cycle.
373
+ *
321
374
  * @param messageIds - Array of message IDs to acknowledge
322
375
  */
323
376
  async ackMessages(messageIds) {
324
377
  if (!this.config || !this.sessionId)
325
378
  return;
326
379
  try {
327
- await fetch(`${this.config.apiUrl}/api/v1/relay/queue/ack`, {
380
+ const token = this.getAuthToken();
381
+ const url = `${this.config.apiUrl}${RELAY_ENDPOINTS.QUEUE_ACK}`;
382
+ await fetch(url, {
328
383
  method: 'POST',
329
384
  headers: {
330
385
  'Content-Type': 'application/json',
331
- 'Authorization': `Bearer ${this.config.token}`,
386
+ 'Authorization': `Bearer ${token}`,
332
387
  },
333
388
  body: JSON.stringify({
334
389
  queueId: this.sessionId,
@@ -349,17 +404,21 @@ export class RelayClientService extends EventEmitter {
349
404
  /**
350
405
  * Send an encrypted payload to the peer via HTTP POST.
351
406
  *
407
+ * Uses CLOUD_CONSTANTS.RELAY_ENDPOINTS.QUEUE_SEND for the endpoint URL.
408
+ *
352
409
  * @param payload - Serialized encrypted envelope
353
410
  */
354
411
  async sendViaHttp(payload) {
355
412
  if (!this.config || !this.peerQueueId)
356
413
  return;
357
414
  try {
358
- const response = await fetch(`${this.config.apiUrl}/api/v1/relay/queue/send`, {
415
+ const token = this.getAuthToken();
416
+ const url = `${this.config.apiUrl}${RELAY_ENDPOINTS.QUEUE_SEND}`;
417
+ const response = await fetch(url, {
359
418
  method: 'POST',
360
419
  headers: {
361
420
  'Content-Type': 'application/json',
362
- 'Authorization': `Bearer ${this.config.token}`,
421
+ 'Authorization': `Bearer ${token}`,
363
422
  },
364
423
  body: JSON.stringify({
365
424
  peerQueueId: this.peerQueueId,
@@ -417,6 +476,50 @@ export class RelayClientService extends EventEmitter {
417
476
  this.emit('stateChange', newState);
418
477
  }
419
478
  }
479
+ /**
480
+ * Get the total number of poll cycles executed since last connect.
481
+ *
482
+ * Useful for monitoring and debugging relay health.
483
+ *
484
+ * @returns Number of poll cycles
485
+ */
486
+ getPollCount() {
487
+ return this.pollCount;
488
+ }
489
+ /**
490
+ * Get the current number of consecutive poll failures.
491
+ *
492
+ * @returns Consecutive failure count (resets on success)
493
+ */
494
+ getConsecutivePollFailures() {
495
+ return this.consecutivePollFailures;
496
+ }
497
+ /**
498
+ * Get the best available auth token for Cloud API calls.
499
+ *
500
+ * Attempts to read a fresh token from CloudClientService (which handles
501
+ * auto-refresh). Falls back to the token stored in config if CloudClientService
502
+ * is not connected or unavailable.
503
+ *
504
+ * @returns Bearer token string
505
+ */
506
+ getAuthToken() {
507
+ try {
508
+ // Dynamically import to avoid circular dependency at module load time
509
+ // CloudClientService.getToken() returns the latest (possibly refreshed) token
510
+ const { CloudClientService } = require('./cloud-client.service.js');
511
+ const cloudClient = CloudClientService.getInstance();
512
+ if (cloudClient.isConnected()) {
513
+ const freshToken = cloudClient.getToken();
514
+ if (freshToken)
515
+ return freshToken;
516
+ }
517
+ }
518
+ catch {
519
+ // CloudClientService not available — use config token
520
+ }
521
+ return this.config?.token ?? '';
522
+ }
420
523
  /**
421
524
  * Clean up timers and reset connection state.
422
525
  */
@@ -428,6 +531,8 @@ export class RelayClientService extends EventEmitter {
428
531
  }
429
532
  this.sessionId = null;
430
533
  this.peerQueueId = null;
534
+ this.consecutivePollFailures = 0;
535
+ this.pollCount = 0;
431
536
  }
432
537
  }
433
538
  //# sourceMappingURL=relay-client.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relay-client.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay-client.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay-client.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay-client.service.ts"],"names":[],"mappings":"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"}
@@ -140,6 +140,8 @@ export interface RelayQueueMessage {
140
140
  export interface RelayQueuePollResponse {
141
141
  /** Array of unread messages */
142
142
  messages: RelayQueueMessage[];
143
+ /** Peer's queue ID (included when peer registers after caller — enables pairing detection during poll) */
144
+ peerQueueId?: string;
143
145
  }
144
146
  /** Response from POST /api/v1/relay/queue/register. */
145
147
  export interface RelayQueueRegisterResponse {
@@ -1 +1 @@
1
- {"version":3,"file":"relay.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"relay.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuOH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;QAC/C,UAAU;QACV,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,OAAO;QACP,WAAW;QACX,eAAe;QACf,OAAO;QACP,mBAAmB;KACpB,CAAC,CAAC;IACH,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACvH,KAAK,YAAY;YACf,OAAO,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC;QACzF,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5C,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC/E,KAAK,mBAAmB;YACtB,OAAO,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;QAClD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"relay.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAyOH,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;QAC/C,UAAU;QACV,YAAY;QACZ,MAAM;QACN,QAAQ;QACR,OAAO;QACP,WAAW;QACX,eAAe;QACf,OAAO;QACP,mBAAmB;KACpB,CAAC,CAAC;IACH,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,IAAa;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5D,MAAM,GAAG,GAAG,IAA+B,CAAC;IAC5C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnD,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACpB,KAAK,UAAU;YACb,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;QACvH,KAAK,YAAY;YACf,OAAO,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC;QAC9C,KAAK,QAAQ;YACX,OAAO,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC;QACzF,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC5C,KAAK,WAAW,CAAC;QACjB,KAAK,eAAe;YAClB,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;QAC/E,KAAK,mBAAmB;YACtB,OAAO,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;QAClD;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Message Replay Service
3
+ *
4
+ * Replays pending user messages after orchestrator restarts (#247).
5
+ * When the orchestrator goes offline (backend restart, session crash, etc.),
6
+ * user messages sent via Slack or Chat UI may be silently lost. This service
7
+ * scans chat conversation history on startup for unreplied user messages
8
+ * that arrived after the last queue persistence timestamp and re-enqueues
9
+ * them so the orchestrator can process them.
10
+ *
11
+ * Flow:
12
+ * 1. On startup, read `savedAt` from persisted queue state to determine
13
+ * when the backend last persisted state (proxy for "last alive" time).
14
+ * 2. Scan all active chat conversations for user messages sent after `savedAt`.
15
+ * 3. Filter out messages that already have an orchestrator/system reply after them.
16
+ * 4. Filter out messages already pending in the restored queue (by conversationId+content).
17
+ * 5. Enqueue surviving messages with a [REPLAYED] prefix.
18
+ *
19
+ * @module services/messaging/message-replay
20
+ */
21
+ import type { MessageQueueService } from './message-queue.service.js';
22
+ import type { ChatService } from '../chat/chat.service.js';
23
+ import type { ChatMessage } from '../../types/chat.types.js';
24
+ /**
25
+ * Result of a replay scan, containing details about what was found and replayed.
26
+ */
27
+ export interface ReplayResult {
28
+ /** Number of unreplied messages found */
29
+ foundCount: number;
30
+ /** Number of messages actually replayed (after filtering duplicates) */
31
+ replayedCount: number;
32
+ /** Number skipped because they were already in the queue */
33
+ skippedDuplicate: number;
34
+ /** The savedAt timestamp used to determine offline start */
35
+ offlineSince: string;
36
+ /** Duration the backend was offline (ms) */
37
+ offlineDurationMs: number;
38
+ }
39
+ /**
40
+ * MessageReplayService scans chat history on startup and replays
41
+ * unreplied user messages that arrived while the orchestrator was offline.
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const replayService = new MessageReplayService(
46
+ * messageQueueService,
47
+ * chatService,
48
+ * '~/.crewly'
49
+ * );
50
+ * const result = await replayService.replayPendingMessages();
51
+ * if (result.replayedCount > 0) {
52
+ * logger.info(`Replayed ${result.replayedCount} missed messages`);
53
+ * }
54
+ * ```
55
+ */
56
+ export declare class MessageReplayService {
57
+ private logger;
58
+ private messageQueueService;
59
+ private chatService;
60
+ private crewlyHome;
61
+ /**
62
+ * Create a new MessageReplayService.
63
+ *
64
+ * @param messageQueueService - The message queue to enqueue replayed messages into
65
+ * @param chatService - The chat service to scan for unreplied messages
66
+ * @param crewlyHome - Path to the crewly home directory (e.g. ~/.crewly)
67
+ */
68
+ constructor(messageQueueService: MessageQueueService, chatService: ChatService, crewlyHome: string);
69
+ /**
70
+ * Scan chat history for unreplied user messages and replay them into the queue.
71
+ *
72
+ * This method should be called once during startup, after the queue has been
73
+ * restored from persisted state but before the orchestrator starts processing.
74
+ *
75
+ * @returns Result containing counts of found, replayed, and skipped messages
76
+ */
77
+ replayPendingMessages(): Promise<ReplayResult>;
78
+ /**
79
+ * Read the `savedAt` timestamp from the persisted queue state file.
80
+ * This is the proxy for "when the backend was last alive."
81
+ *
82
+ * @returns ISO timestamp string or null if no persisted state exists
83
+ */
84
+ getLastPersistedTimestamp(): Promise<string | null>;
85
+ /**
86
+ * Find user messages in a sorted message list that have no orchestrator/system
87
+ * reply after them. A message is considered "replied" if any message from the
88
+ * orchestrator or system appears after it in the conversation.
89
+ *
90
+ * @param messages - Sorted messages (oldest first) from a single conversation
91
+ * @returns Array of user messages with no subsequent reply
92
+ */
93
+ findUnrepliedUserMessages(messages: ChatMessage[]): ChatMessage[];
94
+ /**
95
+ * Infer the message source from the chat message metadata or content.
96
+ * Falls back to 'web_chat' if the source cannot be determined.
97
+ *
98
+ * @param message - The chat message to analyze
99
+ * @returns The message source string for queue enqueuing
100
+ */
101
+ private inferMessageSource;
102
+ }
103
+ //# sourceMappingURL=message-replay.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-replay.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/message-replay.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAS;IAE3B;;;;;;OAMG;gBAED,mBAAmB,EAAE,mBAAmB,EACxC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,MAAM;IAQpB;;;;;;;OAOG;IACG,qBAAqB,IAAI,OAAO,CAAC,YAAY,CAAC;IAkJpD;;;;;OAKG;IACG,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAWzD;;;;;;;OAOG;IACH,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAqBjE;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;CAiB3B"}