crewly 1.0.8 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/config/constants.ts +59 -0
  2. package/config/index.ts +2 -0
  3. package/config/roles/architect/prompt.md +8 -5
  4. package/config/roles/backend-developer/prompt.md +24 -5
  5. package/config/roles/designer/prompt.md +6 -5
  6. package/config/roles/developer/prompt.md +27 -5
  7. package/config/roles/frontend-developer/prompt.md +24 -5
  8. package/config/roles/fullstack-dev/prompt.md +24 -5
  9. package/config/roles/generalist/prompt.md +9 -5
  10. package/config/roles/orchestrator/prompt.md +126 -15
  11. package/config/roles/product-manager/prompt.md +6 -5
  12. package/config/roles/qa/prompt.md +24 -5
  13. package/config/roles/qa-engineer/prompt.md +24 -5
  14. package/config/roles/sales/prompt.md +6 -5
  15. package/config/roles/support/prompt.md +6 -5
  16. package/config/roles/tpm/prompt.md +6 -5
  17. package/config/skills/agent/_common/lib.sh +4 -0
  18. package/config/skills/agent/core/accept-task/execute.sh +21 -0
  19. package/config/skills/agent/core/accept-task/instructions.md +20 -0
  20. package/config/skills/agent/core/accept-task/skill.json +20 -0
  21. package/config/skills/agent/core/block-task/execute.sh +26 -0
  22. package/config/skills/agent/core/block-task/instructions.md +22 -0
  23. package/config/skills/agent/core/block-task/skill.json +20 -0
  24. package/config/skills/agent/core/check-quality-gates/execute.sh +20 -0
  25. package/config/skills/agent/core/check-quality-gates/instructions.md +23 -0
  26. package/config/skills/agent/core/check-quality-gates/skill.json +20 -0
  27. package/config/skills/agent/core/complete-task/execute.sh +29 -0
  28. package/config/skills/agent/core/complete-task/instructions.md +53 -0
  29. package/config/skills/agent/core/complete-task/skill.json +20 -0
  30. package/config/skills/agent/core/get-my-context/execute.sh +23 -0
  31. package/config/skills/agent/core/get-my-context/instructions.md +21 -0
  32. package/config/skills/agent/core/get-my-context/skill.json +20 -0
  33. package/config/skills/agent/core/get-sops/execute.sh +24 -0
  34. package/config/skills/agent/core/get-sops/instructions.md +21 -0
  35. package/config/skills/agent/core/get-sops/skill.json +20 -0
  36. package/config/skills/agent/core/get-team-status/execute.sh +8 -0
  37. package/config/skills/agent/core/get-team-status/instructions.md +17 -0
  38. package/config/skills/agent/core/get-team-status/skill.json +20 -0
  39. package/config/skills/agent/core/heartbeat/execute.sh +22 -0
  40. package/config/skills/agent/core/heartbeat/instructions.md +23 -0
  41. package/config/skills/agent/core/heartbeat/skill.json +20 -0
  42. package/config/skills/agent/core/manage-knowledge/execute.sh +60 -0
  43. package/config/skills/agent/core/manage-knowledge/instructions.md +46 -0
  44. package/config/skills/agent/core/marketplace-search/execute.sh +77 -0
  45. package/config/skills/agent/core/marketplace-search/instructions.md +59 -0
  46. package/config/skills/agent/core/marketplace-search/skill.json +20 -0
  47. package/config/skills/agent/core/query-knowledge/execute.sh +30 -0
  48. package/config/skills/agent/core/query-knowledge/instructions.md +47 -0
  49. package/config/skills/agent/core/query-knowledge/skill.json +20 -0
  50. package/config/skills/agent/core/read-task/execute.sh +15 -0
  51. package/config/skills/agent/core/read-task/instructions.md +19 -0
  52. package/config/skills/agent/core/read-task/skill.json +20 -0
  53. package/config/skills/agent/core/recall/execute.sh +24 -0
  54. package/config/skills/agent/core/recall/instructions.md +23 -0
  55. package/config/skills/agent/core/recall/skill.json +20 -0
  56. package/config/skills/agent/core/record-learning/execute.sh +29 -0
  57. package/config/skills/agent/core/record-learning/instructions.md +24 -0
  58. package/config/skills/agent/core/record-learning/skill.json +20 -0
  59. package/config/skills/agent/core/register-self/execute.sh +28 -0
  60. package/config/skills/agent/core/register-self/instructions.md +18 -0
  61. package/config/skills/agent/core/register-self/skill.json +20 -0
  62. package/config/skills/agent/core/remember/execute.sh +29 -0
  63. package/config/skills/agent/core/remember/instructions.md +24 -0
  64. package/config/skills/agent/core/remember/skill.json +20 -0
  65. package/config/skills/agent/core/report-progress/execute.sh +28 -0
  66. package/config/skills/agent/core/report-progress/instructions.md +25 -0
  67. package/config/skills/agent/core/report-progress/skill.json +20 -0
  68. package/config/skills/agent/core/report-status/execute.sh +35 -0
  69. package/config/skills/agent/core/report-status/instructions.md +36 -0
  70. package/config/skills/agent/core/report-status/skill.json +20 -0
  71. package/config/skills/agent/core/send-chat-response/execute.sh +26 -0
  72. package/config/skills/agent/core/send-chat-response/instructions.md +22 -0
  73. package/config/skills/agent/core/send-chat-response/skill.json +20 -0
  74. package/config/skills/agent/core/send-message/execute.sh +17 -0
  75. package/config/skills/agent/core/send-message/instructions.md +20 -0
  76. package/config/skills/agent/core/send-message/skill.json +20 -0
  77. package/config/skills/orchestrator/delegate-task/execute.sh +1 -1
  78. package/config/skills/orchestrator/schedule-check/instructions.md +6 -0
  79. package/config/skills/registry.json +850 -0
  80. package/config/templates/research-team.json +2 -2
  81. package/dist/backend/backend/src/constants.d.ts +89 -4
  82. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  83. package/dist/backend/backend/src/constants.js +84 -6
  84. package/dist/backend/backend/src/constants.js.map +1 -1
  85. package/dist/backend/backend/src/controllers/marketplace/index.d.ts +1 -1
  86. package/dist/backend/backend/src/controllers/marketplace/index.d.ts.map +1 -1
  87. package/dist/backend/backend/src/controllers/marketplace/index.js +1 -1
  88. package/dist/backend/backend/src/controllers/marketplace/index.js.map +1 -1
  89. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +64 -8
  90. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  91. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +194 -96
  92. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  93. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  94. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +7 -2
  95. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  96. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  97. package/dist/backend/backend/src/controllers/team/team.controller.js +30 -13
  98. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  99. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  100. package/dist/backend/backend/src/services/agent/agent-registration.service.js +37 -0
  101. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  102. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts +51 -8
  103. package/dist/backend/backend/src/services/agent/context-window-monitor.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js +201 -11
  105. package/dist/backend/backend/src/services/agent/context-window-monitor.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +16 -1
  107. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  108. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +99 -9
  109. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  110. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  111. package/dist/backend/backend/src/services/agent/idle-detection.service.js +11 -4
  112. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  113. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts +11 -0
  114. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.d.ts.map +1 -1
  115. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js +18 -0
  116. package/dist/backend/backend/src/services/agent/pty-activity-tracker.service.js.map +1 -1
  117. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  118. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +13 -0
  119. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  120. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +21 -0
  121. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  122. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +227 -91
  123. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  124. package/dist/backend/backend/src/services/chat/chat.service.d.ts +12 -0
  125. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  126. package/dist/backend/backend/src/services/chat/chat.service.js +23 -1
  127. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  128. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts +6 -0
  129. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -1
  130. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js +10 -0
  131. package/dist/backend/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -1
  132. package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -0
  133. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
  134. package/dist/backend/backend/src/services/marketplace/index.js +2 -0
  135. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
  136. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +10 -9
  137. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  138. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +262 -73
  139. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  140. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts +71 -0
  141. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.d.ts.map +1 -0
  142. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js +339 -0
  143. package/dist/backend/backend/src/services/marketplace/marketplace-submission.service.js.map +1 -0
  144. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +4 -15
  145. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
  146. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +172 -27
  147. package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
  148. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts +30 -2
  149. package/dist/backend/backend/src/services/messaging/message-queue.service.d.ts.map +1 -1
  150. package/dist/backend/backend/src/services/messaging/message-queue.service.js +79 -3
  151. package/dist/backend/backend/src/services/messaging/message-queue.service.js.map +1 -1
  152. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  153. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +57 -4
  154. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  155. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  156. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +20 -1
  157. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  158. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  159. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +31 -0
  160. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  161. package/dist/backend/backend/src/services/runtime-adapter.d.ts +20 -0
  162. package/dist/backend/backend/src/services/runtime-adapter.d.ts.map +1 -1
  163. package/dist/backend/backend/src/services/runtime-adapter.js +22 -1
  164. package/dist/backend/backend/src/services/runtime-adapter.js.map +1 -1
  165. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +19 -0
  166. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  167. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +31 -2
  168. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  169. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +14 -0
  170. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  171. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  172. package/dist/backend/backend/src/services/session/session-command-helper.d.ts +9 -0
  173. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/session/session-command-helper.js +24 -1
  175. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  176. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts +7 -13
  177. package/dist/backend/backend/src/services/skill/skill-catalog.service.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/skill/skill-catalog.service.js +38 -47
  179. package/dist/backend/backend/src/services/skill/skill-catalog.service.js.map +1 -1
  180. package/dist/backend/backend/src/services/skill/skill.service.d.ts +3 -0
  181. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
  182. package/dist/backend/backend/src/services/skill/skill.service.js +17 -0
  183. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
  184. package/dist/backend/backend/src/types/chat.types.d.ts +5 -5
  185. package/dist/backend/backend/src/types/chat.types.d.ts.map +1 -1
  186. package/dist/backend/backend/src/types/chat.types.js +21 -1
  187. package/dist/backend/backend/src/types/chat.types.js.map +1 -1
  188. package/dist/backend/backend/src/types/marketplace.types.d.ts +37 -0
  189. package/dist/backend/backend/src/types/marketplace.types.d.ts.map +1 -1
  190. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  191. package/dist/backend/backend/src/websocket/terminal.gateway.js +3 -5
  192. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  193. package/dist/backend/config/constants.d.ts +41 -0
  194. package/dist/backend/config/constants.d.ts.map +1 -1
  195. package/dist/backend/config/constants.js +57 -0
  196. package/dist/backend/config/constants.js.map +1 -1
  197. package/dist/backend/config/index.d.ts +2 -2
  198. package/dist/backend/config/index.d.ts.map +1 -1
  199. package/dist/backend/config/index.js +2 -2
  200. package/dist/backend/config/index.js.map +1 -1
  201. package/dist/cli/backend/src/constants.d.ts +89 -4
  202. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  203. package/dist/cli/backend/src/constants.js +84 -6
  204. package/dist/cli/backend/src/constants.js.map +1 -1
  205. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts +40 -0
  206. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.d.ts.map +1 -0
  207. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js +74 -0
  208. package/dist/cli/backend/src/services/continuation/patterns/waiting-patterns.js.map +1 -0
  209. package/dist/cli/backend/src/types/chat.types.d.ts +5 -5
  210. package/dist/cli/backend/src/types/chat.types.d.ts.map +1 -1
  211. package/dist/cli/backend/src/types/chat.types.js +21 -1
  212. package/dist/cli/backend/src/types/chat.types.js.map +1 -1
  213. package/dist/cli/cli/src/commands/onboard.d.ts +11 -1
  214. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  215. package/dist/cli/cli/src/commands/onboard.js +118 -18
  216. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  217. package/dist/cli/cli/src/commands/publish.d.ts +14 -6
  218. package/dist/cli/cli/src/commands/publish.d.ts.map +1 -1
  219. package/dist/cli/cli/src/commands/publish.js +32 -8
  220. package/dist/cli/cli/src/commands/publish.js.map +1 -1
  221. package/dist/cli/cli/src/commands/seed-marketplace.d.ts +28 -0
  222. package/dist/cli/cli/src/commands/seed-marketplace.d.ts.map +1 -0
  223. package/dist/cli/cli/src/commands/seed-marketplace.js +148 -0
  224. package/dist/cli/cli/src/commands/seed-marketplace.js.map +1 -0
  225. package/dist/cli/cli/src/index.js +9 -0
  226. package/dist/cli/cli/src/index.js.map +1 -1
  227. package/dist/cli/cli/src/utils/marketplace.d.ts +17 -4
  228. package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
  229. package/dist/cli/cli/src/utils/marketplace.js +172 -58
  230. package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
  231. package/dist/cli/config/constants.d.ts +41 -0
  232. package/dist/cli/config/constants.d.ts.map +1 -1
  233. package/dist/cli/config/constants.js +57 -0
  234. package/dist/cli/config/constants.js.map +1 -1
  235. package/dist/cli/config/index.d.ts +2 -2
  236. package/dist/cli/config/index.d.ts.map +1 -1
  237. package/dist/cli/config/index.js +2 -2
  238. package/dist/cli/config/index.js.map +1 -1
  239. package/frontend/dist/assets/{index-68d1eb5a.js → index-0a245b0d.js} +242 -242
  240. package/frontend/dist/assets/{index-c5043a83.css → index-6972eeee.css} +1 -1
  241. package/frontend/dist/index.html +2 -2
  242. package/package.json +2 -2
  243. package/config/skills/chrome-browser/instructions.md +0 -42
  244. package/config/skills/chrome-browser/skill.json +0 -39
  245. package/config/skills/nano-banana-image/generate.sh +0 -73
  246. package/config/skills/nano-banana-image/instructions.md +0 -50
  247. package/config/skills/nano-banana-image/skill.json +0 -39
  248. package/config/skills/playwright-chrome-browser/instructions.md +0 -95
  249. package/config/skills/playwright-chrome-browser/skill.json +0 -44
@@ -11,7 +11,7 @@ import { EventEmitter } from 'events';
11
11
  import { LoggerService } from '../core/logger.service.js';
12
12
  import { getChatService } from '../chat/chat.service.js';
13
13
  import { getTerminalGateway } from '../../websocket/terminal.gateway.js';
14
- import { MESSAGE_QUEUE_CONSTANTS, ORCHESTRATOR_SESSION_NAME, CHAT_CONSTANTS, EVENT_DELIVERY_CONSTANTS, RUNTIME_TYPES, ORCHESTRATOR_HEARTBEAT_CONSTANTS, MESSAGE_SOURCES, } from '../../constants.js';
14
+ import { MESSAGE_QUEUE_CONSTANTS, ORCHESTRATOR_SESSION_NAME, CHAT_ROUTING_CONSTANTS, EVENT_DELIVERY_CONSTANTS, RUNTIME_TYPES, ORCHESTRATOR_HEARTBEAT_CONSTANTS, MESSAGE_SOURCES, } from '../../constants.js';
15
15
  import { PtyActivityTrackerService } from '../agent/pty-activity-tracker.service.js';
16
16
  import { StorageService } from '../core/storage.service.js';
17
17
  /**
@@ -189,6 +189,7 @@ export class QueueProcessorService extends EventEmitter {
189
189
  this.logger.info('Message was cancelled during processing, skipping delivery', {
190
190
  messageId: message.id,
191
191
  });
192
+ clearInterval(keepaliveInterval);
192
193
  return;
193
194
  }
194
195
  if (!isReady) {
@@ -230,6 +231,7 @@ export class QueueProcessorService extends EventEmitter {
230
231
  });
231
232
  }
232
233
  }
234
+ clearInterval(keepaliveInterval);
233
235
  return;
234
236
  }
235
237
  this.logger.warn('Agent not ready, re-queuing message for retry', {
@@ -245,13 +247,34 @@ export class QueueProcessorService extends EventEmitter {
245
247
  // a shorter INTER_MESSAGE_DELAY.
246
248
  this.scheduleProcessNext(EVENT_DELIVERY_CONSTANTS.AGENT_READY_POLL_INTERVAL);
247
249
  this.nextAlreadyScheduled = true;
250
+ clearInterval(keepaliveInterval);
248
251
  return;
249
252
  }
250
253
  }
254
+ // Batch system events: if the current message is a system event and more
255
+ // are pending, combine up to MAX_SYSTEM_EVENT_BATCH into one delivery.
256
+ // This reduces context window consumption on the orchestrator when many
257
+ // events fire in quick succession (agent status changes, etc.).
258
+ let batchedMessages = [];
259
+ if (isSystemEvent) {
260
+ const maxAdditional = MESSAGE_QUEUE_CONSTANTS.MAX_SYSTEM_EVENT_BATCH - 1;
261
+ batchedMessages = this.queueService.dequeueSystemEventBatch(maxAdditional);
262
+ if (batchedMessages.length > 0) {
263
+ this.logger.info('Batched system events for delivery', {
264
+ primaryId: message.id,
265
+ batchSize: 1 + batchedMessages.length,
266
+ });
267
+ }
268
+ }
251
269
  // Format message: system events use raw content, chat uses [CHAT:id] prefix
252
- const deliveryContent = isSystemEvent
253
- ? message.content
254
- : `[${CHAT_CONSTANTS.MESSAGE_PREFIX}:${message.conversationId}] ${message.content}`;
270
+ let deliveryContent;
271
+ if (isSystemEvent) {
272
+ const allContents = [message.content, ...batchedMessages.map(m => m.content)];
273
+ deliveryContent = allContents.join('\n');
274
+ }
275
+ else {
276
+ deliveryContent = `[${CHAT_ROUTING_CONSTANTS.MESSAGE_PREFIX}:${message.conversationId}] ${message.content}`;
277
+ }
255
278
  const deliveryResult = await this.agentRegistrationService.sendMessageToAgent(ORCHESTRATOR_SESSION_NAME, deliveryContent, runtimeType);
256
279
  // Record delivery timestamp for ACK detection
257
280
  message.deliveredAt = new Date().toISOString();
@@ -262,6 +285,10 @@ export class QueueProcessorService extends EventEmitter {
262
285
  error: errorMsg,
263
286
  });
264
287
  this.queueService.markFailed(message.id, errorMsg);
288
+ // Also fail any batched system event messages
289
+ if (batchedMessages.length > 0) {
290
+ this.queueService.markBatchFailed(batchedMessages, errorMsg);
291
+ }
265
292
  this.responseRouter.routeError(message, errorMsg);
266
293
  // Post a system message to the conversation so the user sees the error
267
294
  // (skip for system events — no user conversation to notify)
@@ -281,8 +308,13 @@ export class QueueProcessorService extends EventEmitter {
281
308
  if (isSystemEvent) {
282
309
  // Fire-and-forget: no response expected for system events
283
310
  this.queueService.markCompleted(message.id, '');
311
+ // Mark all batched messages as completed too
312
+ if (batchedMessages.length > 0) {
313
+ this.queueService.markBatchCompleted(batchedMessages);
314
+ }
284
315
  this.logger.info('System event delivered successfully', {
285
316
  messageId: message.id,
317
+ batchSize: 1 + batchedMessages.length,
286
318
  });
287
319
  }
288
320
  else {
@@ -368,9 +400,30 @@ export class QueueProcessorService extends EventEmitter {
368
400
  'Its context may be exhausted. Please restart the orchestrator and try again.');
369
401
  }
370
402
  }, MESSAGE_QUEUE_CONSTANTS.ACK_TIMEOUT);
403
+ // Progress timer: emit "still working" updates during long operations.
404
+ // First fires at 90s, then every 60s thereafter.
405
+ let progressIntervalId;
406
+ let cleaned = false;
407
+ const startProgressInterval = () => {
408
+ if (cleaned)
409
+ return;
410
+ progressIntervalId = setInterval(() => {
411
+ const tracker = PtyActivityTrackerService.getInstance();
412
+ const idleMs = tracker.getIdleTimeMs(ORCHESTRATOR_SESSION_NAME);
413
+ // Only emit progress if the orchestrator is still producing output
414
+ if (idleMs < MESSAGE_QUEUE_CONSTANTS.PROGRESS_INTERVAL_MS) {
415
+ chatService.emitProgress(conversationId, 'Processing... (still working)');
416
+ }
417
+ }, MESSAGE_QUEUE_CONSTANTS.PROGRESS_INTERVAL_MS);
418
+ };
419
+ const progressStartId = setTimeout(startProgressInterval, MESSAGE_QUEUE_CONSTANTS.PROGRESS_INITIAL_MS);
371
420
  const cleanup = () => {
421
+ cleaned = true;
372
422
  clearTimeout(timeoutId);
373
423
  clearTimeout(ackTimeoutId);
424
+ clearTimeout(progressStartId);
425
+ if (progressIntervalId)
426
+ clearInterval(progressIntervalId);
374
427
  chatService.removeListener('message', onMessage);
375
428
  };
376
429
  chatService.on('message', onMessage);
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-heartbeat-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAUH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mCAAmC;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoD;IAC3E,OAAO,CAAC,MAAM,CAAkB;IAEhC,4BAA4B;IAC5B,OAAO,CAAC,UAAU,CAA+C;IAEjE,kEAAkE;IAClE,OAAO,CAAC,sBAAsB,CAAuB;IAErD,0CAA0C;IAC1C,OAAO,CAAC,qBAAqB,CAAK;IAElC,0CAA0C;IAC1C,OAAO,CAAC,gBAAgB,CAAK;IAE7B,8BAA8B;IAC9B,OAAO,CAAC,SAAS,CAAuB;IAExC,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAgC;IAEtD,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,mCAAmC;IAOzD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IAItD;;;OAGG;IACH,KAAK,IAAI,IAAI;IA0Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,QAAQ,IAAI,qBAAqB;IAUjC;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDnC;;;OAGG;YACW,oBAAoB;IAwClC;;OAEG;YACW,kBAAkB;CAmBhC"}
1
+ {"version":3,"file":"orchestrator-heartbeat-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAWH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,+CAA+C;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wEAAwE;IACxE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mCAAmC;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoD;IAC3E,OAAO,CAAC,MAAM,CAAkB;IAEhC,4BAA4B;IAC5B,OAAO,CAAC,UAAU,CAA+C;IAEjE,kEAAkE;IAClE,OAAO,CAAC,sBAAsB,CAAuB;IAErD,0CAA0C;IAC1C,OAAO,CAAC,qBAAqB,CAAK;IAElC,0CAA0C;IAC1C,OAAO,CAAC,gBAAgB,CAAK;IAE7B,8BAA8B;IAC9B,OAAO,CAAC,SAAS,CAAuB;IAExC,sDAAsD;IACtD,OAAO,CAAC,cAAc,CAAgC;IAEtD,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,mCAAmC;IAOzD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IAItD;;;OAGG;IACH,KAAK,IAAI,IAAI;IA0Bb;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,QAAQ,IAAI,qBAAqB;IAUjC;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEnC;;;OAGG;YACW,oBAAoB;IA2ClC;;OAEG;YACW,kBAAkB;CAmBhC"}
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import { LoggerService } from '../core/logger.service.js';
22
22
  import { ORCHESTRATOR_SESSION_NAME, ORCHESTRATOR_HEARTBEAT_CONSTANTS, SESSION_COMMAND_DELAYS, } from '../../constants.js';
23
+ import { delay } from '../../utils/async.utils.js';
23
24
  import { PtyActivityTrackerService } from '../agent/pty-activity-tracker.service.js';
24
25
  import { OrchestratorRestartService } from './orchestrator-restart.service.js';
25
26
  /**
@@ -169,6 +170,21 @@ export class OrchestratorHeartbeatMonitorService {
169
170
  this.heartbeatRequestSentAt = null;
170
171
  return;
171
172
  }
173
+ // Fast path: if the child process is dead, skip heartbeat messaging
174
+ // and trigger restart immediately. This prevents sending heartbeat
175
+ // messages to a bare shell, which would produce error output that
176
+ // resets the PTY activity tracker and block restart indefinitely.
177
+ if (this.sessionBackend.isChildProcessAlive) {
178
+ const isAlive = this.sessionBackend.isChildProcessAlive(ORCHESTRATOR_SESSION_NAME);
179
+ if (!isAlive) {
180
+ this.logger.warn('Orchestrator child process is dead, triggering immediate restart', {
181
+ sessionName: ORCHESTRATOR_SESSION_NAME,
182
+ });
183
+ this.heartbeatRequestSentAt = null;
184
+ await this.triggerAutoRestart();
185
+ return;
186
+ }
187
+ }
172
188
  const activityTracker = PtyActivityTrackerService.getInstance();
173
189
  const idleTimeMs = activityTracker.getIdleTimeMs(ORCHESTRATOR_SESSION_NAME);
174
190
  // If recent activity detected, clear any pending heartbeat request
@@ -223,13 +239,16 @@ export class OrchestratorHeartbeatMonitorService {
223
239
  session.write(message);
224
240
  // Delay to let the terminal finish processing the paste, then send Enter
225
241
  const pasteDelay = Math.min(SESSION_COMMAND_DELAYS.MESSAGE_DELAY + Math.ceil(message.length / 10), 5000);
226
- await new Promise(resolve => setTimeout(resolve, pasteDelay));
242
+ await delay(pasteDelay);
227
243
  session.write('\r');
228
244
  this.logger.info('Heartbeat request sent to orchestrator PTY', {
229
245
  heartbeatRequestCount: this.heartbeatRequestCount,
230
246
  });
231
247
  }
232
248
  catch (err) {
249
+ // Reset heartbeat state so a failed delivery doesn't trigger a false restart
250
+ this.heartbeatRequestSentAt = null;
251
+ this.heartbeatRequestCount = Math.max(0, this.heartbeatRequestCount - 1);
233
252
  this.logger.error('Failed to send heartbeat request to orchestrator', {
234
253
  error: err instanceof Error ? err.message : String(err),
235
254
  });
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-heartbeat-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-heartbeat-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,aAAa,EAAmB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EACN,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAmB/E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,mCAAmC;IACvC,MAAM,CAAC,QAAQ,GAA+C,IAAI,CAAC;IACnE,MAAM,CAAkB;IAEhC,4BAA4B;IACpB,UAAU,GAA0C,IAAI,CAAC;IAEjE,kEAAkE;IAC1D,sBAAsB,GAAkB,IAAI,CAAC;IAErD,0CAA0C;IAClC,qBAAqB,GAAG,CAAC,CAAC;IAElC,0CAA0C;IAClC,gBAAgB,GAAG,CAAC,CAAC;IAE7B,8BAA8B;IACtB,SAAS,GAAkB,IAAI,CAAC;IAExC,sDAAsD;IAC9C,cAAc,GAA2B,IAAI,CAAC;IAEtD;QACC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,8BAA8B,CAAC,CAAC;IACjG,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW;QACjB,IAAI,CAAC,mCAAmC,CAAC,QAAQ,EAAE,CAAC;YACnD,mCAAmC,CAAC,QAAQ,GAAG,IAAI,mCAAmC,EAAE,CAAC;QAC1F,CAAC;QACD,OAAO,mCAAmC,CAAC,QAAQ,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QACnB,IAAI,mCAAmC,CAAC,QAAQ,EAAE,CAAC;YAClD,mCAAmC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrD,CAAC;QACD,mCAAmC,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,cAA+B;QAC9C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAE/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;YAC3D,eAAe,EAAE,gCAAgC,CAAC,iBAAiB;YACnE,2BAA2B,EAAE,gCAAgC,CAAC,8BAA8B;YAC5F,kBAAkB,EAAE,gCAAgC,CAAC,oBAAoB;YACzE,oBAAoB,EAAE,gCAAgC,CAAC,uBAAuB;SAC9E,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;oBAC3C,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACvD,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;QACJ,CAAC,EAAE,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAI;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACP,OAAO;YACN,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY;QACjB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,gCAAgC,CAAC,uBAAuB,EAAE,CAAC;YAChH,OAAO;QACR,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,OAAO;QACR,CAAC;QAED,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,EAAE;oBACpF,WAAW,EAAE,yBAAyB;iBACtC,CAAC,CAAC;gBACH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAChC,OAAO;YACR,CAAC;QACF,CAAC;QAED,MAAM,eAAe,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QAE5E,mEAAmE;QACnE,IAAI,UAAU,GAAG,gCAAgC,CAAC,8BAA8B,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;gBACxF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACpC,CAAC;YACD,OAAO;QACR,CAAC;QAED,wEAAwE;QACxE,IAAI,IAAI,CAAC,sBAAsB,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;YAElE,IAAI,gBAAgB,IAAI,gCAAgC,CAAC,oBAAoB,EAAE,CAAC;gBAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,EAAE;oBAC9F,kBAAkB,EAAE,gBAAgB;oBACpC,UAAU;oBACV,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;iBACjD,CAAC,CAAC;gBAEH,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;gBACnC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjC,CAAC;YACD,OAAO;QACR,CAAC;QAED,4EAA4E;QAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;YAChE,UAAU;SACV,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBAClF,OAAO;YACR,CAAC;YAED,kEAAkE;YAClE,6CAA6C;YAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAE7B,kEAAkE;YAClE,oDAAoD;YACpD,MAAM,OAAO,GAAG,gCAAgC,CAAC,yBAAyB,CAAC;YAC3E,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEvB,yEAAyE;YACzE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAC1B,sBAAsB,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,EACrE,IAAI,CACJ,CAAC;YACF,MAAM,KAAK,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBAC9D,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;aACjD,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,6EAA6E;YAC7E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;gBACrE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACvD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC/B,IAAI,CAAC;YACJ,MAAM,cAAc,GAAG,0BAA0B,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,CAAC;YAEtD,IAAI,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;oBACpE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;iBACvC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAChG,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBAChE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACvD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-status.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-status.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAuG/E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,UAAO,GAAG,MAAM,CAMvE"}
1
+ {"version":3,"file":"orchestrator-status.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-status.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAyI/E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,UAAU,UAAO,GAAG,MAAM,CAMvE"}
@@ -117,6 +117,37 @@ export async function getOrchestratorStatus() {
117
117
  message: 'Orchestrator is starting up. Please wait a moment and try again.',
118
118
  };
119
119
  }
120
+ // Self-healing: if the session is alive AND has a running child process
121
+ // (e.g. claude), but status says inactive, restore to active.
122
+ // This handles cases where the status got stale due to a transient false
123
+ // positive in exit detection while the runtime was actually still running.
124
+ if (sessionExists && sessionCheckPerformed) {
125
+ let childProcessAlive = false;
126
+ try {
127
+ const sessionBackend = getSessionBackendSync();
128
+ const sessionName = orchestratorStatus?.sessionName || CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME;
129
+ childProcessAlive = !!sessionBackend?.isChildProcessAlive?.(sessionName);
130
+ }
131
+ catch {
132
+ // Ignore check errors
133
+ }
134
+ if (childProcessAlive) {
135
+ // Best-effort: persist the recovered status but return active regardless
136
+ try {
137
+ const storageServiceForRecovery = StorageService.getInstance();
138
+ const recoverySessionName = orchestratorStatus?.sessionName || CREWLY_CONSTANTS.SESSIONS.ORCHESTRATOR_NAME;
139
+ await storageServiceForRecovery.updateAgentStatus(recoverySessionName, CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE);
140
+ }
141
+ catch {
142
+ // Best-effort — don't let persist failure block recovery
143
+ }
144
+ return {
145
+ isActive: true,
146
+ agentStatus: CREWLY_CONSTANTS.AGENT_STATUSES.ACTIVE,
147
+ message: 'Orchestrator is active and ready (status recovered).',
148
+ };
149
+ }
150
+ }
120
151
  // If session exists but status is not active/started, it may be initializing
121
152
  if (sessionExists) {
122
153
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator-status.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-status.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator-status.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/orchestrator/orchestrator-status.service.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,19 @@ export interface RuntimeAdapter {
121
121
  * @returns True if the runtime is detected as running
122
122
  */
123
123
  detectRuntime(sessionName: string): Promise<boolean>;
124
+ /**
125
+ * Trigger context window compaction for a session.
126
+ *
127
+ * Sends the runtime-specific compact/compress command to reduce context usage.
128
+ * Each runtime handles this differently:
129
+ * - Claude Code: `/compact` — LLM-based summarization
130
+ * - Gemini CLI: `/compress` — summarizer persona with context snapshots
131
+ * - Codex CLI: `/compact` — server-side opaque compaction
132
+ *
133
+ * @param sessionName - Name of the session to compact
134
+ * @returns True if the compact command was sent successfully
135
+ */
136
+ compact(sessionName: string): Promise<boolean>;
124
137
  }
125
138
  /**
126
139
  * Base adapter that delegates to the existing RuntimeAgentService and ISessionBackend.
@@ -157,6 +170,13 @@ declare abstract class BaseRuntimeAdapter implements RuntimeAdapter {
157
170
  waitForReady(sessionName: string, timeout?: number): Promise<boolean>;
158
171
  /** @inheritdoc */
159
172
  detectRuntime(sessionName: string): Promise<boolean>;
173
+ /**
174
+ * Send the runtime-specific compact command to the session.
175
+ *
176
+ * @param sessionName - Name of the session to compact
177
+ * @returns True if the compact command was sent successfully
178
+ */
179
+ compact(sessionName: string): Promise<boolean>;
160
180
  }
161
181
  /**
162
182
  * Adapter for Anthropic's Claude Code CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../../../../backend/src/services/runtime-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-adapter.d.ts","sourceRoot":"","sources":["../../../../../backend/src/services/runtime-adapter.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * @module services/runtime-adapter
12
12
  */
13
- import { RUNTIME_TYPES } from '../constants.js';
13
+ import { RUNTIME_TYPES, RUNTIME_COMPACT_COMMANDS } from '../constants.js';
14
14
  import { RuntimeServiceFactory } from './agent/runtime-service.factory.js';
15
15
  import { getSessionBackendSync, createSessionCommandHelper, } from './session/index.js';
16
16
  // ========================= Base Adapter =========================
@@ -75,6 +75,27 @@ class BaseRuntimeAdapter {
75
75
  async detectRuntime(sessionName) {
76
76
  return this.runtimeService.detectRuntimeWithCommand(sessionName, true);
77
77
  }
78
+ /**
79
+ * Send the runtime-specific compact command to the session.
80
+ *
81
+ * @param sessionName - Name of the session to compact
82
+ * @returns True if the compact command was sent successfully
83
+ */
84
+ async compact(sessionName) {
85
+ if (!this.sessionBackend.sessionExists(sessionName)) {
86
+ return false;
87
+ }
88
+ const command = RUNTIME_COMPACT_COMMANDS[this.runtimeType];
89
+ if (!command) {
90
+ return false;
91
+ }
92
+ const session = this.sessionBackend.getSession(sessionName);
93
+ if (!session) {
94
+ return false;
95
+ }
96
+ session.write(command + '\r');
97
+ return true;
98
+ }
78
99
  }
79
100
  // ========================= Concrete Adapters =========================
80
101
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-adapter.js","sourceRoot":"","sources":["../../../../../backend/src/services/runtime-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-adapter.js","sourceRoot":"","sources":["../../../../../backend/src/services/runtime-adapter.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,10 @@ export declare class PtySessionBackend implements ISessionBackend {
46
46
  * Map of session names to PtyTerminalBuffer instances
47
47
  */
48
48
  private terminalBuffers;
49
+ /**
50
+ * Map of session names to cumulative output bytes since last compact
51
+ */
52
+ private cumulativeOutputBytes;
49
53
  /**
50
54
  * Logger for this backend
51
55
  */
@@ -128,6 +132,21 @@ export declare class PtySessionBackend implements ISessionBackend {
128
132
  * ```
129
133
  */
130
134
  sessionExists(name: string): boolean;
135
+ /**
136
+ * Get the cumulative output bytes for a session since last reset.
137
+ * Used by ContextWindowMonitorService for proactive compaction.
138
+ *
139
+ * @param name - Name of the session
140
+ * @returns Cumulative output bytes, or 0 if session not tracked
141
+ */
142
+ getCumulativeOutputBytes(name: string): number;
143
+ /**
144
+ * Reset the cumulative output byte counter for a session.
145
+ * Called after a proactive compact is triggered.
146
+ *
147
+ * @param name - Name of the session
148
+ */
149
+ resetCumulativeOutput(name: string): void;
131
150
  /**
132
151
  * Capture recent output from a session.
133
152
  *
@@ -1 +1 @@
1
- {"version":3,"file":"pty-session-backend.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACxD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAsC;IAEtD;;OAEG;IACH,OAAO,CAAC,eAAe,CAA6C;IAEpE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;OAEG;;IAMH;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+C7E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI9C;;;;;;;;;;OAUG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C;;;;;;;;;;OAUG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM;IAShD;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASnC;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAc7B;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;;;;;;;;;;;;;OAcG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAyDtC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ1C;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgB7D;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC;;;;;OAKG;IACH,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CAGtE"}
1
+ {"version":3,"file":"pty-session-backend.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAK7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACxD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAsC;IAEtD;;OAEG;IACH,OAAO,CAAC,eAAe,CAA6C;IAEpE;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAAkC;IAE/D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAkB;IAEhC;;OAEG;;IAMH;;;;;;;;;;;;;;;;;;;OAmBG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmD7E;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI9C;;;;;;;;;;OAUG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB9C;;;;;;;;;;OAUG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpC;;;;;;OAMG;IACH,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9C;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM;IAShD;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASnC;;;;;;;;;;OAUG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAc7B;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B;;;;;;;;;;;;;;OAcG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DtC;;;;;;;;OAQG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQ1C;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;;;OAOG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAgB7D;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASvC;;;;;OAKG;IACH,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;CAGtE"}
@@ -50,6 +50,10 @@ export class PtySessionBackend {
50
50
  * Map of session names to PtyTerminalBuffer instances
51
51
  */
52
52
  terminalBuffers = new Map();
53
+ /**
54
+ * Map of session names to cumulative output bytes since last compact
55
+ */
56
+ cumulativeOutputBytes = new Map();
53
57
  /**
54
58
  * Logger for this backend
55
59
  */
@@ -83,7 +87,8 @@ export class PtySessionBackend {
83
87
  */
84
88
  async createSession(name, options) {
85
89
  if (this.sessions.has(name)) {
86
- throw new Error(`Session '${name}' already exists`);
90
+ this.logger.warn('Session already exists, killing before recreation', { name });
91
+ await this.killSession(name);
87
92
  }
88
93
  this.logger.info('Creating PTY session', {
89
94
  name,
@@ -101,7 +106,10 @@ export class PtySessionBackend {
101
106
  // no WebSocket client is viewing the terminal UI.
102
107
  session.onData((data) => {
103
108
  terminalBuffer.write(data);
104
- PtyActivityTrackerService.getInstance().recordActivity(name);
109
+ PtyActivityTrackerService.getInstance().recordFilteredActivity(name, data);
110
+ // Track cumulative output for proactive compact triggering
111
+ const current = this.cumulativeOutputBytes.get(name) ?? 0;
112
+ this.cumulativeOutputBytes.set(name, current + data.length);
105
113
  });
106
114
  // Clean up on session exit
107
115
  session.onExit((code) => {
@@ -159,6 +167,7 @@ export class PtySessionBackend {
159
167
  terminalBuffer.dispose();
160
168
  this.terminalBuffers.delete(name);
161
169
  }
170
+ this.cumulativeOutputBytes.delete(name);
162
171
  this.logger.debug('Session resources cleaned up', { name });
163
172
  }
164
173
  /**
@@ -191,6 +200,25 @@ export class PtySessionBackend {
191
200
  sessionExists(name) {
192
201
  return this.sessions.has(name);
193
202
  }
203
+ /**
204
+ * Get the cumulative output bytes for a session since last reset.
205
+ * Used by ContextWindowMonitorService for proactive compaction.
206
+ *
207
+ * @param name - Name of the session
208
+ * @returns Cumulative output bytes, or 0 if session not tracked
209
+ */
210
+ getCumulativeOutputBytes(name) {
211
+ return this.cumulativeOutputBytes.get(name) ?? 0;
212
+ }
213
+ /**
214
+ * Reset the cumulative output byte counter for a session.
215
+ * Called after a proactive compact is triggered.
216
+ *
217
+ * @param name - Name of the session
218
+ */
219
+ resetCumulativeOutput(name) {
220
+ this.cumulativeOutputBytes.set(name, 0);
221
+ }
194
222
  /**
195
223
  * Capture recent output from a session.
196
224
  *
@@ -359,6 +387,7 @@ export class PtySessionBackend {
359
387
  }
360
388
  this.sessions.clear();
361
389
  this.terminalBuffers.clear();
390
+ this.cumulativeOutputBytes.clear();
362
391
  this.logger.info('Force-destroyed all PTY sessions');
363
392
  }
364
393
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"pty-session-backend.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-session-backend.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"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"}
@@ -316,6 +316,20 @@ export interface ISessionBackend {
316
316
  * ```
317
317
  */
318
318
  getRawHistory(name: string): string;
319
+ /**
320
+ * Get the cumulative output bytes for a session since last reset.
321
+ * Used for proactive context window compaction.
322
+ *
323
+ * @param name - Name of the session
324
+ * @returns Cumulative output bytes, or 0 if not tracked
325
+ */
326
+ getCumulativeOutputBytes?(name: string): number;
327
+ /**
328
+ * Reset the cumulative output byte counter for a session.
329
+ *
330
+ * @param name - Name of the session
331
+ */
332
+ resetCumulativeOutput?(name: string): void;
319
333
  /**
320
334
  * Check if a child process is alive inside a session's PTY shell.
321
335
  *