crewly 1.4.82 → 1.5.0
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/domain-sops/EXAMPLE.sop.md +21 -0
- package/config/overlays/can-decide.md +5 -0
- package/config/overlays/can-delegate.md +5 -0
- package/config/overlays/can-user-reply.md +5 -0
- package/config/overlays/can-verify.md +5 -0
- package/config/risk-policies/EXAMPLE.policy.md +22 -0
- package/config/roles/developer/fragments/role-boundary.md +30 -0
- package/config/roles/orchestrator/fragments/role-boundary.md +25 -0
- package/config/roles/orchestrator/prompt.md +40 -6
- package/config/roles/team-leader/fragments/role-boundary.md +22 -0
- package/config/skills/agent/core/get-my-tasks/execute.sh +16 -0
- package/config/skills/agent/core/save-working-state/execute.sh +19 -0
- package/config/skills/agent/core/update-user-profile/execute.sh +13 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +34 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +107 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js +5 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/chat/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/index.js +1 -1
- package/dist/backend/backend/src/controllers/chat/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/index.d.ts +1 -1
- package/dist/backend/backend/src/controllers/memory/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/index.js +1 -1
- package/dist/backend/backend/src/controllers/memory/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts +35 -0
- package/dist/backend/backend/src/controllers/memory/memory.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js +61 -1
- package/dist/backend/backend/src/controllers/memory/memory.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts +2 -0
- package/dist/backend/backend/src/controllers/memory/memory.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.js +5 -1
- package/dist/backend/backend/src/controllers/memory/memory.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts +1 -0
- package/dist/backend/backend/src/controllers/system/cron-task.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/system/cron-task.controller.js +12 -6
- package/dist/backend/backend/src/controllers/system/cron-task.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts +24 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js +107 -0
- package/dist/backend/backend/src/controllers/task-management/task-management.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +49 -0
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +46 -42
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/modules/task-management.routes.js +5 -0
- package/dist/backend/backend/src/routes/modules/task-management.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +24 -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 +104 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts +33 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js +70 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/capability-overlay.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts +35 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js +50 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/domain-sop.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts +46 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js +44 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/markdown-file-module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +13 -3
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +22 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js +2 -11
- package/dist/backend/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js +10 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/recovery.module.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts +35 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js +50 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/risk-policy.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts +67 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.d.ts.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js +172 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/role-boundary.module.js.map +1 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts +5 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js +18 -2
- package/dist/backend/backend/src/services/ai/prompt-modules/user-profile-reference.module.js.map +1 -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 +9 -2
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/relay-client.service.d.ts +11 -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 +41 -5
- package/dist/backend/backend/src/services/cloud/relay-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts +22 -0
- package/dist/backend/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/agent-memory.service.js +103 -6
- package/dist/backend/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/index.d.ts +2 -1
- package/dist/backend/backend/src/services/memory/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/index.js +1 -0
- package/dist/backend/backend/src/services/memory/index.js.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.d.ts +43 -0
- package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/memory/memory.service.js +96 -0
- package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/backend/backend/src/services/memory/user-profile.service.d.ts +77 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.js +171 -0
- package/dist/backend/backend/src/services/memory/user-profile.service.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +8 -3
- 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 +41 -16
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +144 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +259 -2
- package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts +58 -2
- package/dist/backend/backend/src/services/project/task-tracking.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js +189 -1
- package/dist/backend/backend/src/services/project/task-tracking.service.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/cron-task.service.js +12 -0
- package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js +14 -0
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +12 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/memory.types.d.ts +53 -0
- package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/memory.types.js.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts +28 -1
- package/dist/backend/backend/src/types/task-tracking.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/task-tracking.types.js.map +1 -1
- package/dist/backend/backend/src/types/thread-status.types.d.ts +4 -0
- package/dist/backend/backend/src/types/thread-status.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/thread-status.types.js +4 -1
- package/dist/backend/backend/src/types/thread-status.types.js.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts +157 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.d.ts.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js +37 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/prompt-module.interface.js.map +1 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts +22 -0
- package/dist/cli/backend/src/services/memory/agent-memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/agent-memory.service.js +103 -6
- package/dist/cli/backend/src/services/memory/agent-memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts +239 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.js +353 -0
- package/dist/cli/backend/src/services/memory/goal-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts +43 -0
- package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/memory/memory.service.js +96 -0
- package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts +171 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js +725 -0
- package/dist/cli/backend/src/services/project/task-tracking.service.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +12 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/memory.types.d.ts +53 -0
- package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/memory.types.js.map +1 -1
- package/dist/cli/backend/src/types/task-tracking.types.d.ts +206 -0
- package/dist/cli/backend/src/types/task-tracking.types.d.ts.map +1 -0
- package/dist/cli/backend/src/types/task-tracking.types.js +5 -0
- package/dist/cli/backend/src/types/task-tracking.types.js.map +1 -0
- package/dist/cli/backend/src/types/thread-status.types.d.ts +4 -0
- package/dist/cli/backend/src/types/thread-status.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/thread-status.types.js +4 -1
- package/dist/cli/backend/src/types/thread-status.types.js.map +1 -1
- package/frontend/dist/assets/index-512efc8e.js +4921 -0
- package/frontend/dist/assets/{index-975ccc95.css → index-dc6ac165.css} +1 -1
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-d28d1135.js +0 -5215
|
@@ -11,6 +11,64 @@
|
|
|
11
11
|
* @module services/messaging/thread-status-queue
|
|
12
12
|
*/
|
|
13
13
|
import type { ThreadStatus, ThreadStatusEntry, TrackInboundInput, ThreadStatusStats, ReplyStatus } from '../../types/thread-status.types.js';
|
|
14
|
+
/**
|
|
15
|
+
* Minimal interface for SchedulerService to avoid circular imports.
|
|
16
|
+
* Used to create follow-up checks when a thread is marked as replied_to_follow_up.
|
|
17
|
+
*/
|
|
18
|
+
export interface ISchedulerServiceLike {
|
|
19
|
+
scheduleCheck(targetSession: string, minutes: number, message: string, type?: string, options?: {
|
|
20
|
+
label?: string;
|
|
21
|
+
}): string;
|
|
22
|
+
cancelCheck(checkId: string): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Minimal interface for EventBusService to avoid circular imports.
|
|
26
|
+
* Uses unknown for eventType/filter to avoid importing event-bus types.
|
|
27
|
+
*/
|
|
28
|
+
export interface IEventBusServiceLike {
|
|
29
|
+
subscribe(input: unknown): {
|
|
30
|
+
id: string;
|
|
31
|
+
};
|
|
32
|
+
unsubscribe(subscriptionId: string): boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Minimal interface for MessageQueueService to avoid circular imports.
|
|
36
|
+
* Used during restart recovery to re-enqueue pending threads.
|
|
37
|
+
*/
|
|
38
|
+
export interface IMessageQueueServiceLike {
|
|
39
|
+
enqueue(input: {
|
|
40
|
+
content: string;
|
|
41
|
+
conversationId: string;
|
|
42
|
+
source: string;
|
|
43
|
+
sourceMetadata?: Record<string, unknown>;
|
|
44
|
+
targetSession?: string;
|
|
45
|
+
}): unknown;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Minimal interface for checking agent working status.
|
|
49
|
+
* Used during recovery to determine if delegated agents have completed.
|
|
50
|
+
*/
|
|
51
|
+
export interface IAgentStatusCheckerLike {
|
|
52
|
+
getAgentWorkingStatus(sessionName: string): Promise<'idle' | 'in_progress' | 'unknown'>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Callback for sending platform-specific confirmation messages during recovery.
|
|
56
|
+
* e.g., "I am back online. I see your message: {preview}. Let me handle it now."
|
|
57
|
+
*
|
|
58
|
+
* @param entry - The thread entry to confirm
|
|
59
|
+
* @returns Promise resolving when the confirmation is sent
|
|
60
|
+
*/
|
|
61
|
+
export type RecoveryConfirmCallback = (entry: ThreadStatusEntry) => Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Tracks active follow-up subscriptions so they can be cancelled
|
|
64
|
+
* when the user replies before the scheduled check fires.
|
|
65
|
+
*/
|
|
66
|
+
interface FollowUpTracking {
|
|
67
|
+
/** ID of the scheduled check */
|
|
68
|
+
scheduledCheckId: string;
|
|
69
|
+
/** ID of the event bus subscription */
|
|
70
|
+
eventSubscriptionId: string;
|
|
71
|
+
}
|
|
14
72
|
/**
|
|
15
73
|
* Service that maintains a persistent queue of thread statuses.
|
|
16
74
|
* Constructed with a crewly home directory path for disk persistence.
|
|
@@ -46,6 +104,12 @@ export declare class ThreadStatusQueueService {
|
|
|
46
104
|
private persistTimer;
|
|
47
105
|
/** ISO timestamp of last cleanup run */
|
|
48
106
|
private lastCleanupAt;
|
|
107
|
+
/** Scheduler service for creating follow-up checks */
|
|
108
|
+
private schedulerService;
|
|
109
|
+
/** Event bus for subscribing to message:received events */
|
|
110
|
+
private eventBusService;
|
|
111
|
+
/** Tracks active follow-up subscriptions keyed by threadKey */
|
|
112
|
+
private followUpTracking;
|
|
49
113
|
/**
|
|
50
114
|
* Creates a new ThreadStatusQueueService.
|
|
51
115
|
* Use getInstance() for singleton access, or construct directly for testing.
|
|
@@ -85,15 +149,50 @@ export declare class ThreadStatusQueueService {
|
|
|
85
149
|
* @throws Error if threadKey is not found
|
|
86
150
|
*/
|
|
87
151
|
markDelivered(threadKey: string): void;
|
|
152
|
+
/**
|
|
153
|
+
* Set the SchedulerService instance for creating follow-up checks.
|
|
154
|
+
* Called during server initialization.
|
|
155
|
+
*
|
|
156
|
+
* @param service - The SchedulerService instance (or compatible interface)
|
|
157
|
+
*/
|
|
158
|
+
setSchedulerService(service: ISchedulerServiceLike): void;
|
|
159
|
+
/**
|
|
160
|
+
* Set the EventBusService instance for subscribing to message events.
|
|
161
|
+
* Called during server initialization.
|
|
162
|
+
*
|
|
163
|
+
* @param service - The EventBusService instance (or compatible interface)
|
|
164
|
+
*/
|
|
165
|
+
setEventBusService(service: IEventBusServiceLike): void;
|
|
88
166
|
/**
|
|
89
167
|
* Transitions a thread to one of the replied_* statuses.
|
|
90
168
|
* Sets the repliedAt timestamp.
|
|
91
169
|
*
|
|
170
|
+
* When status is `replied_to_follow_up`, automatically:
|
|
171
|
+
* 1. Creates a scheduled check (default 5 min) to verify user replied
|
|
172
|
+
* 2. Subscribes to message:received events for this thread's conversation
|
|
173
|
+
* 3. On user reply: cancels the scheduled check and transitions to replied_completed
|
|
174
|
+
*
|
|
92
175
|
* @param threadKey - Platform-specific thread identifier
|
|
93
176
|
* @param status - One of: replied_completed, replied_waiting_actions, replied_to_follow_up
|
|
94
177
|
* @throws Error if threadKey is not found or status is not a valid reply status
|
|
95
178
|
*/
|
|
96
179
|
markReplied(threadKey: string, status: ReplyStatus): void;
|
|
180
|
+
/**
|
|
181
|
+
* Handles a user reply to a follow-up thread.
|
|
182
|
+
* Cancels the scheduled check, removes the event subscription,
|
|
183
|
+
* and transitions the thread to replied_completed (or re-enqueues).
|
|
184
|
+
*
|
|
185
|
+
* @param threadKey - Platform-specific thread identifier
|
|
186
|
+
*/
|
|
187
|
+
handleFollowUpReply(threadKey: string): void;
|
|
188
|
+
/**
|
|
189
|
+
* Returns the active follow-up tracking for a thread, if any.
|
|
190
|
+
* Useful for testing and debugging.
|
|
191
|
+
*
|
|
192
|
+
* @param threadKey - Platform-specific thread identifier
|
|
193
|
+
* @returns The follow-up tracking info, or null
|
|
194
|
+
*/
|
|
195
|
+
getFollowUpTracking(threadKey: string): FollowUpTracking | null;
|
|
97
196
|
/**
|
|
98
197
|
* Records that an agent was delegated work from this thread.
|
|
99
198
|
*
|
|
@@ -172,7 +271,41 @@ export declare class ThreadStatusQueueService {
|
|
|
172
271
|
*/
|
|
173
272
|
persist(): Promise<void>;
|
|
174
273
|
/**
|
|
175
|
-
*
|
|
274
|
+
* Returns all entries in the queue. Used for the thread-status API.
|
|
275
|
+
*
|
|
276
|
+
* @returns Array of all ThreadStatusEntry objects
|
|
277
|
+
*/
|
|
278
|
+
getAllEntries(): ThreadStatusEntry[];
|
|
279
|
+
/**
|
|
280
|
+
* Recovers pending threads after an orchestrator restart.
|
|
281
|
+
* Loads persisted state and handles each thread based on its status:
|
|
282
|
+
*
|
|
283
|
+
* 1. **enqueued/delivered/error** — Send a "I'm back online" confirmation
|
|
284
|
+
* via the platform, then re-enqueue for orchestrator processing.
|
|
285
|
+
* 2. **replied_to_follow_up** — Re-setup follow-up tracking (scheduled
|
|
286
|
+
* check + event subscription) to continue waiting for user reply.
|
|
287
|
+
* 3. **replied_waiting_actions** — Check delegated agent statuses. If all
|
|
288
|
+
* agents are done, transition to replied_completed. Otherwise keep waiting.
|
|
289
|
+
* 4. **replied_completed/expired** — Already terminal, skip.
|
|
290
|
+
*
|
|
291
|
+
* @param messageQueueService - The message queue service for re-enqueuing
|
|
292
|
+
* @param options - Optional callbacks for agent status checking and platform confirmations
|
|
293
|
+
* @returns Summary of recovery actions taken
|
|
294
|
+
*/
|
|
295
|
+
recoverPendingThreads(messageQueueService: IMessageQueueServiceLike, options?: {
|
|
296
|
+
agentStatusChecker?: IAgentStatusCheckerLike;
|
|
297
|
+
confirmCallback?: RecoveryConfirmCallback;
|
|
298
|
+
}): Promise<{
|
|
299
|
+
loaded: number;
|
|
300
|
+
reEnqueued: number;
|
|
301
|
+
followUpRestored: number;
|
|
302
|
+
waitingActionsChecked: number;
|
|
303
|
+
delegationsCompleted: number;
|
|
304
|
+
expired: number;
|
|
305
|
+
cleaned: number;
|
|
306
|
+
}>;
|
|
307
|
+
/**
|
|
308
|
+
* Cleans up timers and follow-up tracking. Call on shutdown.
|
|
176
309
|
*/
|
|
177
310
|
destroy(): void;
|
|
178
311
|
/**
|
|
@@ -184,6 +317,15 @@ export declare class ThreadStatusQueueService {
|
|
|
184
317
|
* @throws Error if entry is not found
|
|
185
318
|
*/
|
|
186
319
|
private getOrThrow;
|
|
320
|
+
/**
|
|
321
|
+
* Sets up follow-up tracking for a replied_to_follow_up thread.
|
|
322
|
+
* Creates a scheduled check and an event subscription so that if
|
|
323
|
+
* the user replies, the check is cancelled and the thread is completed.
|
|
324
|
+
*
|
|
325
|
+
* @param threadKey - Platform-specific thread identifier
|
|
326
|
+
* @param entry - The thread status entry
|
|
327
|
+
*/
|
|
328
|
+
private setupFollowUpTracking;
|
|
187
329
|
/**
|
|
188
330
|
* Schedules a debounced persistence write to disk.
|
|
189
331
|
* Multiple mutations within PERSIST_DEBOUNCE_MS are batched into a single write.
|
|
@@ -194,4 +336,5 @@ export declare class ThreadStatusQueueService {
|
|
|
194
336
|
*/
|
|
195
337
|
private persistToDisk;
|
|
196
338
|
}
|
|
339
|
+
export {};
|
|
197
340
|
//# sourceMappingURL=thread-status-queue.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-status-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/thread-status-queue.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,wBAAwB;IACnC,yBAAyB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,8BAA8B;IAC9B,OAAO,CAAC,MAAM,CAAkG;IAEhH,qEAAqE;IACrE,OAAO,CAAC,OAAO,CAA6C;IAE5D,0EAA0E;IAC1E,OAAO,CAAC,WAAW,CAAuB;IAE1C,qDAAqD;IACrD,OAAO,CAAC,YAAY,CAA8C;IAElE,wCAAwC;IACxC,OAAO,CAAC,aAAa,CAAoC;IAEzD;;;;;OAKG;gBACS,UAAU,CAAC,EAAE,MAAM;IAO/B;;;;;OAKG;IACH,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAO9C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmCzC;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB;IAkCzD;;;;;;OAMG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAetC
|
|
1
|
+
{"version":3,"file":"thread-status-queue.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/thread-status-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,12 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { randomUUID } from 'crypto';
|
|
14
14
|
import path from 'path';
|
|
15
|
-
import { THREAD_STATUS_CONSTANTS } from '../../constants.js';
|
|
15
|
+
import { THREAD_STATUS_CONSTANTS, ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
16
16
|
import { LoggerService } from '../core/logger.service.js';
|
|
17
17
|
import { atomicWriteFile, safeReadJson } from '../../utils/file-io.utils.js';
|
|
18
18
|
import { PERSISTED_THREAD_STATUS_VERSION, isPersistedThreadStatusState, isTerminalStatus, isReplyStatus, } from '../../types/thread-status.types.js';
|
|
19
|
+
/** Default follow-up check delay in minutes */
|
|
20
|
+
const FOLLOW_UP_CHECK_DELAY_MINUTES = 5;
|
|
19
21
|
/**
|
|
20
22
|
* Service that maintains a persistent queue of thread statuses.
|
|
21
23
|
* Constructed with a crewly home directory path for disk persistence.
|
|
@@ -51,6 +53,12 @@ export class ThreadStatusQueueService {
|
|
|
51
53
|
persistTimer = null;
|
|
52
54
|
/** ISO timestamp of last cleanup run */
|
|
53
55
|
lastCleanupAt = new Date().toISOString();
|
|
56
|
+
/** Scheduler service for creating follow-up checks */
|
|
57
|
+
schedulerService = null;
|
|
58
|
+
/** Event bus for subscribing to message:received events */
|
|
59
|
+
eventBusService = null;
|
|
60
|
+
/** Tracks active follow-up subscriptions keyed by threadKey */
|
|
61
|
+
followUpTracking = new Map();
|
|
54
62
|
/**
|
|
55
63
|
* Creates a new ThreadStatusQueueService.
|
|
56
64
|
* Use getInstance() for singleton access, or construct directly for testing.
|
|
@@ -168,10 +176,33 @@ export class ThreadStatusQueueService {
|
|
|
168
176
|
this.schedulePersist();
|
|
169
177
|
this.logger.info('Marked delivered', { threadKey });
|
|
170
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Set the SchedulerService instance for creating follow-up checks.
|
|
181
|
+
* Called during server initialization.
|
|
182
|
+
*
|
|
183
|
+
* @param service - The SchedulerService instance (or compatible interface)
|
|
184
|
+
*/
|
|
185
|
+
setSchedulerService(service) {
|
|
186
|
+
this.schedulerService = service;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Set the EventBusService instance for subscribing to message events.
|
|
190
|
+
* Called during server initialization.
|
|
191
|
+
*
|
|
192
|
+
* @param service - The EventBusService instance (or compatible interface)
|
|
193
|
+
*/
|
|
194
|
+
setEventBusService(service) {
|
|
195
|
+
this.eventBusService = service;
|
|
196
|
+
}
|
|
171
197
|
/**
|
|
172
198
|
* Transitions a thread to one of the replied_* statuses.
|
|
173
199
|
* Sets the repliedAt timestamp.
|
|
174
200
|
*
|
|
201
|
+
* When status is `replied_to_follow_up`, automatically:
|
|
202
|
+
* 1. Creates a scheduled check (default 5 min) to verify user replied
|
|
203
|
+
* 2. Subscribes to message:received events for this thread's conversation
|
|
204
|
+
* 3. On user reply: cancels the scheduled check and transitions to replied_completed
|
|
205
|
+
*
|
|
175
206
|
* @param threadKey - Platform-specific thread identifier
|
|
176
207
|
* @param status - One of: replied_completed, replied_waiting_actions, replied_to_follow_up
|
|
177
208
|
* @throws Error if threadKey is not found or status is not a valid reply status
|
|
@@ -190,6 +221,51 @@ export class ThreadStatusQueueService {
|
|
|
190
221
|
entry.updatedAt = now;
|
|
191
222
|
this.schedulePersist();
|
|
192
223
|
this.logger.info('Marked replied', { threadKey, status });
|
|
224
|
+
// Sub-task A: Auto-schedule follow-up check and event subscription
|
|
225
|
+
if (status === 'replied_to_follow_up') {
|
|
226
|
+
this.setupFollowUpTracking(threadKey, entry);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Handles a user reply to a follow-up thread.
|
|
231
|
+
* Cancels the scheduled check, removes the event subscription,
|
|
232
|
+
* and transitions the thread to replied_completed (or re-enqueues).
|
|
233
|
+
*
|
|
234
|
+
* @param threadKey - Platform-specific thread identifier
|
|
235
|
+
*/
|
|
236
|
+
handleFollowUpReply(threadKey) {
|
|
237
|
+
const tracking = this.followUpTracking.get(threadKey);
|
|
238
|
+
if (!tracking) {
|
|
239
|
+
this.logger.debug('No follow-up tracking found for thread', { threadKey });
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
// Cancel the scheduled check
|
|
243
|
+
if (this.schedulerService) {
|
|
244
|
+
this.schedulerService.cancelCheck(tracking.scheduledCheckId);
|
|
245
|
+
}
|
|
246
|
+
// Remove the event subscription
|
|
247
|
+
if (this.eventBusService) {
|
|
248
|
+
this.eventBusService.unsubscribe(tracking.eventSubscriptionId);
|
|
249
|
+
}
|
|
250
|
+
this.followUpTracking.delete(threadKey);
|
|
251
|
+
// Transition thread to replied_completed
|
|
252
|
+
const entry = this.entries.get(threadKey);
|
|
253
|
+
if (entry && entry.status === 'replied_to_follow_up') {
|
|
254
|
+
entry.status = 'replied_completed';
|
|
255
|
+
entry.updatedAt = new Date().toISOString();
|
|
256
|
+
this.schedulePersist();
|
|
257
|
+
this.logger.info('Follow-up reply received, thread completed', { threadKey });
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Returns the active follow-up tracking for a thread, if any.
|
|
262
|
+
* Useful for testing and debugging.
|
|
263
|
+
*
|
|
264
|
+
* @param threadKey - Platform-specific thread identifier
|
|
265
|
+
* @returns The follow-up tracking info, or null
|
|
266
|
+
*/
|
|
267
|
+
getFollowUpTracking(threadKey) {
|
|
268
|
+
return this.followUpTracking.get(threadKey) ?? null;
|
|
193
269
|
}
|
|
194
270
|
/**
|
|
195
271
|
* Records that an agent was delegated work from this thread.
|
|
@@ -395,13 +471,145 @@ export class ThreadStatusQueueService {
|
|
|
395
471
|
await this.persistToDisk();
|
|
396
472
|
}
|
|
397
473
|
/**
|
|
398
|
-
*
|
|
474
|
+
* Returns all entries in the queue. Used for the thread-status API.
|
|
475
|
+
*
|
|
476
|
+
* @returns Array of all ThreadStatusEntry objects
|
|
477
|
+
*/
|
|
478
|
+
getAllEntries() {
|
|
479
|
+
return Array.from(this.entries.values());
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Recovers pending threads after an orchestrator restart.
|
|
483
|
+
* Loads persisted state and handles each thread based on its status:
|
|
484
|
+
*
|
|
485
|
+
* 1. **enqueued/delivered/error** — Send a "I'm back online" confirmation
|
|
486
|
+
* via the platform, then re-enqueue for orchestrator processing.
|
|
487
|
+
* 2. **replied_to_follow_up** — Re-setup follow-up tracking (scheduled
|
|
488
|
+
* check + event subscription) to continue waiting for user reply.
|
|
489
|
+
* 3. **replied_waiting_actions** — Check delegated agent statuses. If all
|
|
490
|
+
* agents are done, transition to replied_completed. Otherwise keep waiting.
|
|
491
|
+
* 4. **replied_completed/expired** — Already terminal, skip.
|
|
492
|
+
*
|
|
493
|
+
* @param messageQueueService - The message queue service for re-enqueuing
|
|
494
|
+
* @param options - Optional callbacks for agent status checking and platform confirmations
|
|
495
|
+
* @returns Summary of recovery actions taken
|
|
496
|
+
*/
|
|
497
|
+
async recoverPendingThreads(messageQueueService, options) {
|
|
498
|
+
await this.loadPersistedState();
|
|
499
|
+
const pending = this.getPendingThreads();
|
|
500
|
+
let reEnqueued = 0;
|
|
501
|
+
let followUpRestored = 0;
|
|
502
|
+
let waitingActionsChecked = 0;
|
|
503
|
+
let delegationsCompleted = 0;
|
|
504
|
+
for (const entry of pending) {
|
|
505
|
+
// Branch 1: enqueued / delivered / error — confirm + re-enqueue
|
|
506
|
+
if (entry.status === 'enqueued' || entry.status === 'delivered' || entry.status === 'error') {
|
|
507
|
+
// Send platform confirmation if callback provided
|
|
508
|
+
if (options?.confirmCallback) {
|
|
509
|
+
try {
|
|
510
|
+
await options.confirmCallback(entry);
|
|
511
|
+
}
|
|
512
|
+
catch (err) {
|
|
513
|
+
this.logger.warn('Recovery confirm callback failed', {
|
|
514
|
+
threadKey: entry.threadKey,
|
|
515
|
+
error: err instanceof Error ? err.message : String(err),
|
|
516
|
+
});
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
// Re-enqueue for orchestrator processing
|
|
520
|
+
messageQueueService.enqueue({
|
|
521
|
+
content: `[RECOVERY] Unreplied thread from ${entry.receivedAt}: ${entry.messagePreview}`,
|
|
522
|
+
conversationId: entry.conversationId,
|
|
523
|
+
source: entry.source,
|
|
524
|
+
sourceMetadata: entry.sourceMetadata,
|
|
525
|
+
});
|
|
526
|
+
reEnqueued++;
|
|
527
|
+
}
|
|
528
|
+
// Branch 2: replied_to_follow_up — re-setup follow-up tracking
|
|
529
|
+
else if (entry.status === 'replied_to_follow_up') {
|
|
530
|
+
this.setupFollowUpTracking(entry.threadKey, entry);
|
|
531
|
+
followUpRestored++;
|
|
532
|
+
}
|
|
533
|
+
// Branch 3: replied_waiting_actions — check delegated agents
|
|
534
|
+
else if (entry.status === 'replied_waiting_actions') {
|
|
535
|
+
waitingActionsChecked++;
|
|
536
|
+
if (options?.agentStatusChecker && entry.delegatedAgents && entry.delegatedAgents.length > 0) {
|
|
537
|
+
const statuses = await Promise.all(entry.delegatedAgents.map((agent) => options.agentStatusChecker.getAgentWorkingStatus(agent)));
|
|
538
|
+
const allDone = statuses.every((status) => status === 'idle' || status === 'unknown');
|
|
539
|
+
if (allDone) {
|
|
540
|
+
entry.status = 'replied_completed';
|
|
541
|
+
entry.updatedAt = new Date().toISOString();
|
|
542
|
+
delegationsCompleted++;
|
|
543
|
+
this.logger.info('All delegated agents done on recovery, completing thread', {
|
|
544
|
+
threadKey: entry.threadKey,
|
|
545
|
+
agents: entry.delegatedAgents,
|
|
546
|
+
});
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
// Agents still working — notify orchestrator to keep watching
|
|
550
|
+
messageQueueService.enqueue({
|
|
551
|
+
content: `[RECOVERY] Thread ${entry.threadKey} is waiting for agents: ${entry.delegatedAgents.join(', ')}. Some are still working.`,
|
|
552
|
+
conversationId: 'system',
|
|
553
|
+
source: 'system_event',
|
|
554
|
+
targetSession: ORCHESTRATOR_SESSION_NAME,
|
|
555
|
+
});
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
// No agent status checker or no delegated agents — notify orchestrator
|
|
560
|
+
messageQueueService.enqueue({
|
|
561
|
+
content: `[RECOVERY] Thread ${entry.threadKey} is waiting for agents: ${entry.delegatedAgents?.join(', ') || 'unknown'}. Check their status.`,
|
|
562
|
+
conversationId: 'system',
|
|
563
|
+
source: 'system_event',
|
|
564
|
+
targetSession: ORCHESTRATOR_SESSION_NAME,
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
// Branch 4: replied_completed / expired — skip (already terminal)
|
|
569
|
+
// These are filtered out by getPendingThreads(), but defensive check
|
|
570
|
+
}
|
|
571
|
+
if (reEnqueued > 0 || followUpRestored > 0 || delegationsCompleted > 0) {
|
|
572
|
+
this.schedulePersist();
|
|
573
|
+
}
|
|
574
|
+
const expired = this.expireStale();
|
|
575
|
+
const cleaned = this.cleanup();
|
|
576
|
+
this.logger.info('Pending thread recovery complete', {
|
|
577
|
+
loaded: this.entries.size,
|
|
578
|
+
reEnqueued,
|
|
579
|
+
followUpRestored,
|
|
580
|
+
waitingActionsChecked,
|
|
581
|
+
delegationsCompleted,
|
|
582
|
+
expired,
|
|
583
|
+
cleaned,
|
|
584
|
+
});
|
|
585
|
+
return {
|
|
586
|
+
loaded: this.entries.size,
|
|
587
|
+
reEnqueued,
|
|
588
|
+
followUpRestored,
|
|
589
|
+
waitingActionsChecked,
|
|
590
|
+
delegationsCompleted,
|
|
591
|
+
expired,
|
|
592
|
+
cleaned,
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Cleans up timers and follow-up tracking. Call on shutdown.
|
|
399
597
|
*/
|
|
400
598
|
destroy() {
|
|
401
599
|
if (this.persistTimer) {
|
|
402
600
|
clearTimeout(this.persistTimer);
|
|
403
601
|
this.persistTimer = null;
|
|
404
602
|
}
|
|
603
|
+
// Cancel all active follow-up tracking
|
|
604
|
+
for (const [threadKey, tracking] of this.followUpTracking) {
|
|
605
|
+
if (this.schedulerService) {
|
|
606
|
+
this.schedulerService.cancelCheck(tracking.scheduledCheckId);
|
|
607
|
+
}
|
|
608
|
+
if (this.eventBusService) {
|
|
609
|
+
this.eventBusService.unsubscribe(tracking.eventSubscriptionId);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
this.followUpTracking.clear();
|
|
405
613
|
}
|
|
406
614
|
// ===========================================================================
|
|
407
615
|
// Private Helpers
|
|
@@ -421,6 +629,55 @@ export class ThreadStatusQueueService {
|
|
|
421
629
|
}
|
|
422
630
|
return entry;
|
|
423
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Sets up follow-up tracking for a replied_to_follow_up thread.
|
|
634
|
+
* Creates a scheduled check and an event subscription so that if
|
|
635
|
+
* the user replies, the check is cancelled and the thread is completed.
|
|
636
|
+
*
|
|
637
|
+
* @param threadKey - Platform-specific thread identifier
|
|
638
|
+
* @param entry - The thread status entry
|
|
639
|
+
*/
|
|
640
|
+
setupFollowUpTracking(threadKey, entry) {
|
|
641
|
+
// Schedule a check to verify user replied
|
|
642
|
+
let scheduledCheckId = '';
|
|
643
|
+
if (this.schedulerService) {
|
|
644
|
+
scheduledCheckId = this.schedulerService.scheduleCheck(ORCHESTRATOR_SESSION_NAME, FOLLOW_UP_CHECK_DELAY_MINUTES, `[FOLLOW-UP CHECK] Thread ${threadKey} (conv: ${entry.conversationId}) asked user for clarification ${FOLLOW_UP_CHECK_DELAY_MINUTES}m ago. Preview: "${entry.messagePreview}". Check if user has replied.`, 'check-in', { label: `follow-up:${threadKey}` });
|
|
645
|
+
this.logger.info('Scheduled follow-up check', {
|
|
646
|
+
threadKey,
|
|
647
|
+
scheduledCheckId,
|
|
648
|
+
delayMinutes: FOLLOW_UP_CHECK_DELAY_MINUTES,
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
else {
|
|
652
|
+
this.logger.warn('SchedulerService not set, skipping follow-up check scheduling', { threadKey });
|
|
653
|
+
}
|
|
654
|
+
// Subscribe to message events for this thread's conversation
|
|
655
|
+
let eventSubscriptionId = '';
|
|
656
|
+
if (this.eventBusService) {
|
|
657
|
+
const sub = this.eventBusService.subscribe({
|
|
658
|
+
eventType: ['message:received', 'agent:idle'],
|
|
659
|
+
filter: { conversationId: entry.conversationId },
|
|
660
|
+
subscriberSession: ORCHESTRATOR_SESSION_NAME,
|
|
661
|
+
oneShot: true,
|
|
662
|
+
ttlMinutes: FOLLOW_UP_CHECK_DELAY_MINUTES + 5,
|
|
663
|
+
messageTemplate: `[FOLLOW-UP REPLY] User replied to thread ${threadKey}. Original: "${entry.messagePreview}"`,
|
|
664
|
+
});
|
|
665
|
+
eventSubscriptionId = sub.id;
|
|
666
|
+
this.logger.info('Subscribed to follow-up reply events', {
|
|
667
|
+
threadKey,
|
|
668
|
+
subscriptionId: eventSubscriptionId,
|
|
669
|
+
});
|
|
670
|
+
}
|
|
671
|
+
else {
|
|
672
|
+
this.logger.warn('EventBusService not set, skipping follow-up event subscription', { threadKey });
|
|
673
|
+
}
|
|
674
|
+
if (scheduledCheckId || eventSubscriptionId) {
|
|
675
|
+
this.followUpTracking.set(threadKey, {
|
|
676
|
+
scheduledCheckId,
|
|
677
|
+
eventSubscriptionId,
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
}
|
|
424
681
|
/**
|
|
425
682
|
* Schedules a debounced persistence write to disk.
|
|
426
683
|
* Multiple mutations within PERSIST_DEBOUNCE_MS are batched into a single write.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-status-queue.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/thread-status-queue.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thread-status-queue.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/thread-status-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
import { InProgressTask, TaskTrackingData, TaskFileInfo } from '../../types/task-tracking.types.js';
|
|
2
|
+
import { InProgressTask, InProgressTaskStatus, TaskTrackingData, TaskFileInfo } from '../../types/task-tracking.types.js';
|
|
3
|
+
import type { OrgRole } from '../ai/prompt-modules/prompt-module.interface.js';
|
|
3
4
|
export declare class TaskTrackingService extends EventEmitter {
|
|
4
5
|
private readonly taskTrackingPath;
|
|
5
6
|
private readonly logger;
|
|
@@ -24,7 +25,62 @@ export declare class TaskTrackingService extends EventEmitter {
|
|
|
24
25
|
loadTaskData(): Promise<TaskTrackingData>;
|
|
25
26
|
saveTaskData(data: TaskTrackingData): Promise<void>;
|
|
26
27
|
assignTask(projectId: string, teamId: string, taskFilePath: string, taskName: string, targetRole: string, teamMemberId: string, sessionName: string): Promise<InProgressTask>;
|
|
27
|
-
updateTaskStatus(taskId: string, status: InProgressTask['status'], blockReason?: string): Promise<void>;
|
|
28
|
+
updateTaskStatus(taskId: string, status: InProgressTask['status'], blockReason?: string, requestorOrgRole?: OrgRole): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Emit task workflow events that drive the action trigger chain.
|
|
31
|
+
* Only emits for transitions that require a different actor to wake up.
|
|
32
|
+
*
|
|
33
|
+
* @param task - The updated task
|
|
34
|
+
* @param fromStatus - Previous status
|
|
35
|
+
* @param toStatus - New status
|
|
36
|
+
* @param data - Current task tracking data (for team:all_tasks_done check)
|
|
37
|
+
*/
|
|
38
|
+
private emitTaskWorkflowEvent;
|
|
39
|
+
/**
|
|
40
|
+
* Accept a task — transitions from 'assigned' to 'accepted'.
|
|
41
|
+
* Records the agent's structured understanding of the task.
|
|
42
|
+
*
|
|
43
|
+
* @param taskId - Task ID to accept
|
|
44
|
+
* @param sessionName - Session name of the accepting agent (must match assignee)
|
|
45
|
+
* @param understanding - Agent's structured understanding of the task scope
|
|
46
|
+
* @returns The updated task
|
|
47
|
+
* @throws If task not found, not in 'assigned' status, or session doesn't match
|
|
48
|
+
*/
|
|
49
|
+
acceptTask(taskId: string, sessionName: string, understanding: string): Promise<InProgressTask>;
|
|
50
|
+
/**
|
|
51
|
+
* Request clarification on a task — transitions to 'needs_clarification'.
|
|
52
|
+
* Signals that the agent needs more info before starting work.
|
|
53
|
+
*
|
|
54
|
+
* @param taskId - Task ID to request clarification for
|
|
55
|
+
* @param sessionName - Session name of the requesting agent (must match assignee)
|
|
56
|
+
* @param question - What the agent needs clarified
|
|
57
|
+
* @returns The updated task
|
|
58
|
+
* @throws If task not found, not in valid status, or session doesn't match
|
|
59
|
+
*/
|
|
60
|
+
requestClarification(taskId: string, sessionName: string, question: string): Promise<InProgressTask>;
|
|
61
|
+
/**
|
|
62
|
+
* Save working notes for a task — persists agent's current working state
|
|
63
|
+
* across session restarts. Not long-term memory; cleared on task completion.
|
|
64
|
+
*
|
|
65
|
+
* @param taskId - Task ID
|
|
66
|
+
* @param sessionName - Session name (must match assignee)
|
|
67
|
+
* @param notes - Working notes content
|
|
68
|
+
* @throws If task not found or session doesn't match assignee
|
|
69
|
+
*/
|
|
70
|
+
updateWorkingNotes(taskId: string, sessionName: string, notes: string): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Validate that a status transition is allowed based on the Task State Ownership Matrix.
|
|
73
|
+
* Enforces who can write which status and which transitions are legal.
|
|
74
|
+
*
|
|
75
|
+
* @param currentStatus - Current task status
|
|
76
|
+
* @param newStatus - Requested new status
|
|
77
|
+
* @param requestorOrgRole - Organizational role of the requestor
|
|
78
|
+
* @returns Validation result with optional reason for rejection
|
|
79
|
+
*/
|
|
80
|
+
validateStatusTransition(currentStatus: InProgressTaskStatus, newStatus: InProgressTaskStatus, requestorOrgRole: OrgRole): {
|
|
81
|
+
valid: boolean;
|
|
82
|
+
reason?: string;
|
|
83
|
+
};
|
|
28
84
|
removeTask(taskId: string): Promise<void>;
|
|
29
85
|
addTaskToQueue(taskInfo: {
|
|
30
86
|
projectId: string;
|