crewly 1.6.5 → 1.8.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.
Files changed (338) hide show
  1. package/config/constants.ts +2 -0
  2. package/config/roles/auditor/prompt.md +24 -0
  3. package/config/roles/developer/prompt.md +2 -1
  4. package/config/roles/orchestrator/prompt.md +118 -2
  5. package/config/roles/team-leader/prompt.md +6 -0
  6. package/config/skills/agent/core/create-request/SKILL.md +1 -1
  7. package/config/skills/agent/core/create-request/execute.sh +29 -2
  8. package/config/skills/agent/core/create-request/execute.test.sh +168 -0
  9. package/config/skills/agent/core/report-status/SKILL.md +8 -1
  10. package/config/skills/agent/core/report-status/execute.sh +23 -1
  11. package/config/skills/orchestrator/heartbeat/execute.sh +48 -6
  12. package/config/sops/common/mid-flight-milestone-surface.md +128 -0
  13. package/config/sops/common/owner-facing-communication.md +46 -2
  14. package/config/sops/developer/git-workflow.md +33 -0
  15. package/dist/backend/backend/src/constants.d.ts +13 -0
  16. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  17. package/dist/backend/backend/src/constants.js +12 -0
  18. package/dist/backend/backend/src/constants.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/browser/browser.controller.js +2 -2
  20. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  22. package/dist/backend/backend/src/controllers/chat/chat.controller.js +6 -0
  23. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  24. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts +73 -0
  25. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  26. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +128 -0
  27. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  28. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts +3 -0
  29. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.d.ts.map +1 -1
  30. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js +8 -0
  31. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.routes.js.map +1 -1
  32. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  33. package/dist/backend/backend/src/controllers/session/session.controller.js +50 -8
  34. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  35. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  36. package/dist/backend/backend/src/controllers/slack/slack.controller.js +215 -94
  37. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  38. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  39. package/dist/backend/backend/src/controllers/team/team.controller.js +27 -0
  40. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  41. package/dist/backend/backend/src/index.d.ts +1 -0
  42. package/dist/backend/backend/src/index.d.ts.map +1 -1
  43. package/dist/backend/backend/src/index.js +201 -37
  44. package/dist/backend/backend/src/index.js.map +1 -1
  45. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  46. package/dist/backend/backend/src/routes/api.routes.js +11 -1
  47. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  48. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +45 -3
  49. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  50. package/dist/backend/backend/src/services/agent/agent-registration.service.js +219 -7
  51. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  52. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +61 -1
  53. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  54. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +117 -9
  55. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  56. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts +44 -0
  57. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +179 -10
  59. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  60. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts +6 -6
  61. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js +3 -3
  63. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-runtime-registry.js.map +1 -1
  64. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +7 -1
  65. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  67. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +33 -0
  68. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/agent/idle-detection.service.js +108 -4
  70. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/agent/runtime-service.factory.js +4 -4
  72. package/dist/backend/backend/src/services/agent/runtime-service.factory.js.map +1 -1
  73. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +1 -1
  74. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  75. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +40 -2
  76. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  77. package/dist/backend/backend/src/services/chat/chat.service.d.ts +48 -331
  78. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  79. package/dist/backend/backend/src/services/chat/chat.service.js +261 -712
  80. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  81. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +82 -1
  82. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  83. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +120 -2
  84. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  85. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts +114 -0
  86. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.d.ts.map +1 -0
  87. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js +182 -0
  88. package/dist/backend/backend/src/services/chat-v2/chat-v2.providers.js.map +1 -0
  89. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts +188 -0
  90. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts.map +1 -0
  91. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js +434 -0
  92. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js.map +1 -0
  93. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +401 -5
  94. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  95. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +619 -3
  96. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  97. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts +93 -0
  98. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.d.ts.map +1 -0
  99. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js +138 -0
  100. package/dist/backend/backend/src/services/chat-v2/legacy-dto.utils.js.map +1 -0
  101. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +46 -0
  102. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
  103. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +75 -0
  104. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
  105. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts +10 -2
  106. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.d.ts.map +1 -1
  107. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js +178 -10
  108. package/dist/backend/backend/src/services/chat-v2/sqlite/chat-db.js.map +1 -1
  109. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +37 -0
  110. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  111. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +71 -0
  112. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  113. package/dist/backend/backend/src/services/chat-v2/types.d.ts +33 -1
  114. package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
  115. package/dist/backend/backend/src/services/chat-v2/types.js +1 -1
  116. package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
  117. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +22 -0
  118. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  119. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +71 -1
  120. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  121. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +102 -1
  122. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  123. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js +61 -0
  124. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  125. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts +21 -3
  126. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js +47 -13
  128. package/dist/backend/backend/src/services/cloud/device-auto-discovery.service.js.map +1 -1
  129. package/dist/backend/backend/src/services/core/system-health.util.d.ts +25 -4
  130. package/dist/backend/backend/src/services/core/system-health.util.d.ts.map +1 -1
  131. package/dist/backend/backend/src/services/core/system-health.util.js +30 -5
  132. package/dist/backend/backend/src/services/core/system-health.util.js.map +1 -1
  133. package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  134. package/dist/backend/backend/src/services/event-bus/event-bus.service.js +22 -11
  135. package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  136. package/dist/backend/backend/src/services/mcp-server.d.ts.map +1 -1
  137. package/dist/backend/backend/src/services/mcp-server.js +5 -0
  138. package/dist/backend/backend/src/services/mcp-server.js.map +1 -1
  139. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts +4 -0
  140. package/dist/backend/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  141. package/dist/backend/backend/src/services/mcp-tool-definitions.js +12 -1
  142. package/dist/backend/backend/src/services/mcp-tool-definitions.js.map +1 -1
  143. package/dist/backend/backend/src/services/memory/capability-inference.d.ts +73 -0
  144. package/dist/backend/backend/src/services/memory/capability-inference.d.ts.map +1 -0
  145. package/dist/backend/backend/src/services/memory/capability-inference.js +115 -0
  146. package/dist/backend/backend/src/services/memory/capability-inference.js.map +1 -0
  147. package/dist/backend/backend/src/services/memory/memory.service.d.ts +22 -1
  148. package/dist/backend/backend/src/services/memory/memory.service.d.ts.map +1 -1
  149. package/dist/backend/backend/src/services/memory/memory.service.js +81 -3
  150. package/dist/backend/backend/src/services/memory/memory.service.js.map +1 -1
  151. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts +25 -1
  152. package/dist/backend/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  153. package/dist/backend/backend/src/services/memory/project-memory.service.js +43 -0
  154. package/dist/backend/backend/src/services/memory/project-memory.service.js.map +1 -1
  155. package/dist/backend/backend/src/services/memory/task-history-seeder.d.ts +47 -0
  156. package/dist/backend/backend/src/services/memory/task-history-seeder.d.ts.map +1 -0
  157. package/dist/backend/backend/src/services/memory/task-history-seeder.js +89 -0
  158. package/dist/backend/backend/src/services/memory/task-history-seeder.js.map +1 -0
  159. package/dist/backend/backend/src/services/memory/task-history.subscriber.d.ts +76 -0
  160. package/dist/backend/backend/src/services/memory/task-history.subscriber.d.ts.map +1 -0
  161. package/dist/backend/backend/src/services/memory/task-history.subscriber.js +199 -0
  162. package/dist/backend/backend/src/services/memory/task-history.subscriber.js.map +1 -0
  163. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts +2 -4
  164. package/dist/backend/backend/src/services/messaging/message-replay.service.d.ts.map +1 -1
  165. package/dist/backend/backend/src/services/messaging/message-replay.service.js +22 -12
  166. package/dist/backend/backend/src/services/messaging/message-replay.service.js.map +1 -1
  167. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  168. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +25 -5
  169. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  170. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
  171. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +13 -3
  172. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
  173. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts +99 -0
  174. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.d.ts.map +1 -0
  175. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js +225 -0
  176. package/dist/backend/backend/src/services/notification/milestone-notification.subscriber.js.map +1 -0
  177. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts +39 -18
  178. package/dist/backend/backend/src/services/reconciler/reconcile-rules.d.ts.map +1 -1
  179. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js +60 -32
  180. package/dist/backend/backend/src/services/reconciler/reconcile-rules.js.map +1 -1
  181. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts +134 -0
  182. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  183. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +416 -13
  184. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  185. package/dist/backend/backend/src/services/reconciler/reconciler.service.d.ts.map +1 -1
  186. package/dist/backend/backend/src/services/reconciler/reconciler.service.js +73 -7
  187. package/dist/backend/backend/src/services/reconciler/reconciler.service.js.map +1 -1
  188. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  189. package/dist/backend/backend/src/services/session/session-handoff.service.js +30 -4
  190. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  191. package/dist/backend/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  192. package/dist/backend/backend/src/services/skill/skill-executor.service.js +13 -1
  193. package/dist/backend/backend/src/services/skill/skill-executor.service.js.map +1 -1
  194. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.d.ts.map +1 -1
  195. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js +9 -6
  196. package/dist/backend/backend/src/services/slack/notify-reconciliation.service.js.map +1 -1
  197. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +21 -2
  198. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  199. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +120 -46
  200. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  201. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  202. package/dist/backend/backend/src/services/slack/slack.service.js +49 -0
  203. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  204. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +33 -2
  205. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  206. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +160 -8
  207. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  208. package/dist/backend/backend/src/services/v3/cascade-request-status.d.ts.map +1 -1
  209. package/dist/backend/backend/src/services/v3/cascade-request-status.js +55 -2
  210. package/dist/backend/backend/src/services/v3/cascade-request-status.js.map +1 -1
  211. package/dist/backend/backend/src/services/v3/mission-executor.service.d.ts.map +1 -1
  212. package/dist/backend/backend/src/services/v3/mission-executor.service.js +9 -1
  213. package/dist/backend/backend/src/services/v3/mission-executor.service.js.map +1 -1
  214. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -1
  215. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +28 -3
  216. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -1
  217. package/dist/backend/backend/src/services/v3/request-sla.subscriber.d.ts.map +1 -1
  218. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js +5 -2
  219. package/dist/backend/backend/src/services/v3/request-sla.subscriber.js.map +1 -1
  220. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts.map +1 -1
  221. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +57 -15
  222. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
  223. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +39 -0
  224. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  225. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +81 -0
  226. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  227. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +17 -1
  228. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  229. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +22 -3
  230. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  231. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts +1 -1
  232. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.d.ts.map +1 -1
  233. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js +26 -10
  234. package/dist/backend/backend/src/services/whatsapp/whatsapp-orchestrator-bridge.js.map +1 -1
  235. package/dist/backend/backend/src/services/workflow/cron-task.service.d.ts.map +1 -1
  236. package/dist/backend/backend/src/services/workflow/cron-task.service.js +68 -5
  237. package/dist/backend/backend/src/services/workflow/cron-task.service.js.map +1 -1
  238. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts +44 -0
  239. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.d.ts.map +1 -0
  240. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js +57 -0
  241. package/dist/backend/backend/src/services/workflow/team-identifier-resolver.js.map +1 -0
  242. package/dist/backend/backend/src/types/credential.types.d.ts +17 -1
  243. package/dist/backend/backend/src/types/credential.types.d.ts.map +1 -1
  244. package/dist/backend/backend/src/types/credential.types.js +15 -5
  245. package/dist/backend/backend/src/types/credential.types.js.map +1 -1
  246. package/dist/backend/backend/src/types/cron-task.types.d.ts +17 -0
  247. package/dist/backend/backend/src/types/cron-task.types.d.ts.map +1 -1
  248. package/dist/backend/backend/src/types/event-bus.types.d.ts +1 -1
  249. package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
  250. package/dist/backend/backend/src/types/event-bus.types.js +12 -0
  251. package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
  252. package/dist/backend/backend/src/types/intent-task.types.d.ts +10 -13
  253. package/dist/backend/backend/src/types/intent-task.types.d.ts.map +1 -1
  254. package/dist/backend/backend/src/types/intent-task.types.js +4 -1
  255. package/dist/backend/backend/src/types/intent-task.types.js.map +1 -1
  256. package/dist/backend/backend/src/types/memory.types.d.ts +94 -1
  257. package/dist/backend/backend/src/types/memory.types.d.ts.map +1 -1
  258. package/dist/backend/backend/src/types/memory.types.js.map +1 -1
  259. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +23 -0
  260. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  261. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  262. package/dist/backend/backend/src/utils/team.utils.d.ts +3 -1
  263. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  264. package/dist/backend/backend/src/utils/team.utils.js +26 -5
  265. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  266. package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts +23 -0
  267. package/dist/backend/backend/src/websocket/chat-v2.gateway.d.ts.map +1 -1
  268. package/dist/backend/backend/src/websocket/chat-v2.gateway.js +56 -7
  269. package/dist/backend/backend/src/websocket/chat-v2.gateway.js.map +1 -1
  270. package/dist/backend/backend/src/websocket/chat.gateway.d.ts +19 -4
  271. package/dist/backend/backend/src/websocket/chat.gateway.d.ts.map +1 -1
  272. package/dist/backend/backend/src/websocket/chat.gateway.js +78 -63
  273. package/dist/backend/backend/src/websocket/chat.gateway.js.map +1 -1
  274. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  275. package/dist/backend/backend/src/websocket/terminal.gateway.js +10 -2
  276. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  277. package/dist/backend/config/constants.d.ts +2 -0
  278. package/dist/backend/config/constants.d.ts.map +1 -1
  279. package/dist/backend/config/constants.js +2 -0
  280. package/dist/backend/config/constants.js.map +1 -1
  281. package/dist/backend/config/index.d.ts +1 -0
  282. package/dist/backend/config/index.d.ts.map +1 -1
  283. package/dist/cli/backend/src/constants.d.ts +13 -0
  284. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  285. package/dist/cli/backend/src/constants.js +12 -0
  286. package/dist/cli/backend/src/constants.js.map +1 -1
  287. package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
  288. package/dist/cli/backend/src/services/event-bus/event-bus.service.js +22 -11
  289. package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
  290. package/dist/cli/backend/src/services/mcp-server.d.ts.map +1 -1
  291. package/dist/cli/backend/src/services/mcp-server.js +5 -0
  292. package/dist/cli/backend/src/services/mcp-server.js.map +1 -1
  293. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts +4 -0
  294. package/dist/cli/backend/src/services/mcp-tool-definitions.d.ts.map +1 -1
  295. package/dist/cli/backend/src/services/mcp-tool-definitions.js +12 -1
  296. package/dist/cli/backend/src/services/mcp-tool-definitions.js.map +1 -1
  297. package/dist/cli/backend/src/services/memory/memory.service.d.ts +22 -1
  298. package/dist/cli/backend/src/services/memory/memory.service.d.ts.map +1 -1
  299. package/dist/cli/backend/src/services/memory/memory.service.js +81 -3
  300. package/dist/cli/backend/src/services/memory/memory.service.js.map +1 -1
  301. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts +25 -1
  302. package/dist/cli/backend/src/services/memory/project-memory.service.d.ts.map +1 -1
  303. package/dist/cli/backend/src/services/memory/project-memory.service.js +43 -0
  304. package/dist/cli/backend/src/services/memory/project-memory.service.js.map +1 -1
  305. package/dist/cli/backend/src/services/skill/skill-executor.service.d.ts.map +1 -1
  306. package/dist/cli/backend/src/services/skill/skill-executor.service.js +13 -1
  307. package/dist/cli/backend/src/services/skill/skill-executor.service.js.map +1 -1
  308. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +33 -2
  309. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  310. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +160 -8
  311. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  312. package/dist/cli/backend/src/types/credential.types.d.ts +17 -1
  313. package/dist/cli/backend/src/types/credential.types.d.ts.map +1 -1
  314. package/dist/cli/backend/src/types/credential.types.js +15 -5
  315. package/dist/cli/backend/src/types/credential.types.js.map +1 -1
  316. package/dist/cli/backend/src/types/event-bus.types.d.ts +1 -1
  317. package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
  318. package/dist/cli/backend/src/types/event-bus.types.js +12 -0
  319. package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
  320. package/dist/cli/backend/src/types/memory.types.d.ts +94 -1
  321. package/dist/cli/backend/src/types/memory.types.d.ts.map +1 -1
  322. package/dist/cli/backend/src/types/memory.types.js.map +1 -1
  323. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +23 -0
  324. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  325. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  326. package/dist/cli/cli/src/commands/start.js +73 -12
  327. package/dist/cli/cli/src/commands/start.js.map +1 -1
  328. package/dist/cli/config/constants.d.ts +2 -0
  329. package/dist/cli/config/constants.d.ts.map +1 -1
  330. package/dist/cli/config/constants.js +2 -0
  331. package/dist/cli/config/constants.js.map +1 -1
  332. package/dist/cli/config/index.d.ts +1 -0
  333. package/dist/cli/config/index.d.ts.map +1 -1
  334. package/frontend/dist/assets/index-b279da34.js +4926 -0
  335. package/frontend/dist/assets/{index-b7e59b2b.css → index-c07e04c0.css} +2 -2
  336. package/frontend/dist/index.html +2 -2
  337. package/package.json +1 -1
  338. package/frontend/dist/assets/index-698305f3.js +0 -5228
@@ -69,7 +69,67 @@ export declare class AgentRunnerService {
69
69
  private modelManager;
70
70
  private apiClient;
71
71
  private model;
72
- private state;
72
+ /**
73
+ * Per-conversation state map. Each Slack thread (or web chat
74
+ * conversation) gets its own `ConversationState` so the LLM
75
+ * context is isolated — messages from thread A never leak into
76
+ * the prompt when responding to thread B. The conversation key
77
+ * is the chat-v2 channel id (e.g. `slack-D0AC7-1777760999-956969`)
78
+ * derived from the inbound message's `[CHAT:xxx]` marker, the
79
+ * `[SLACK:channel:threadTs]` marker, or — if neither is present
80
+ * — the literal `__default__` for runtime cases like REPL or
81
+ * scheduled-check inputs that have no thread identity.
82
+ *
83
+ * 2026-05-15 fix per goal: "一个 Slack thread 代表一个 chat
84
+ * thread, 不同 Slack thread 之间不会串联在一起."
85
+ */
86
+ private conversationStates;
87
+ /**
88
+ * Active conversation key for the message currently being
89
+ * processed. `processQueue` sets this before each `executeRun`
90
+ * so the getter `this.state` resolves to the right per-thread
91
+ * state without every call site needing to know about the map.
92
+ */
93
+ private currentConversationKey;
94
+ /**
95
+ * Effective system prompt — captured at construction time and
96
+ * applied to every fresh per-conversation state created on
97
+ * demand. Held on the instance so `getOrCreateState` doesn't
98
+ * need to recompute the eval-mode stripping logic.
99
+ */
100
+ private readonly effectiveSystemPrompt;
101
+ /**
102
+ * Soft cap on how many distinct conversation states we hold in
103
+ * memory. When exceeded, the least-recently-active state is
104
+ * evicted (its messages live on in chat-v2 SQLite so the next
105
+ * access can re-hydrate). Prevents unbounded growth when a busy
106
+ * agent participates in thousands of Slack threads over time.
107
+ */
108
+ private readonly MAX_LIVE_CONVERSATIONS;
109
+ /**
110
+ * Backward-compatible getter: every existing `this.state.X`
111
+ * call site automatically routes to the active per-conversation
112
+ * state. Lazy-creates a fresh state on first access for a new
113
+ * conversation key.
114
+ */
115
+ private get state();
116
+ /**
117
+ * Look up or create the ConversationState for a given key.
118
+ * Evicts the least-recently-active state when the live-set
119
+ * size exceeds {@link MAX_LIVE_CONVERSATIONS}.
120
+ *
121
+ * @param key - Conversation key (chat-v2 channel id or `__default__`)
122
+ * @returns The per-conversation state object
123
+ */
124
+ private getOrCreateConversationState;
125
+ /**
126
+ * Test / introspection helper — number of active conversation
127
+ * states the runner currently holds. Surfaces in
128
+ * `getConversationStatus` for observability.
129
+ *
130
+ * @returns Number of live per-conversation states
131
+ */
132
+ getConversationCount(): number;
73
133
  private processing;
74
134
  private messageQueue;
75
135
  private auditLog;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { McpClientService } from '../../mcp-client.js';
18
18
  import { connectAndLoadMcpTools } from './mcp-tool-bridge.js';
19
19
  import { ApprovalQueueService } from './approval-queue.service.js';
20
20
  import { OutputFilterService } from './output-filter.service.js';
21
+ import { synthesizeSlackConversationId } from '../../chat-v2/legacy-dto.utils.js';
21
22
  import { CREWLY_AGENT_DEFAULTS, WRITE_TOOLS, MODEL_CONTEXT_WINDOWS, resolveMaxOutputTokens, } from './types.js';
22
23
  /**
23
24
  * Fingerprint a tool call for comparison: deterministic JSON of name + args.
@@ -111,7 +112,102 @@ export class AgentRunnerService {
111
112
  modelManager;
112
113
  apiClient;
113
114
  model = null;
114
- state;
115
+ /**
116
+ * Per-conversation state map. Each Slack thread (or web chat
117
+ * conversation) gets its own `ConversationState` so the LLM
118
+ * context is isolated — messages from thread A never leak into
119
+ * the prompt when responding to thread B. The conversation key
120
+ * is the chat-v2 channel id (e.g. `slack-D0AC7-1777760999-956969`)
121
+ * derived from the inbound message's `[CHAT:xxx]` marker, the
122
+ * `[SLACK:channel:threadTs]` marker, or — if neither is present
123
+ * — the literal `__default__` for runtime cases like REPL or
124
+ * scheduled-check inputs that have no thread identity.
125
+ *
126
+ * 2026-05-15 fix per goal: "一个 Slack thread 代表一个 chat
127
+ * thread, 不同 Slack thread 之间不会串联在一起."
128
+ */
129
+ conversationStates = new Map();
130
+ /**
131
+ * Active conversation key for the message currently being
132
+ * processed. `processQueue` sets this before each `executeRun`
133
+ * so the getter `this.state` resolves to the right per-thread
134
+ * state without every call site needing to know about the map.
135
+ */
136
+ currentConversationKey = '__default__';
137
+ /**
138
+ * Effective system prompt — captured at construction time and
139
+ * applied to every fresh per-conversation state created on
140
+ * demand. Held on the instance so `getOrCreateState` doesn't
141
+ * need to recompute the eval-mode stripping logic.
142
+ */
143
+ effectiveSystemPrompt;
144
+ /**
145
+ * Soft cap on how many distinct conversation states we hold in
146
+ * memory. When exceeded, the least-recently-active state is
147
+ * evicted (its messages live on in chat-v2 SQLite so the next
148
+ * access can re-hydrate). Prevents unbounded growth when a busy
149
+ * agent participates in thousands of Slack threads over time.
150
+ */
151
+ MAX_LIVE_CONVERSATIONS = 100;
152
+ /**
153
+ * Backward-compatible getter: every existing `this.state.X`
154
+ * call site automatically routes to the active per-conversation
155
+ * state. Lazy-creates a fresh state on first access for a new
156
+ * conversation key.
157
+ */
158
+ get state() {
159
+ return this.getOrCreateConversationState(this.currentConversationKey);
160
+ }
161
+ /**
162
+ * Look up or create the ConversationState for a given key.
163
+ * Evicts the least-recently-active state when the live-set
164
+ * size exceeds {@link MAX_LIVE_CONVERSATIONS}.
165
+ *
166
+ * @param key - Conversation key (chat-v2 channel id or `__default__`)
167
+ * @returns The per-conversation state object
168
+ */
169
+ getOrCreateConversationState(key) {
170
+ let s = this.conversationStates.get(key);
171
+ if (!s) {
172
+ s = {
173
+ messages: [],
174
+ systemPrompt: this.effectiveSystemPrompt,
175
+ totalTokens: { input: 0, output: 0 },
176
+ createdAt: new Date(),
177
+ lastActivityAt: new Date(),
178
+ };
179
+ this.conversationStates.set(key, s);
180
+ // LRU eviction — pop the oldest by `lastActivityAt`. Map
181
+ // preserves insertion order but we want recency, so scan
182
+ // once on overflow rather than maintain a separate index.
183
+ if (this.conversationStates.size > this.MAX_LIVE_CONVERSATIONS) {
184
+ let evictKey = null;
185
+ let evictedAt = Infinity;
186
+ for (const [k, v] of this.conversationStates) {
187
+ if (k === key)
188
+ continue;
189
+ const t = v.lastActivityAt.getTime();
190
+ if (t < evictedAt) {
191
+ evictedAt = t;
192
+ evictKey = k;
193
+ }
194
+ }
195
+ if (evictKey !== null)
196
+ this.conversationStates.delete(evictKey);
197
+ }
198
+ }
199
+ return s;
200
+ }
201
+ /**
202
+ * Test / introspection helper — number of active conversation
203
+ * states the runner currently holds. Surfaces in
204
+ * `getConversationStatus` for observability.
205
+ *
206
+ * @returns Number of live per-conversation states
207
+ */
208
+ getConversationCount() {
209
+ return this.conversationStates.size;
210
+ }
115
211
  processing = false;
116
212
  messageQueue = [];
117
213
  auditLog = [];
@@ -152,16 +248,13 @@ export class AgentRunnerService {
152
248
  this.apiClient = apiClient || new CrewlyApiClient(config.apiBaseUrl, config.sessionName);
153
249
  this.securityPolicy = { ...CREWLY_AGENT_DEFAULTS.SECURITY_POLICY };
154
250
  // In eval mode, strip delegation-first instructions so agent implements directly
155
- const effectivePrompt = config.evalMode
251
+ this.effectiveSystemPrompt = config.evalMode
156
252
  ? AgentRunnerService.stripDelegationInstructions(config.systemPrompt)
157
253
  : config.systemPrompt;
158
- this.state = {
159
- messages: [],
160
- systemPrompt: effectivePrompt,
161
- totalTokens: { input: 0, output: 0 },
162
- createdAt: new Date(),
163
- lastActivityAt: new Date(),
164
- };
254
+ // Conversation states are lazy-created on first access via the
255
+ // `state` getter, so we don't need to seed `__default__` here.
256
+ // The first message processed will create whichever conversation
257
+ // it targets.
165
258
  }
166
259
  // ---------------------------------------------------------------------------
167
260
  // Eval Mode: Delegation Stripping (P1)
@@ -493,6 +586,21 @@ export class AgentRunnerService {
493
586
  threadTs: item.metadata.threadTs,
494
587
  };
495
588
  }
589
+ // 2026-05-15 thread isolation: pick the per-conversation
590
+ // state for this message so the LLM sees only this thread's
591
+ // history. Prefer the explicit conversationId; for Slack
592
+ // inbound that has no conversationId yet (rare path), derive
593
+ // it from the channelId+threadTs marker using the same
594
+ // `slack-${channelId}-${threadTs}` shape persistSlackInbound
595
+ // and `/slack/send` use, so chat-v2 channel ids and runner
596
+ // conversation keys stay aligned. Fall back to `__default__`
597
+ // for runtime-internal messages (scheduled checks, system
598
+ // events) that have no thread identity.
599
+ const resolvedConvKey = item.conversationId ??
600
+ (item.metadata?.channelId && item.metadata?.threadTs
601
+ ? synthesizeSlackConversationId(String(item.metadata.channelId), String(item.metadata.threadTs))
602
+ : this.lastKnownConversationId ?? '__default__');
603
+ this.currentConversationKey = resolvedConvKey;
496
604
  // Set streaming callbacks for this run
497
605
  this.streamingCallbacks = item.options?.streaming ?? {};
498
606
  const result = await this.tracing.withSpan(TRACING_CONSTANTS.SPANS.AGENT_RUN, {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,12 @@ export declare class CrewlyAgentExternalRuntimeService extends RuntimeAgentServi
29
29
  private pendingInitResolve;
30
30
  private pendingInitReject;
31
31
  private storedConfig;
32
+ /**
33
+ * Bound signal forwarder so we can register it on parent SIGINT/
34
+ * SIGTERM/SIGHUP and detach the same identity on shutdown. Null
35
+ * when no child is currently attached.
36
+ */
37
+ private signalForwarder;
32
38
  constructor(sessionHelper: SessionCommandHelper, projectRoot: string);
33
39
  protected getRuntimeType(): RuntimeType;
34
40
  protected detectRuntimeSpecific(_sessionName: string): Promise<boolean>;
@@ -42,7 +48,45 @@ export declare class CrewlyAgentExternalRuntimeService extends RuntimeAgentServi
42
48
  isReady(): boolean;
43
49
  shutdown(): void;
44
50
  private spawnAgentProcess;
51
+ /**
52
+ * Resolve the runtime command. Returns the bare binary name (no shell)
53
+ * by default, or, if the user has configured a custom shell command in
54
+ * settings, returns it with `useShell=true` after validating it against
55
+ * a strict allow-list.
56
+ *
57
+ * Allow-list rationale: a shell-ready command is anything matching the
58
+ * shape `<word>[ <flag-or-arg>]*` — no shell metacharacters like
59
+ * `;` `|` `&` `$` backticks. Anything richer is suspicious and is
60
+ * silently dropped (we fall back to the default binary). Settings are
61
+ * user-controlled in principle but flow through HTTP APIs, so we
62
+ * treat the value as semi-trusted input.
63
+ */
45
64
  private resolveRuntimeCommand;
65
+ /**
66
+ * Allow-list for custom runtime commands. Matches an executable path or
67
+ * name followed by space-separated flags/args, where each token is a
68
+ * combination of letters, digits, and the path-safe punctuation
69
+ * (`. _ / - = :`). Rejects anything containing shell control characters
70
+ * (`; | & $ \` < > ( ) { } [ ]`), newlines, or quotes.
71
+ */
72
+ private static readonly SAFE_SHELL_COMMAND_RE;
73
+ /**
74
+ * Find an executable on the engine's PATH. Returns the absolute path
75
+ * when found, or null when not. Async so we never block the event
76
+ * loop on slow disks. Exported behavior is "is `name` runnable?";
77
+ * we don't care which exact entry won the search.
78
+ */
79
+ private lookupOnPath;
80
+ /**
81
+ * Forward parent SIGINT/SIGTERM/SIGHUP to the spawned child so it gets
82
+ * a chance to flush + exit instead of being orphaned. Idempotent —
83
+ * calling more than once just replaces the previous listeners.
84
+ *
85
+ * Removes its own listeners on `handleExit` so old callbacks don't
86
+ * fire against a recycled `this.child` reference after a restart.
87
+ */
88
+ private attachSignalForwarders;
89
+ private detachSignalForwarders;
46
90
  private sendMessage;
47
91
  private handleStdout;
48
92
  private handleWorkerMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"crewly-agent-external-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAe,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAoB/B,qBAAa,iCAAkC,SAAQ,mBAAmB;IACxE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,iBAAiB,CAAmD;IAC5E,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,YAAY,CAAkC;gBAE1C,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAKpE,SAAS,CAAC,cAAc,IAAI,WAAW;cAIvB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAItC,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IA4BV,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA4ChG,OAAO,IAAI,OAAO;IAIlB,QAAQ,IAAI,IAAI;YAgCF,iBAAiB;YAgCjB,qBAAqB;IAanC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,kBAAkB;YAaZ,yBAAyB;IAavC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;YAOP,gBAAgB;IASxB,yBAAyB,CAAC,QAAQ,SAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;YA2B7D,wBAAwB;YAoBxB,mBAAmB;CA+BlC"}
1
+ {"version":3,"file":"crewly-agent-external-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAe,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAM9D,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAoB/B,qBAAa,iCAAkC,SAAQ,mBAAmB;IACxE,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,iBAAiB,CAAmD;IAC5E,OAAO,CAAC,gBAAgB,CAAyC;IACjE,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,YAAY,CAAkC;IACtD;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAmD;gBAE9D,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAKpE,SAAS,CAAC,cAAc,IAAI,WAAW;cAIvB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAItC,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3D,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IA4BV,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IA4ChG,OAAO,IAAI,OAAO;IAIlB,QAAQ,IAAI,IAAI;YA8CF,iBAAiB;IAyE/B;;;;;;;;;;;;OAYG;YACW,qBAAqB;IAuBnC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAmD;IAEhG;;;;;OAKG;YACW,YAAY;IAwB1B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAqBlB,OAAO,CAAC,kBAAkB;YAaZ,yBAAyB;IAavC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;YAOP,gBAAgB;IASxB,yBAAyB,CAAC,QAAQ,SAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;YA2B7D,wBAAwB;YAoBxB,mBAAmB;CA+BlC"}