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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-sync.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/cloud-sync.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Sync Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Defines the data structures for the Cloud Sync system that replaces
|
|
5
|
+
* the WebSocket Relay pairing model. All devices under the same Cloud
|
|
6
|
+
* account are automatically visible and can exchange messages.
|
|
7
|
+
*
|
|
8
|
+
* @see docs/cloud-sync-design.md
|
|
9
|
+
* @module services/cloud/cloud-sync.types
|
|
10
|
+
*/
|
|
11
|
+
/** Valid cloud sync state values for runtime validation. */
|
|
12
|
+
export const CLOUD_SYNC_STATES = ['stopped', 'syncing', 'error'];
|
|
13
|
+
/** Valid message type values for runtime validation. */
|
|
14
|
+
export const MESSAGE_TYPES = [
|
|
15
|
+
'command',
|
|
16
|
+
'sync_teams',
|
|
17
|
+
'sync_settings',
|
|
18
|
+
'notification',
|
|
19
|
+
'relay',
|
|
20
|
+
'ping',
|
|
21
|
+
'task_update',
|
|
22
|
+
];
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
// Type Guards
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
/**
|
|
27
|
+
* Check if a value is a valid CloudSyncState.
|
|
28
|
+
*
|
|
29
|
+
* @param value - Value to check
|
|
30
|
+
* @returns True if the value is a valid CloudSyncState
|
|
31
|
+
*/
|
|
32
|
+
export function isCloudSyncState(value) {
|
|
33
|
+
return typeof value === 'string' && CLOUD_SYNC_STATES.includes(value);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if a value is a valid MessageType.
|
|
37
|
+
*
|
|
38
|
+
* @param value - Value to check
|
|
39
|
+
* @returns True if the value is a valid MessageType
|
|
40
|
+
*/
|
|
41
|
+
export function isMessageType(value) {
|
|
42
|
+
return typeof value === 'string' && MESSAGE_TYPES.includes(value);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if an object satisfies the SyncDevice interface shape.
|
|
46
|
+
*
|
|
47
|
+
* @param value - Value to check
|
|
48
|
+
* @returns True if the value has the required SyncDevice fields
|
|
49
|
+
*/
|
|
50
|
+
export function isSyncDevice(value) {
|
|
51
|
+
if (typeof value !== 'object' || value === null)
|
|
52
|
+
return false;
|
|
53
|
+
const obj = value;
|
|
54
|
+
return (typeof obj.deviceId === 'string' &&
|
|
55
|
+
typeof obj.deviceName === 'string' &&
|
|
56
|
+
(obj.status === 'online' || obj.status === 'offline') &&
|
|
57
|
+
typeof obj.lastHeartbeatAt === 'string');
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check if an object satisfies the IncomingMessage interface shape.
|
|
61
|
+
*
|
|
62
|
+
* @param value - Value to check
|
|
63
|
+
* @returns True if the value has the required IncomingMessage fields
|
|
64
|
+
*/
|
|
65
|
+
export function isIncomingMessage(value) {
|
|
66
|
+
if (typeof value !== 'object' || value === null)
|
|
67
|
+
return false;
|
|
68
|
+
const obj = value;
|
|
69
|
+
return (typeof obj.id === 'string' &&
|
|
70
|
+
typeof obj.from === 'string' &&
|
|
71
|
+
typeof obj.fromDeviceName === 'string' &&
|
|
72
|
+
isMessageType(obj.type) &&
|
|
73
|
+
typeof obj.encrypted === 'boolean' &&
|
|
74
|
+
typeof obj.sentAt === 'string');
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if an object satisfies the CloudSyncConfig interface shape.
|
|
78
|
+
*
|
|
79
|
+
* @param value - Value to check
|
|
80
|
+
* @returns True if the value has the required CloudSyncConfig fields
|
|
81
|
+
*/
|
|
82
|
+
export function isCloudSyncConfig(value) {
|
|
83
|
+
if (typeof value !== 'object' || value === null)
|
|
84
|
+
return false;
|
|
85
|
+
const obj = value;
|
|
86
|
+
return (typeof obj.cloudUrl === 'string' &&
|
|
87
|
+
typeof obj.token === 'string' &&
|
|
88
|
+
typeof obj.deviceId === 'string' &&
|
|
89
|
+
typeof obj.deviceName === 'string');
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=cloud-sync.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-sync.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/cloud-sync.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAmG1E,wDAAwD;AACxD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,SAAS;IACT,YAAY;IACZ,eAAe;IACf,cAAc;IACd,OAAO;IACP,MAAM;IACN,aAAa;CACL,CAAC;AAkEX,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAuB,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAoB,CAAC,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ;QAClC,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC;QACrD,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,OAAO,GAAG,CAAC,cAAc,KAAK,QAAQ;QACtC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;QACvB,OAAO,GAAG,CAAC,SAAS,KAAK,SAAS;QAClC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,OAAO,CACL,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;QAC7B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;QAChC,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay-client.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay-client.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"relay-client.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/cloud/relay-client.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EAGf,MAAM,kBAAkB,CAAC;AAgB1B,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,MAAM,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,iEAAiE;IACjE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wCAAwC;IACxC,gBAAgB,EAAE,CAAC,aAAa,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D,4CAA4C;IAC5C,WAAW,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,wBAAwB;IACxB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B;AAMD;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC,+CAA+C;IAC/C,OAAO,CAAC,MAAM,CAAkC;IAChD,+BAA+B;IAC/B,OAAO,CAAC,KAAK,CAAoC;IACjD,+DAA+D;IAC/D,OAAO,CAAC,SAAS,CAA+B;IAChD,2CAA2C;IAC3C,OAAO,CAAC,WAAW,CAAuB;IAC1C,6BAA6B;IAC7B,OAAO,CAAC,YAAY,CAA+C;IACnE,mCAAmC;IACnC,OAAO,CAAC,iBAAiB,CAAK;IAC9B,yBAAyB;IACzB,OAAO,CAAC,cAAc,CAA8C;IACpE,6BAA6B;IAC7B,OAAO,CAAC,aAAa,CAAuB;IAC5C,kEAAkE;IAClE,OAAO,CAAC,IAAI,CAAuB;IACnC,0DAA0D;IAC1D,OAAO,CAAC,qBAAqB,CAAS;IACtC,oDAAoD;IACpD,OAAO,CAAC,iBAAiB,CAAuB;IAEhD,OAAO;IAKP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAY5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAkBxC;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAMlB;;;;;;;;;;;;;OAaG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAiB7B;;;;OAIG;IACH,QAAQ,IAAI,gBAAgB;IAI5B;;;;OAIG;IACH,YAAY,IAAI,cAAc,GAAG,IAAI;IAQrC;;OAEG;YACW,UAAU;IA2DxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;YACW,IAAI;IAmDlB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;OAIG;YACW,WAAW;IA2BzB;;;;OAIG;YACW,WAAW;IA+BzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,OAAO;CAWhB"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* @module services/cloud/relay-client.service
|
|
16
16
|
*/
|
|
17
17
|
import { EventEmitter } from 'events';
|
|
18
|
+
import { hostname } from 'os';
|
|
18
19
|
import { LoggerService } from '../core/logger.service.js';
|
|
19
20
|
import { CLOUD_CONSTANTS } from '../../constants.js';
|
|
20
21
|
import { deriveKey, generateSalt, encrypt, decrypt, serializeEnvelope, deserializeEnvelope, } from './relay-crypto.service.js';
|
|
@@ -191,6 +192,7 @@ export class RelayClientService extends EventEmitter {
|
|
|
191
192
|
body: JSON.stringify({
|
|
192
193
|
role: this.config.role,
|
|
193
194
|
pairingCode: this.config.pairingCode,
|
|
195
|
+
deviceName: hostname(),
|
|
194
196
|
}),
|
|
195
197
|
signal: AbortSignal.timeout(RELAY.REQUEST_TIMEOUT_MS),
|
|
196
198
|
});
|
|
@@ -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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"}
|
|
@@ -6,12 +6,40 @@
|
|
|
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';
|
|
12
17
|
import { MessageQueueService } from './message-queue.service.js';
|
|
13
18
|
import { ResponseRouterService } from './response-router.service.js';
|
|
14
19
|
import { AgentRegistrationService } from '../agent/agent-registration.service.js';
|
|
20
|
+
import { type RuntimeType } from '../../constants.js';
|
|
21
|
+
/**
|
|
22
|
+
* Entry in the pending-ack list for force-delivered user messages.
|
|
23
|
+
* Tracks all information needed to verify or redeliver the message.
|
|
24
|
+
*/
|
|
25
|
+
export interface PendingAckEntry {
|
|
26
|
+
/** Unique message ID */
|
|
27
|
+
messageId: string;
|
|
28
|
+
/** Conversation ID used as a fingerprint to detect processing in PTY output */
|
|
29
|
+
conversationId: string;
|
|
30
|
+
/** The formatted delivery content (for redelivery) */
|
|
31
|
+
deliveryContent: string;
|
|
32
|
+
/** Target session the message was delivered to */
|
|
33
|
+
targetSession: string;
|
|
34
|
+
/** Runtime type of the target agent */
|
|
35
|
+
runtimeType: RuntimeType;
|
|
36
|
+
/** Timestamp when force-delivered */
|
|
37
|
+
deliveredAt: number;
|
|
38
|
+
/** Number of redelivery attempts so far */
|
|
39
|
+
retryCount: number;
|
|
40
|
+
/** The original queued message (for markCompleted / markFailed / routeResponse) */
|
|
41
|
+
originalMessage: import('../../types/messaging.types.js').QueuedMessage;
|
|
42
|
+
}
|
|
15
43
|
export declare class QueueProcessorService extends EventEmitter {
|
|
16
44
|
private logger;
|
|
17
45
|
private queueService;
|
|
@@ -31,6 +59,16 @@ export declare class QueueProcessorService extends EventEmitter {
|
|
|
31
59
|
private deliveredMessageIds;
|
|
32
60
|
/** Timer for periodic cleanup of stale dedup entries */
|
|
33
61
|
private dedupCleanupTimer;
|
|
62
|
+
/** Timer for periodic cleanup of stale pending-ack entries */
|
|
63
|
+
private pendingAckCleanupTimer;
|
|
64
|
+
/**
|
|
65
|
+
* #239: Tracks force-delivered user messages awaiting acknowledgment.
|
|
66
|
+
* When a user message is force-delivered (agent not at prompt), it is
|
|
67
|
+
* added here instead of being marked completed. On the next successful
|
|
68
|
+
* waitForAgentReady (agent returns to prompt), the PTY output is checked
|
|
69
|
+
* for evidence that each pending message was actually processed.
|
|
70
|
+
*/
|
|
71
|
+
private pendingAckMessages;
|
|
34
72
|
constructor(queueService: MessageQueueService, responseRouter: ResponseRouterService, agentRegistrationService: AgentRegistrationService);
|
|
35
73
|
/**
|
|
36
74
|
* Start the processor. Listens to queue 'enqueued' events and
|
|
@@ -96,5 +134,53 @@ export declare class QueueProcessorService extends EventEmitter {
|
|
|
96
134
|
* @returns Number of entries in the dedup set
|
|
97
135
|
*/
|
|
98
136
|
getDeliveredMessageCount(): number;
|
|
137
|
+
/**
|
|
138
|
+
* Get the number of messages awaiting acknowledgment (for testing).
|
|
139
|
+
*
|
|
140
|
+
* @returns Number of entries in the pending-ack list
|
|
141
|
+
*/
|
|
142
|
+
getPendingAckCount(): number;
|
|
143
|
+
/**
|
|
144
|
+
* Start periodic cleanup of stale pending-ack entries.
|
|
145
|
+
* Runs at PENDING_ACK_TTL_MS intervals and fails entries that have exceeded
|
|
146
|
+
* the TTL — prevents memory leaks if an agent crashes and never returns to prompt.
|
|
147
|
+
*/
|
|
148
|
+
private startPendingAckCleanup;
|
|
149
|
+
/**
|
|
150
|
+
* Stop the periodic pending-ack cleanup timer.
|
|
151
|
+
*/
|
|
152
|
+
private stopPendingAckCleanup;
|
|
153
|
+
/**
|
|
154
|
+
* Remove pending-ack entries that have exceeded the TTL.
|
|
155
|
+
* Marks them as failed and routes error to the source so the user is notified.
|
|
156
|
+
*/
|
|
157
|
+
private purgeExpiredPendingAcks;
|
|
158
|
+
/**
|
|
159
|
+
* Check if a pending-ack message's fingerprint appears in PTY output.
|
|
160
|
+
*
|
|
161
|
+
* Matches the full [CHAT:conversationId] or [GCHAT:conversationId] prefix
|
|
162
|
+
* rather than a bare conversationId to avoid false positives from short
|
|
163
|
+
* or common IDs appearing in unrelated output.
|
|
164
|
+
*
|
|
165
|
+
* @param output - Captured PTY output string
|
|
166
|
+
* @param conversationId - The conversation ID to search for
|
|
167
|
+
* @returns true if the message fingerprint was found
|
|
168
|
+
*/
|
|
169
|
+
private isPendingAckInOutput;
|
|
170
|
+
/**
|
|
171
|
+
* #239: Flush pending-ack messages by verifying them against PTY output.
|
|
172
|
+
*
|
|
173
|
+
* Called when the agent returns to prompt (waitForAgentReady succeeds).
|
|
174
|
+
* For each pending-ack entry:
|
|
175
|
+
* - Captures the agent's recent PTY output
|
|
176
|
+
* - Checks if the conversationId or CHAT prefix appears in the output
|
|
177
|
+
* - If found → message was processed, mark completed
|
|
178
|
+
* - If not found → message was swallowed, redeliver
|
|
179
|
+
* - If max retries exceeded → mark failed
|
|
180
|
+
*
|
|
181
|
+
* @param sessionName - The agent session to check
|
|
182
|
+
* @param runtimeType - Runtime type for redelivery
|
|
183
|
+
*/
|
|
184
|
+
private flushPendingAcks;
|
|
99
185
|
}
|
|
100
186
|
//# sourceMappingURL=queue-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-processor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-processor.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"queue-processor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/queue-processor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAsB5B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,cAAc,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,eAAe,EAAE,OAAO,gCAAgC,EAAE,aAAa,CAAC;CACzE;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,wBAAwB,CAA2B;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAA8C;IACxE,gFAAgF;IAChF,OAAO,CAAC,oBAAoB,CAAS;IAErC;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB,CAAkC;IAE7D,wDAAwD;IACxD,OAAO,CAAC,iBAAiB,CAA+C;IAExE,8DAA8D;IAC9D,OAAO,CAAC,sBAAsB,CAA+C;IAE7E;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB,CAA2C;gBAGnE,YAAY,EAAE,mBAAmB,EACjC,cAAc,EAAE,qBAAqB,EACrC,wBAAwB,EAAE,wBAAwB;IASpD;;;OAGG;IACH,KAAK,IAAI,IAAI;IAeb;;OAEG;IACH,IAAI,IAAI,IAAI;IAmBZ;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAIvB;IAEF;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;;OAGG;YACW,WAAW;IA4azB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;OAIG;IACH,wBAAwB,IAAI,MAAM;IAIlC;;;;OAIG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;;;;;;;;;;;OAaG;YACW,gBAAgB;CA0G/B"}
|