crewly 1.4.47 → 1.4.49
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/config/skills/agent/core/report-progress/execute.sh +0 -2
- package/dist/backend/backend/src/constants.d.ts +48 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +48 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +28 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +3 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts +23 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js +85 -0
- package/dist/backend/backend/src/controllers/cloud/relay.controller.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +11 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +22 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +27 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +54 -0
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-initializer.js +20 -0
- package/dist/backend/backend/src/services/cloud/cloud-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +163 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +484 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +181 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +91 -0
- package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.js +2 -0
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +86 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +257 -16
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +48 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +48 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/frontend/dist/assets/{index-7357dbef.js → index-28fcc469.js} +289 -289
- package/frontend/dist/assets/{index-a393888e.css → index-78e43622.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
|
@@ -6,6 +6,11 @@
|
|
|
6
6
|
* fire-and-forget pattern. Responses are handled asynchronously by the
|
|
7
7
|
* orchestrator through reply-* skills (reply-slack, reply-chat, reply-gchat).
|
|
8
8
|
*
|
|
9
|
+
* #239: Force-delivered user messages (Slack/web chat) are tracked in a
|
|
10
|
+
* pending-ack list. When the agent returns to prompt, the PTY output is
|
|
11
|
+
* checked for evidence the message was processed. If not found, the message
|
|
12
|
+
* is re-delivered to prevent silent loss.
|
|
13
|
+
*
|
|
9
14
|
* @module services/messaging/queue-processor
|
|
10
15
|
*/
|
|
11
16
|
import { EventEmitter } from 'events';
|
|
@@ -51,6 +56,16 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
51
56
|
deliveredMessageIds = new Map();
|
|
52
57
|
/** Timer for periodic cleanup of stale dedup entries */
|
|
53
58
|
dedupCleanupTimer = null;
|
|
59
|
+
/** Timer for periodic cleanup of stale pending-ack entries */
|
|
60
|
+
pendingAckCleanupTimer = null;
|
|
61
|
+
/**
|
|
62
|
+
* #239: Tracks force-delivered user messages awaiting acknowledgment.
|
|
63
|
+
* When a user message is force-delivered (agent not at prompt), it is
|
|
64
|
+
* added here instead of being marked completed. On the next successful
|
|
65
|
+
* waitForAgentReady (agent returns to prompt), the PTY output is checked
|
|
66
|
+
* for evidence that each pending message was actually processed.
|
|
67
|
+
*/
|
|
68
|
+
pendingAckMessages = new Map();
|
|
54
69
|
constructor(queueService, responseRouter, agentRegistrationService) {
|
|
55
70
|
super();
|
|
56
71
|
this.logger = LoggerService.getInstance().createComponentLogger('QueueProcessor');
|
|
@@ -68,6 +83,7 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
68
83
|
this.running = true;
|
|
69
84
|
this.queueService.on('enqueued', this.onMessageEnqueued);
|
|
70
85
|
this.startDedupCleanup();
|
|
86
|
+
this.startPendingAckCleanup();
|
|
71
87
|
this.logger.info('Queue processor started');
|
|
72
88
|
// Process any messages already in the queue
|
|
73
89
|
if (this.queueService.hasPending()) {
|
|
@@ -87,7 +103,9 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
87
103
|
this.processNextTimeout = null;
|
|
88
104
|
}
|
|
89
105
|
this.stopDedupCleanup();
|
|
106
|
+
this.stopPendingAckCleanup();
|
|
90
107
|
this.deliveredMessageIds.clear();
|
|
108
|
+
this.pendingAckMessages.clear();
|
|
91
109
|
this.logger.info('Queue processor stopped');
|
|
92
110
|
}
|
|
93
111
|
/**
|
|
@@ -154,6 +172,21 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
154
172
|
}
|
|
155
173
|
const message = this.queueService.dequeue();
|
|
156
174
|
if (!message) {
|
|
175
|
+
// #239: Even with no new messages, flush any pending-ack entries
|
|
176
|
+
// when the agent is potentially idle. This handles the case where
|
|
177
|
+
// the queue is empty but force-delivered messages need verification.
|
|
178
|
+
if (this.pendingAckMessages.size > 0) {
|
|
179
|
+
const storedRuntimeType = orchestratorInfo?.runtimeType;
|
|
180
|
+
const rt = storedRuntimeType || RUNTIME_TYPES.CLAUDE_CODE;
|
|
181
|
+
const isReady = await this.agentRegistrationService.waitForAgentReady(ORCHESTRATOR_SESSION_NAME, EVENT_DELIVERY_CONSTANTS.USER_MESSAGE_TIMEOUT, rt);
|
|
182
|
+
if (isReady) {
|
|
183
|
+
await this.flushPendingAcks(ORCHESTRATOR_SESSION_NAME, rt);
|
|
184
|
+
}
|
|
185
|
+
// Schedule another check if there are still pending acks
|
|
186
|
+
if (this.pendingAckMessages.size > 0) {
|
|
187
|
+
this.scheduleProcessNext(EVENT_DELIVERY_CONSTANTS.AGENT_READY_POLL_INTERVAL);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
157
190
|
return;
|
|
158
191
|
}
|
|
159
192
|
this.processing = true;
|
|
@@ -206,6 +239,12 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
206
239
|
// After processing a previous message the agent may still be busy
|
|
207
240
|
// (managing agents, running commands) before returning to the input prompt.
|
|
208
241
|
const isReady = await this.agentRegistrationService.waitForAgentReady(deliveryTarget, readyTimeout, runtimeType);
|
|
242
|
+
// #239: When the agent returns to prompt, flush any force-delivered
|
|
243
|
+
// messages that are pending acknowledgment. This is the key mechanism
|
|
244
|
+
// to detect and redeliver messages that were silently consumed by the PTY.
|
|
245
|
+
if (isReady && this.pendingAckMessages.size > 0) {
|
|
246
|
+
await this.flushPendingAcks(deliveryTarget, runtimeType);
|
|
247
|
+
}
|
|
209
248
|
// Check if message was force-cancelled while waiting for agent readiness
|
|
210
249
|
if (message.status === 'cancelled') {
|
|
211
250
|
this.logger.info('Message was cancelled during processing, skipping delivery', {
|
|
@@ -214,6 +253,9 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
214
253
|
clearInterval(keepaliveInterval);
|
|
215
254
|
return;
|
|
216
255
|
}
|
|
256
|
+
// #239: Track whether this delivery was forced (agent not at prompt).
|
|
257
|
+
// Force-delivered user messages need pending-ack tracking.
|
|
258
|
+
let wasForceDelivered = false;
|
|
217
259
|
if (!isReady) {
|
|
218
260
|
// For user messages and system events: force-deliver immediately instead
|
|
219
261
|
// of re-queuing to avoid the retry loop that causes multi-minute delays.
|
|
@@ -222,6 +264,7 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
222
264
|
const shouldForceDeliver = (isUserMessage && EVENT_DELIVERY_CONSTANTS.USER_MESSAGE_FORCE_DELIVER) ||
|
|
223
265
|
(isSystemEvent && EVENT_DELIVERY_CONSTANTS.SYSTEM_EVENT_FORCE_DELIVER);
|
|
224
266
|
if (shouldForceDeliver) {
|
|
267
|
+
wasForceDelivered = true;
|
|
225
268
|
this.logger.warn('Agent not ready but force-delivering message to reduce delay', {
|
|
226
269
|
messageId: message.id,
|
|
227
270
|
source: message.source,
|
|
@@ -408,22 +451,49 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
408
451
|
}
|
|
409
452
|
return;
|
|
410
453
|
}
|
|
411
|
-
//
|
|
412
|
-
//
|
|
413
|
-
//
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
454
|
+
// #239: For force-delivered user messages, add to pending-ack list
|
|
455
|
+
// instead of marking completed. The message will be verified or
|
|
456
|
+
// redelivered when the agent next returns to prompt.
|
|
457
|
+
if (wasForceDelivered && isUserMessage) {
|
|
458
|
+
this.pendingAckMessages.set(message.id, {
|
|
459
|
+
messageId: message.id,
|
|
460
|
+
conversationId: message.conversationId,
|
|
461
|
+
deliveryContent,
|
|
462
|
+
targetSession,
|
|
463
|
+
runtimeType: deliveryRuntimeType,
|
|
464
|
+
deliveredAt: Date.now(),
|
|
465
|
+
retryCount: 0,
|
|
466
|
+
originalMessage: message,
|
|
467
|
+
});
|
|
468
|
+
// Resolve source callbacks immediately to unblock callers (e.g. Slack bridge).
|
|
469
|
+
// The actual reply comes via reply-* skills; pending-ack only guards against
|
|
470
|
+
// the message being silently swallowed by the PTY.
|
|
471
|
+
this.responseRouter.routeResponse(message, '');
|
|
472
|
+
this.logger.info('Force-delivered user message added to pending-ack list', {
|
|
473
|
+
messageId: message.id,
|
|
474
|
+
source: message.source,
|
|
475
|
+
conversationId: message.conversationId,
|
|
476
|
+
pendingAckCount: this.pendingAckMessages.size,
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
// Normal path: mark as completed immediately after delivery.
|
|
481
|
+
// Responses are handled asynchronously by the orchestrator through
|
|
482
|
+
// reply-* skills (reply-slack, reply-chat, reply-gchat).
|
|
483
|
+
this.queueService.markCompleted(message.id, '');
|
|
484
|
+
// Mark all batched system event messages as completed too
|
|
485
|
+
if (batchedMessages.length > 0) {
|
|
486
|
+
this.queueService.markBatchCompleted(batchedMessages);
|
|
487
|
+
}
|
|
488
|
+
// Resolve any pending source callbacks (e.g. slackResolve, googleChatResolve)
|
|
489
|
+
// with empty response to unblock callers. The actual reply comes via reply-* skills.
|
|
490
|
+
this.responseRouter.routeResponse(message, '');
|
|
491
|
+
this.logger.info('Message delivered (fire-and-forget)', {
|
|
492
|
+
messageId: message.id,
|
|
493
|
+
source: message.source,
|
|
494
|
+
batchSize: isSystemEvent ? 1 + batchedMessages.length : 1,
|
|
495
|
+
});
|
|
418
496
|
}
|
|
419
|
-
// Resolve any pending source callbacks (e.g. slackResolve, googleChatResolve)
|
|
420
|
-
// with empty response to unblock callers. The actual reply comes via reply-* skills.
|
|
421
|
-
this.responseRouter.routeResponse(message, '');
|
|
422
|
-
this.logger.info('Message delivered (fire-and-forget)', {
|
|
423
|
-
messageId: message.id,
|
|
424
|
-
source: message.source,
|
|
425
|
-
batchSize: isSystemEvent ? 1 + batchedMessages.length : 1,
|
|
426
|
-
});
|
|
427
497
|
// Wait for orchestrator to finish post-delivery work before next message.
|
|
428
498
|
// Skip for system events: they're fire-and-forget notifications.
|
|
429
499
|
// The next processNext() iteration already calls waitForAgentReady before
|
|
@@ -461,12 +531,19 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
461
531
|
* blocked behind the 500ms cooldown after system event delivery.
|
|
462
532
|
*/
|
|
463
533
|
scheduleNextIfPending() {
|
|
464
|
-
if (this.running
|
|
534
|
+
if (!this.running)
|
|
535
|
+
return;
|
|
536
|
+
if (this.queueService.hasPending()) {
|
|
465
537
|
const delay = this.queueService.hasUserMessagePending()
|
|
466
538
|
? 0
|
|
467
539
|
: MESSAGE_QUEUE_CONSTANTS.INTER_MESSAGE_DELAY;
|
|
468
540
|
this.scheduleProcessNext(delay);
|
|
469
541
|
}
|
|
542
|
+
else if (this.pendingAckMessages.size > 0) {
|
|
543
|
+
// #239: No new queue messages but pending-ack entries need flushing.
|
|
544
|
+
// Schedule a poll to check if agent returned to prompt.
|
|
545
|
+
this.scheduleProcessNext(EVENT_DELIVERY_CONSTANTS.AGENT_READY_POLL_INTERVAL);
|
|
546
|
+
}
|
|
470
547
|
}
|
|
471
548
|
/**
|
|
472
549
|
* Start periodic cleanup of stale entries in the delivered message dedup set.
|
|
@@ -515,5 +592,169 @@ export class QueueProcessorService extends EventEmitter {
|
|
|
515
592
|
getDeliveredMessageCount() {
|
|
516
593
|
return this.deliveredMessageIds.size;
|
|
517
594
|
}
|
|
595
|
+
/**
|
|
596
|
+
* Get the number of messages awaiting acknowledgment (for testing).
|
|
597
|
+
*
|
|
598
|
+
* @returns Number of entries in the pending-ack list
|
|
599
|
+
*/
|
|
600
|
+
getPendingAckCount() {
|
|
601
|
+
return this.pendingAckMessages.size;
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Start periodic cleanup of stale pending-ack entries.
|
|
605
|
+
* Runs at PENDING_ACK_TTL_MS intervals and fails entries that have exceeded
|
|
606
|
+
* the TTL — prevents memory leaks if an agent crashes and never returns to prompt.
|
|
607
|
+
*/
|
|
608
|
+
startPendingAckCleanup() {
|
|
609
|
+
if (this.pendingAckCleanupTimer)
|
|
610
|
+
return;
|
|
611
|
+
const ttlMs = EVENT_DELIVERY_CONSTANTS.PENDING_ACK_TTL_MS ?? 600_000;
|
|
612
|
+
this.pendingAckCleanupTimer = setInterval(() => {
|
|
613
|
+
this.purgeExpiredPendingAcks();
|
|
614
|
+
}, ttlMs);
|
|
615
|
+
if (this.pendingAckCleanupTimer.unref) {
|
|
616
|
+
this.pendingAckCleanupTimer.unref();
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Stop the periodic pending-ack cleanup timer.
|
|
621
|
+
*/
|
|
622
|
+
stopPendingAckCleanup() {
|
|
623
|
+
if (this.pendingAckCleanupTimer) {
|
|
624
|
+
clearInterval(this.pendingAckCleanupTimer);
|
|
625
|
+
this.pendingAckCleanupTimer = null;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* Remove pending-ack entries that have exceeded the TTL.
|
|
630
|
+
* Marks them as failed and routes error to the source so the user is notified.
|
|
631
|
+
*/
|
|
632
|
+
purgeExpiredPendingAcks() {
|
|
633
|
+
const ttlMs = EVENT_DELIVERY_CONSTANTS.PENDING_ACK_TTL_MS ?? 600_000;
|
|
634
|
+
const now = Date.now();
|
|
635
|
+
let purged = 0;
|
|
636
|
+
for (const [id, entry] of this.pendingAckMessages) {
|
|
637
|
+
if (now - entry.deliveredAt > ttlMs) {
|
|
638
|
+
this.queueService.markFailed(id, 'Force-delivered message expired without acknowledgment (TTL cleanup)');
|
|
639
|
+
this.responseRouter.routeError(entry.originalMessage, 'Message delivery failed: the orchestrator did not process your message in time. Please try again.');
|
|
640
|
+
this.pendingAckMessages.delete(id);
|
|
641
|
+
purged++;
|
|
642
|
+
}
|
|
643
|
+
}
|
|
644
|
+
if (purged > 0) {
|
|
645
|
+
this.logger.warn('Purged expired pending-ack entries', { purged, remaining: this.pendingAckMessages.size });
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Check if a pending-ack message's fingerprint appears in PTY output.
|
|
650
|
+
*
|
|
651
|
+
* Matches the full [CHAT:conversationId] or [GCHAT:conversationId] prefix
|
|
652
|
+
* rather than a bare conversationId to avoid false positives from short
|
|
653
|
+
* or common IDs appearing in unrelated output.
|
|
654
|
+
*
|
|
655
|
+
* @param output - Captured PTY output string
|
|
656
|
+
* @param conversationId - The conversation ID to search for
|
|
657
|
+
* @returns true if the message fingerprint was found
|
|
658
|
+
*/
|
|
659
|
+
isPendingAckInOutput(output, conversationId) {
|
|
660
|
+
return output.includes(`[CHAT:${conversationId}]`)
|
|
661
|
+
|| output.includes(`[GCHAT:${conversationId}]`)
|
|
662
|
+
|| output.includes(`[CHAT:${conversationId} `)
|
|
663
|
+
|| output.includes(`[GCHAT:${conversationId} `);
|
|
664
|
+
}
|
|
665
|
+
/**
|
|
666
|
+
* #239: Flush pending-ack messages by verifying them against PTY output.
|
|
667
|
+
*
|
|
668
|
+
* Called when the agent returns to prompt (waitForAgentReady succeeds).
|
|
669
|
+
* For each pending-ack entry:
|
|
670
|
+
* - Captures the agent's recent PTY output
|
|
671
|
+
* - Checks if the conversationId or CHAT prefix appears in the output
|
|
672
|
+
* - If found → message was processed, mark completed
|
|
673
|
+
* - If not found → message was swallowed, redeliver
|
|
674
|
+
* - If max retries exceeded → mark failed
|
|
675
|
+
*
|
|
676
|
+
* @param sessionName - The agent session to check
|
|
677
|
+
* @param runtimeType - Runtime type for redelivery
|
|
678
|
+
*/
|
|
679
|
+
async flushPendingAcks(sessionName, runtimeType) {
|
|
680
|
+
if (this.pendingAckMessages.size === 0)
|
|
681
|
+
return;
|
|
682
|
+
const scanLines = EVENT_DELIVERY_CONSTANTS.PENDING_ACK_SCAN_LINES ?? 300;
|
|
683
|
+
const maxRetries = EVENT_DELIVERY_CONSTANTS.PENDING_ACK_MAX_RETRIES ?? 3;
|
|
684
|
+
const ttlMs = EVENT_DELIVERY_CONSTANTS.PENDING_ACK_TTL_MS ?? 600_000;
|
|
685
|
+
// Capture PTY output once for all pending checks
|
|
686
|
+
const ptyOutput = await this.agentRegistrationService.captureAgentOutput(sessionName, scanLines);
|
|
687
|
+
const now = Date.now();
|
|
688
|
+
const entriesToProcess = Array.from(this.pendingAckMessages.values());
|
|
689
|
+
for (const entry of entriesToProcess) {
|
|
690
|
+
// Skip entries for different sessions
|
|
691
|
+
if (entry.targetSession !== sessionName)
|
|
692
|
+
continue;
|
|
693
|
+
// Purge stale entries beyond TTL
|
|
694
|
+
if (now - entry.deliveredAt > ttlMs) {
|
|
695
|
+
this.logger.warn('Pending-ack entry expired beyond TTL, marking failed', {
|
|
696
|
+
messageId: entry.messageId,
|
|
697
|
+
conversationId: entry.conversationId,
|
|
698
|
+
ageMs: now - entry.deliveredAt,
|
|
699
|
+
});
|
|
700
|
+
this.queueService.markFailed(entry.messageId, 'Force-delivered message expired without acknowledgment');
|
|
701
|
+
this.pendingAckMessages.delete(entry.messageId);
|
|
702
|
+
continue;
|
|
703
|
+
}
|
|
704
|
+
// Check if the delivery prefix [CHAT:conversationId] or [GCHAT:conversationId]
|
|
705
|
+
// appears in the PTY output. Using the full prefix avoids false positives from
|
|
706
|
+
// short or common conversationIds that might appear in unrelated output.
|
|
707
|
+
const wasProcessed = this.isPendingAckInOutput(ptyOutput, entry.conversationId);
|
|
708
|
+
if (wasProcessed) {
|
|
709
|
+
this.logger.info('Pending-ack message confirmed in PTY output', {
|
|
710
|
+
messageId: entry.messageId,
|
|
711
|
+
conversationId: entry.conversationId,
|
|
712
|
+
});
|
|
713
|
+
this.queueService.markCompleted(entry.messageId, '');
|
|
714
|
+
this.pendingAckMessages.delete(entry.messageId);
|
|
715
|
+
continue;
|
|
716
|
+
}
|
|
717
|
+
// Message not found in output — was likely swallowed by the PTY
|
|
718
|
+
if (entry.retryCount >= maxRetries) {
|
|
719
|
+
this.logger.error('Force-delivered message not acknowledged after max retries, marking failed', {
|
|
720
|
+
messageId: entry.messageId,
|
|
721
|
+
conversationId: entry.conversationId,
|
|
722
|
+
retryCount: entry.retryCount,
|
|
723
|
+
});
|
|
724
|
+
this.queueService.markFailed(entry.messageId, `Force-delivered message was not processed by the agent after ${entry.retryCount} redelivery attempts`);
|
|
725
|
+
this.responseRouter.routeError(entry.originalMessage, 'Message delivery failed: the orchestrator did not process your message. Please try again.');
|
|
726
|
+
this.pendingAckMessages.delete(entry.messageId);
|
|
727
|
+
continue;
|
|
728
|
+
}
|
|
729
|
+
// Redeliver: double-check PTY output right before sending to minimize duplicates
|
|
730
|
+
const freshOutput = await this.agentRegistrationService.captureAgentOutput(sessionName, scanLines);
|
|
731
|
+
if (this.isPendingAckInOutput(freshOutput, entry.conversationId)) {
|
|
732
|
+
this.logger.info('Pending-ack message found on re-check, marking completed', {
|
|
733
|
+
messageId: entry.messageId,
|
|
734
|
+
conversationId: entry.conversationId,
|
|
735
|
+
});
|
|
736
|
+
this.queueService.markCompleted(entry.messageId, '');
|
|
737
|
+
this.pendingAckMessages.delete(entry.messageId);
|
|
738
|
+
continue;
|
|
739
|
+
}
|
|
740
|
+
// Redeliver the message
|
|
741
|
+
entry.retryCount++;
|
|
742
|
+
this.logger.warn('Redelivering force-delivered message (not found in PTY output)', {
|
|
743
|
+
messageId: entry.messageId,
|
|
744
|
+
conversationId: entry.conversationId,
|
|
745
|
+
retryCount: entry.retryCount,
|
|
746
|
+
maxRetries,
|
|
747
|
+
});
|
|
748
|
+
const redeliveryResult = await this.agentRegistrationService.sendMessageToAgent(entry.targetSession, entry.deliveryContent, entry.runtimeType);
|
|
749
|
+
if (!redeliveryResult.success) {
|
|
750
|
+
this.logger.warn('Redelivery failed, will retry on next idle', {
|
|
751
|
+
messageId: entry.messageId,
|
|
752
|
+
error: redeliveryResult.error,
|
|
753
|
+
});
|
|
754
|
+
}
|
|
755
|
+
// Keep in pendingAckMessages for next flush attempt regardless of success,
|
|
756
|
+
// because we still need to verify the agent actually processes it.
|
|
757
|
+
}
|
|
758
|
+
}
|
|
518
759
|
}
|
|
519
760
|
//# sourceMappingURL=queue-processor.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-processor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-processor.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queue-processor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -456,6 +456,12 @@ export declare const EVENT_DELIVERY_CONSTANTS: {
|
|
|
456
456
|
readonly DEEP_SCAN_INTERVAL: 5000;
|
|
457
457
|
/** Number of lines to capture for deep-scan prompt detection */
|
|
458
458
|
readonly DEEP_SCAN_LINES: 500;
|
|
459
|
+
/** Number of PTY lines to scan when verifying force-delivered message acknowledgment */
|
|
460
|
+
readonly PENDING_ACK_SCAN_LINES: 300;
|
|
461
|
+
/** Maximum re-delivery attempts for force-delivered messages that were not acknowledged */
|
|
462
|
+
readonly PENDING_ACK_MAX_RETRIES: 3;
|
|
463
|
+
/** Time in milliseconds before a pending-ack entry is considered stale and discarded */
|
|
464
|
+
readonly PENDING_ACK_TTL_MS: 600000;
|
|
459
465
|
};
|
|
460
466
|
/**
|
|
461
467
|
* Constants for terminal content formatting.
|
|
@@ -1209,6 +1215,8 @@ export declare const CLOUD_CONSTANTS: {
|
|
|
1209
1215
|
readonly DISCONNECTED: "disconnected";
|
|
1210
1216
|
readonly CONNECTED: "connected";
|
|
1211
1217
|
readonly ERROR: "error";
|
|
1218
|
+
/** Token expired or revoked — cloud API returned 401/403 */
|
|
1219
|
+
readonly TOKEN_EXPIRED: "token_expired";
|
|
1212
1220
|
};
|
|
1213
1221
|
/** Relay-specific endpoints (Cloud Message Queue) */
|
|
1214
1222
|
readonly RELAY_ENDPOINTS: {
|
|
@@ -1259,6 +1267,46 @@ export declare const CLOUD_CONSTANTS: {
|
|
|
1259
1267
|
readonly DEFAULT_WS_URL: "wss://api.crewlyai.com/relay";
|
|
1260
1268
|
};
|
|
1261
1269
|
};
|
|
1270
|
+
/**
|
|
1271
|
+
* Constants for the Cloud Sync system.
|
|
1272
|
+
* Replaces the WebSocket Relay pairing model with heartbeat-based device
|
|
1273
|
+
* discovery and HTTP-polled messaging.
|
|
1274
|
+
*
|
|
1275
|
+
* @see docs/cloud-sync-design.md
|
|
1276
|
+
*/
|
|
1277
|
+
export declare const CLOUD_SYNC_CONSTANTS: {
|
|
1278
|
+
/** Interval between heartbeat uploads (ms) */
|
|
1279
|
+
readonly HEARTBEAT_INTERVAL_MS: 30000;
|
|
1280
|
+
/** Interval between message poll requests (ms) */
|
|
1281
|
+
readonly MESSAGE_POLL_INTERVAL_MS: 5000;
|
|
1282
|
+
/** Interval between device list poll requests (ms) */
|
|
1283
|
+
readonly DEVICE_POLL_INTERVAL_MS: 30000;
|
|
1284
|
+
/** Device considered offline after this threshold (ms) */
|
|
1285
|
+
readonly OFFLINE_THRESHOLD_MS: 60000;
|
|
1286
|
+
/** Messages older than this are considered stale (ms) */
|
|
1287
|
+
readonly MESSAGE_TTL_MS: 300000;
|
|
1288
|
+
/** Maximum messages per device queue */
|
|
1289
|
+
readonly MAX_QUEUE_SIZE: 1000;
|
|
1290
|
+
/** HTTP request timeout for sync API calls (ms) */
|
|
1291
|
+
readonly REQUEST_TIMEOUT_MS: 15000;
|
|
1292
|
+
/** Maximum consecutive failures before entering error state */
|
|
1293
|
+
readonly MAX_CONSECUTIVE_FAILURES: 10;
|
|
1294
|
+
/** Base delay for exponential backoff on failure (ms) */
|
|
1295
|
+
readonly BACKOFF_BASE_MS: 1000;
|
|
1296
|
+
/** Maximum backoff delay (ms) */
|
|
1297
|
+
readonly BACKOFF_MAX_MS: 60000;
|
|
1298
|
+
/** Cloud Sync API endpoints (relative to cloudUrl) */
|
|
1299
|
+
readonly ENDPOINTS: {
|
|
1300
|
+
/** Device heartbeat upload */
|
|
1301
|
+
readonly HEARTBEAT: "/v1/devices/heartbeat";
|
|
1302
|
+
/** List all devices for account */
|
|
1303
|
+
readonly DEVICES: "/v1/devices";
|
|
1304
|
+
/** Send/receive messages */
|
|
1305
|
+
readonly MESSAGES: "/v1/messages";
|
|
1306
|
+
/** Acknowledge processed messages */
|
|
1307
|
+
readonly MESSAGES_ACK: "/v1/messages/ack";
|
|
1308
|
+
};
|
|
1309
|
+
};
|
|
1262
1310
|
/** Subscription tier type */
|
|
1263
1311
|
export type CloudTier = (typeof CLOUD_CONSTANTS.TIERS)[keyof typeof CLOUD_CONSTANTS.TIERS];
|
|
1264
1312
|
/** Cloud connection status type */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../backend/src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,6 +191,12 @@ export const EVENT_DELIVERY_CONSTANTS = {
|
|
|
191
191
|
DEEP_SCAN_INTERVAL: 5000,
|
|
192
192
|
/** Number of lines to capture for deep-scan prompt detection */
|
|
193
193
|
DEEP_SCAN_LINES: 500,
|
|
194
|
+
/** Number of PTY lines to scan when verifying force-delivered message acknowledgment */
|
|
195
|
+
PENDING_ACK_SCAN_LINES: 300,
|
|
196
|
+
/** Maximum re-delivery attempts for force-delivered messages that were not acknowledged */
|
|
197
|
+
PENDING_ACK_MAX_RETRIES: 3,
|
|
198
|
+
/** Time in milliseconds before a pending-ack entry is considered stale and discarded */
|
|
199
|
+
PENDING_ACK_TTL_MS: 600_000,
|
|
194
200
|
};
|
|
195
201
|
/**
|
|
196
202
|
* Constants for terminal content formatting.
|
|
@@ -979,6 +985,8 @@ export const CLOUD_CONSTANTS = {
|
|
|
979
985
|
DISCONNECTED: 'disconnected',
|
|
980
986
|
CONNECTED: 'connected',
|
|
981
987
|
ERROR: 'error',
|
|
988
|
+
/** Token expired or revoked — cloud API returned 401/403 */
|
|
989
|
+
TOKEN_EXPIRED: 'token_expired',
|
|
982
990
|
},
|
|
983
991
|
/** Relay-specific endpoints (Cloud Message Queue) */
|
|
984
992
|
RELAY_ENDPOINTS: {
|
|
@@ -1029,6 +1037,46 @@ export const CLOUD_CONSTANTS = {
|
|
|
1029
1037
|
DEFAULT_WS_URL: 'wss://api.crewlyai.com/relay',
|
|
1030
1038
|
},
|
|
1031
1039
|
};
|
|
1040
|
+
/**
|
|
1041
|
+
* Constants for the Cloud Sync system.
|
|
1042
|
+
* Replaces the WebSocket Relay pairing model with heartbeat-based device
|
|
1043
|
+
* discovery and HTTP-polled messaging.
|
|
1044
|
+
*
|
|
1045
|
+
* @see docs/cloud-sync-design.md
|
|
1046
|
+
*/
|
|
1047
|
+
export const CLOUD_SYNC_CONSTANTS = {
|
|
1048
|
+
/** Interval between heartbeat uploads (ms) */
|
|
1049
|
+
HEARTBEAT_INTERVAL_MS: 30_000,
|
|
1050
|
+
/** Interval between message poll requests (ms) */
|
|
1051
|
+
MESSAGE_POLL_INTERVAL_MS: 5_000,
|
|
1052
|
+
/** Interval between device list poll requests (ms) */
|
|
1053
|
+
DEVICE_POLL_INTERVAL_MS: 30_000,
|
|
1054
|
+
/** Device considered offline after this threshold (ms) */
|
|
1055
|
+
OFFLINE_THRESHOLD_MS: 60_000,
|
|
1056
|
+
/** Messages older than this are considered stale (ms) */
|
|
1057
|
+
MESSAGE_TTL_MS: 300_000,
|
|
1058
|
+
/** Maximum messages per device queue */
|
|
1059
|
+
MAX_QUEUE_SIZE: 1_000,
|
|
1060
|
+
/** HTTP request timeout for sync API calls (ms) */
|
|
1061
|
+
REQUEST_TIMEOUT_MS: 15_000,
|
|
1062
|
+
/** Maximum consecutive failures before entering error state */
|
|
1063
|
+
MAX_CONSECUTIVE_FAILURES: 10,
|
|
1064
|
+
/** Base delay for exponential backoff on failure (ms) */
|
|
1065
|
+
BACKOFF_BASE_MS: 1_000,
|
|
1066
|
+
/** Maximum backoff delay (ms) */
|
|
1067
|
+
BACKOFF_MAX_MS: 60_000,
|
|
1068
|
+
/** Cloud Sync API endpoints (relative to cloudUrl) */
|
|
1069
|
+
ENDPOINTS: {
|
|
1070
|
+
/** Device heartbeat upload */
|
|
1071
|
+
HEARTBEAT: '/v1/devices/heartbeat',
|
|
1072
|
+
/** List all devices for account */
|
|
1073
|
+
DEVICES: '/v1/devices',
|
|
1074
|
+
/** Send/receive messages */
|
|
1075
|
+
MESSAGES: '/v1/messages',
|
|
1076
|
+
/** Acknowledge processed messages */
|
|
1077
|
+
MESSAGES_ACK: '/v1/messages/ack',
|
|
1078
|
+
},
|
|
1079
|
+
};
|
|
1032
1080
|
/**
|
|
1033
1081
|
* Constants for CrewlyAI Cloud account authentication and licensing.
|
|
1034
1082
|
* Used by AuthService and JwtAuthMiddleware for user registration,
|