crewly 1.20.106 → 1.20.107

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 (548) hide show
  1. package/README.md +22 -12
  2. package/config/constants.ts +43 -0
  3. package/config/index.ts +2 -0
  4. package/config/skills/_common/lib.sh +55 -2
  5. package/config/skills/_common/lib.test.sh +58 -1
  6. package/config/skills/_common/task-pool-body-shape.test.sh +60 -0
  7. package/config/skills/agent/core/cancel-followup/execute.sh +18 -3
  8. package/config/skills/agent/core/cancel-followup/execute.test.sh +73 -0
  9. package/config/skills/agent/core/complete-task/execute.sh +1 -1
  10. package/config/skills/agent/core/create-intent-tasks/execute.sh +1 -1
  11. package/config/skills/agent/core/create-task/SKILL.md +1 -0
  12. package/config/skills/agent/core/create-task/execute.sh +10 -0
  13. package/config/skills/agent/core/decompose-intent/execute.sh +1 -1
  14. package/config/skills/agent/core/handoff-task/execute.sh +1 -1
  15. package/config/skills/agent/core/list-my-followups/SKILL.md +1 -1
  16. package/config/skills/agent/core/list-my-followups/execute.sh +25 -3
  17. package/config/skills/agent/core/list-my-followups/execute.test.sh +72 -0
  18. package/config/skills/agent/core/poll-tasks/execute.sh +3 -3
  19. package/config/skills/agent/core/reply-channel/SKILL.md +1 -1
  20. package/config/skills/agent/core/report-progress/execute.sh +1 -1
  21. package/config/skills/agent/core/report-status/execute.sh +1 -1
  22. package/config/skills/agent/core/slack-post/SKILL.md +1 -1
  23. package/config/skills/agent/core/update-intent-task/execute.sh +1 -1
  24. package/config/skills/agent/marketing/brand-onboarding/execute.sh +1 -1
  25. package/config/skills/agent/marketing/submit-for-approval/execute.sh +1 -1
  26. package/config/skills/agent/remote-browser/SOP-google-flow-video.md +1 -1
  27. package/config/skills/agent/remote-browser/execute.sh +33 -1
  28. package/config/skills/agent/remote-browser/execute.test.sh +62 -0
  29. package/config/skills/agent/screenshot-compare/execute.sh +1 -1
  30. package/config/skills/agent/transcribe-audio/SKILL.md +1 -1
  31. package/config/skills/agent/transcribe-audio/execute.sh +1 -1
  32. package/config/skills/agent/transcribe-audio/instructions.md +1 -1
  33. package/config/skills/orchestrator/delegate-task/SKILL.md +1 -1
  34. package/config/skills/orchestrator/get-tasks/SKILL.md +7 -1
  35. package/config/skills/orchestrator/get-tasks/execute.sh +51 -28
  36. package/config/skills/orchestrator/get-tasks/execute.test.sh +67 -0
  37. package/config/skills/orchestrator/heartbeat/execute.sh +2 -2
  38. package/config/skills/orchestrator/list-missions/execute.sh +1 -1
  39. package/config/skills/orchestrator/list-missions/execute.test.sh +38 -11
  40. package/config/skills/team-leader/decompose-goal/SKILL.md +1 -0
  41. package/config/skills/team-leader/decompose-goal/execute.sh +17 -2
  42. package/config/skills/team-leader/delegate-task/SKILL.md +1 -0
  43. package/config/skills/team-leader/delegate-task/execute.sh +6 -2
  44. package/dist/backend/backend/src/constants.d.ts +199 -2
  45. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  46. package/dist/backend/backend/src/constants.js +190 -3
  47. package/dist/backend/backend/src/constants.js.map +1 -1
  48. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +33 -0
  49. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  50. package/dist/backend/backend/src/controllers/browser/browser.controller.js +176 -9
  51. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  52. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  53. package/dist/backend/backend/src/controllers/chat/chat.controller.js +38 -35
  54. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  55. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts +10 -45
  56. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
  57. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +40 -89
  58. package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
  59. package/dist/backend/backend/src/controllers/session/session.controller.d.ts +2 -1
  60. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  61. package/dist/backend/backend/src/controllers/session/session.controller.js +21 -0
  62. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  63. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  64. package/dist/backend/backend/src/controllers/slack/slack.controller.js +51 -3
  65. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  66. package/dist/backend/backend/src/controllers/system/restart-readiness.controller.d.ts +23 -0
  67. package/dist/backend/backend/src/controllers/system/restart-readiness.controller.d.ts.map +1 -0
  68. package/dist/backend/backend/src/controllers/system/restart-readiness.controller.js +35 -0
  69. package/dist/backend/backend/src/controllers/system/restart-readiness.controller.js.map +1 -0
  70. package/dist/backend/backend/src/controllers/system/system.controller.d.ts +5 -3
  71. package/dist/backend/backend/src/controllers/system/system.controller.d.ts.map +1 -1
  72. package/dist/backend/backend/src/controllers/system/system.controller.js +27 -6
  73. package/dist/backend/backend/src/controllers/system/system.controller.js.map +1 -1
  74. package/dist/backend/backend/src/controllers/system/system.routes.d.ts.map +1 -1
  75. package/dist/backend/backend/src/controllers/system/system.routes.js +3 -0
  76. package/dist/backend/backend/src/controllers/system/system.routes.js.map +1 -1
  77. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  78. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +29 -1
  79. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  80. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  81. package/dist/backend/backend/src/controllers/team/team.controller.js +86 -6
  82. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  83. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts +41 -0
  84. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -0
  85. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +135 -0
  86. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -0
  87. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts +18 -0
  88. package/dist/backend/backend/src/controllers/tickets/tickets.routes.d.ts.map +1 -0
  89. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js +25 -0
  90. package/dist/backend/backend/src/controllers/tickets/tickets.routes.js.map +1 -0
  91. package/dist/backend/backend/src/index.d.ts +70 -1
  92. package/dist/backend/backend/src/index.d.ts.map +1 -1
  93. package/dist/backend/backend/src/index.js +352 -71
  94. package/dist/backend/backend/src/index.js.map +1 -1
  95. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  96. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  97. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  98. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts +128 -0
  99. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.d.ts.map +1 -0
  100. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js +200 -0
  101. package/dist/backend/backend/src/scripts/leaked-stub-teams.lib.js.map +1 -0
  102. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +2 -2
  103. package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
  104. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +3 -1
  105. package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
  106. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +4 -0
  107. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  108. package/dist/backend/backend/src/services/agent/agent-registration.service.js +61 -4
  109. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  110. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts +30 -0
  111. package/dist/backend/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  112. package/dist/backend/backend/src/services/agent/claude-runtime.service.js +62 -1
  113. package/dist/backend/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  114. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  115. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +2 -1
  116. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  117. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +0 -2
  118. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  119. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +0 -2
  120. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  121. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts +65 -1
  122. package/dist/backend/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  123. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js +113 -10
  124. package/dist/backend/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  125. package/dist/backend/backend/src/services/agent/restore-filter.d.ts +12 -0
  126. package/dist/backend/backend/src/services/agent/restore-filter.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/agent/restore-filter.js +19 -0
  128. package/dist/backend/backend/src/services/agent/restore-filter.js.map +1 -1
  129. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  130. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +3 -2
  131. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  132. package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.d.ts +28 -0
  133. package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.d.ts.map +1 -0
  134. package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.js +34 -0
  135. package/dist/backend/backend/src/services/agent/runtime-startup-blocked.error.js.map +1 -0
  136. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +57 -5
  137. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  138. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +98 -18
  139. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  140. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts +12 -1
  141. package/dist/backend/backend/src/services/browser/browser-proxy.service.d.ts.map +1 -1
  142. package/dist/backend/backend/src/services/browser/browser-proxy.service.js +25 -4
  143. package/dist/backend/backend/src/services/browser/browser-proxy.service.js.map +1 -1
  144. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts +2 -1
  145. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.d.ts.map +1 -1
  146. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js +5 -1
  147. package/dist/backend/backend/src/services/browser/browser-relay-adapter.service.js.map +1 -1
  148. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts +38 -0
  149. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
  150. package/dist/backend/backend/src/services/browser/browser-session.service.js +34 -0
  151. package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
  152. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +6 -0
  153. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  154. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +5 -0
  155. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  156. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.d.ts.map +1 -1
  157. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js +7 -2
  158. package/dist/backend/backend/src/services/chat-v2/chat-v2.relay-adapter.service.js.map +1 -1
  159. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +23 -1
  160. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  161. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +58 -1
  162. package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  163. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.d.ts +63 -0
  164. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.d.ts.map +1 -0
  165. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.js +72 -0
  166. package/dist/backend/backend/src/services/chat-v2/owner-inbound.utils.js.map +1 -0
  167. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  168. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +15 -0
  170. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  171. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  172. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +6 -1
  173. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  174. package/dist/backend/backend/src/services/core/retry.util.d.ts +5 -0
  175. package/dist/backend/backend/src/services/core/retry.util.d.ts.map +1 -1
  176. package/dist/backend/backend/src/services/core/retry.util.js +2 -2
  177. package/dist/backend/backend/src/services/core/retry.util.js.map +1 -1
  178. package/dist/backend/backend/src/services/factory.service.js +3 -3
  179. package/dist/backend/backend/src/services/factory.service.js.map +1 -1
  180. package/dist/backend/backend/src/services/messaging/google-chat-initializer.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js +24 -1
  182. package/dist/backend/backend/src/services/messaging/google-chat-initializer.js.map +1 -1
  183. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +9 -0
  184. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  185. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +55 -0
  186. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  187. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +7 -0
  188. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  189. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +12 -0
  190. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  191. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +36 -1
  192. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  193. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +90 -2
  194. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  195. package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.d.ts.map +1 -1
  196. package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js +22 -16
  197. package/dist/backend/backend/src/services/orchestrator/commitment-approval-guard.js.map +1 -1
  198. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js +11 -1
  199. package/dist/backend/backend/src/services/orchestrator/onboarding/materialize-team.js.map +1 -1
  200. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.d.ts.map +1 -1
  201. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js +9 -9
  202. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  203. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +189 -0
  204. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -0
  205. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js +246 -0
  206. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -0
  207. package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts +153 -0
  208. package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts.map +1 -0
  209. package/dist/backend/backend/src/services/restart/interrupted-turns.js +279 -0
  210. package/dist/backend/backend/src/services/restart/interrupted-turns.js.map +1 -0
  211. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts +176 -0
  212. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts.map +1 -0
  213. package/dist/backend/backend/src/services/restart/restart-drain.service.js +298 -0
  214. package/dist/backend/backend/src/services/restart/restart-drain.service.js.map +1 -0
  215. package/dist/backend/backend/src/services/restart/turn-probe.d.ts +52 -0
  216. package/dist/backend/backend/src/services/restart/turn-probe.d.ts.map +1 -0
  217. package/dist/backend/backend/src/services/restart/turn-probe.js +61 -0
  218. package/dist/backend/backend/src/services/restart/turn-probe.js.map +1 -0
  219. package/dist/backend/backend/src/services/session/pty/node-pty-install.utils.d.ts +70 -0
  220. package/dist/backend/backend/src/services/session/pty/node-pty-install.utils.d.ts.map +1 -0
  221. package/dist/backend/backend/src/services/session/pty/node-pty-install.utils.js +105 -0
  222. package/dist/backend/backend/src/services/session/pty/node-pty-install.utils.js.map +1 -0
  223. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts +2 -0
  224. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  225. package/dist/backend/backend/src/services/session/pty/pty-session.js +53 -1
  226. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  227. package/dist/backend/backend/src/services/session/session-binding.d.ts +125 -0
  228. package/dist/backend/backend/src/services/session/session-binding.d.ts.map +1 -0
  229. package/dist/backend/backend/src/services/session/session-binding.js +183 -0
  230. package/dist/backend/backend/src/services/session/session-binding.js.map +1 -0
  231. package/dist/backend/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  232. package/dist/backend/backend/src/services/session/session-handoff.service.js +19 -0
  233. package/dist/backend/backend/src/services/session/session-handoff.service.js.map +1 -1
  234. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +10 -0
  235. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  236. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +37 -1
  237. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  238. package/dist/backend/backend/src/services/slack/slack-cloud-config.service.d.ts +4 -3
  239. package/dist/backend/backend/src/services/slack/slack-cloud-config.service.d.ts.map +1 -1
  240. package/dist/backend/backend/src/services/slack/slack-cloud-config.service.js +4 -3
  241. package/dist/backend/backend/src/services/slack/slack-cloud-config.service.js.map +1 -1
  242. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts +72 -7
  243. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  244. package/dist/backend/backend/src/services/slack/slack-initializer.js +185 -23
  245. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  246. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +4 -45
  247. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  248. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +57 -190
  249. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  250. package/dist/backend/backend/src/services/slack/slack-source-preference.service.d.ts +59 -0
  251. package/dist/backend/backend/src/services/slack/slack-source-preference.service.d.ts.map +1 -0
  252. package/dist/backend/backend/src/services/slack/slack-source-preference.service.js +69 -0
  253. package/dist/backend/backend/src/services/slack/slack-source-preference.service.js.map +1 -0
  254. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +18 -0
  255. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  256. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +64 -3
  257. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  258. package/dist/backend/backend/src/services/slack/slack.service.d.ts +33 -1
  259. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  260. package/dist/backend/backend/src/services/slack/slack.service.js +129 -4
  261. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  262. package/dist/backend/backend/src/services/task-pool/pool-archive-migration.d.ts +108 -0
  263. package/dist/backend/backend/src/services/task-pool/pool-archive-migration.d.ts.map +1 -0
  264. package/dist/backend/backend/src/services/task-pool/pool-archive-migration.js +193 -0
  265. package/dist/backend/backend/src/services/task-pool/pool-archive-migration.js.map +1 -0
  266. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts +15 -0
  267. package/dist/backend/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  268. package/dist/backend/backend/src/services/task-pool/pool-storage.js +30 -0
  269. package/dist/backend/backend/src/services/task-pool/pool-storage.js.map +1 -1
  270. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +41 -1
  271. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  272. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +55 -1
  273. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  274. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts +7 -0
  275. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.d.ts.map +1 -1
  276. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js +32 -1
  277. package/dist/backend/backend/src/services/telegram/telegram-orchestrator-bridge.js.map +1 -1
  278. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  279. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +4 -3
  280. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  281. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.d.ts.map +1 -1
  282. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js +12 -0
  283. package/dist/backend/backend/src/services/v3/request-decompose.subscriber.js.map +1 -1
  284. package/dist/backend/backend/src/services/v3/request.service.d.ts +7 -0
  285. package/dist/backend/backend/src/services/v3/request.service.d.ts.map +1 -1
  286. package/dist/backend/backend/src/services/v3/request.service.js +17 -0
  287. package/dist/backend/backend/src/services/v3/request.service.js.map +1 -1
  288. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts +279 -0
  289. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -0
  290. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +458 -0
  291. package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -0
  292. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +376 -0
  293. package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -0
  294. package/dist/backend/backend/src/services/v3/ticket-intake.service.js +566 -0
  295. package/dist/backend/backend/src/services/v3/ticket-intake.service.js.map +1 -0
  296. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts.map +1 -1
  297. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js +3 -3
  298. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js.map +1 -1
  299. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts +28 -4
  300. package/dist/backend/backend/src/services/v3/trigger-engine.service.d.ts.map +1 -1
  301. package/dist/backend/backend/src/services/v3/trigger-engine.service.js +40 -10
  302. package/dist/backend/backend/src/services/v3/trigger-engine.service.js.map +1 -1
  303. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +1 -0
  304. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  305. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +3 -3
  306. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  307. package/dist/backend/backend/src/types/slack.types.d.ts +29 -0
  308. package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
  309. package/dist/backend/backend/src/types/slack.types.js.map +1 -1
  310. package/dist/backend/backend/src/types/thread-status.types.d.ts +26 -0
  311. package/dist/backend/backend/src/types/thread-status.types.d.ts.map +1 -1
  312. package/dist/backend/backend/src/types/thread-status.types.js +17 -0
  313. package/dist/backend/backend/src/types/thread-status.types.js.map +1 -1
  314. package/dist/backend/backend/src/types/v2/index.d.ts +3 -2
  315. package/dist/backend/backend/src/types/v2/index.d.ts.map +1 -1
  316. package/dist/backend/backend/src/types/v2/index.js +1 -1
  317. package/dist/backend/backend/src/types/v2/index.js.map +1 -1
  318. package/dist/backend/backend/src/types/v2/request.types.d.ts +39 -3
  319. package/dist/backend/backend/src/types/v2/request.types.d.ts.map +1 -1
  320. package/dist/backend/backend/src/types/v2/request.types.js +11 -2
  321. package/dist/backend/backend/src/types/v2/request.types.js.map +1 -1
  322. package/dist/backend/backend/src/types/v2/ticket.types.d.ts +173 -0
  323. package/dist/backend/backend/src/types/v2/ticket.types.d.ts.map +1 -0
  324. package/dist/backend/backend/src/types/v2/ticket.types.js +203 -0
  325. package/dist/backend/backend/src/types/v2/ticket.types.js.map +1 -0
  326. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts +26 -0
  327. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts.map +1 -1
  328. package/dist/backend/backend/src/utils/agent-caller.utils.js +40 -3
  329. package/dist/backend/backend/src/utils/agent-caller.utils.js.map +1 -1
  330. package/dist/backend/backend/src/utils/gemini-auth-settings.d.ts +62 -0
  331. package/dist/backend/backend/src/utils/gemini-auth-settings.d.ts.map +1 -0
  332. package/dist/backend/backend/src/utils/gemini-auth-settings.js +104 -0
  333. package/dist/backend/backend/src/utils/gemini-auth-settings.js.map +1 -0
  334. package/dist/backend/backend/src/utils/local-api-url.utils.d.ts +56 -0
  335. package/dist/backend/backend/src/utils/local-api-url.utils.d.ts.map +1 -0
  336. package/dist/backend/backend/src/utils/local-api-url.utils.js +80 -0
  337. package/dist/backend/backend/src/utils/local-api-url.utils.js.map +1 -0
  338. package/dist/backend/build-info.json +2 -2
  339. package/dist/backend/config/constants.d.ts +40 -0
  340. package/dist/backend/config/constants.d.ts.map +1 -1
  341. package/dist/backend/config/constants.js +41 -0
  342. package/dist/backend/config/constants.js.map +1 -1
  343. package/dist/backend/config/index.d.ts +4 -2
  344. package/dist/backend/config/index.d.ts.map +1 -1
  345. package/dist/backend/config/index.js +2 -2
  346. package/dist/backend/config/index.js.map +1 -1
  347. package/dist/cli/backend/src/constants.d.ts +199 -2
  348. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  349. package/dist/cli/backend/src/constants.js +190 -3
  350. package/dist/cli/backend/src/constants.js.map +1 -1
  351. package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts +2 -2
  352. package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
  353. package/dist/cli/backend/src/services/agent/active-work-briefing.service.js +3 -1
  354. package/dist/cli/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
  355. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +4 -0
  356. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  357. package/dist/cli/backend/src/services/agent/agent-registration.service.js +61 -4
  358. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  359. package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts +30 -0
  360. package/dist/cli/backend/src/services/agent/claude-runtime.service.d.ts.map +1 -1
  361. package/dist/cli/backend/src/services/agent/claude-runtime.service.js +62 -1
  362. package/dist/cli/backend/src/services/agent/claude-runtime.service.js.map +1 -1
  363. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  364. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +2 -1
  365. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  366. package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts +0 -2
  367. package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  368. package/dist/cli/backend/src/services/agent/crewly-agent/types.js +0 -2
  369. package/dist/cli/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  370. package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts +65 -1
  371. package/dist/cli/backend/src/services/agent/gemini-runtime.service.d.ts.map +1 -1
  372. package/dist/cli/backend/src/services/agent/gemini-runtime.service.js +113 -10
  373. package/dist/cli/backend/src/services/agent/gemini-runtime.service.js.map +1 -1
  374. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  375. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +3 -2
  376. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  377. package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.d.ts +28 -0
  378. package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.d.ts.map +1 -0
  379. package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.js +34 -0
  380. package/dist/cli/backend/src/services/agent/runtime-startup-blocked.error.js.map +1 -0
  381. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +6 -0
  382. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  383. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +5 -0
  384. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  385. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +23 -1
  386. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
  387. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +58 -1
  388. package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
  389. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +10 -0
  390. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  391. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +15 -0
  392. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  393. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +7 -0
  394. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  395. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +12 -0
  396. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  397. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts +36 -1
  398. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  399. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js +90 -2
  400. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  401. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +189 -0
  402. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -0
  403. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js +246 -0
  404. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -0
  405. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts +176 -0
  406. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts.map +1 -0
  407. package/dist/cli/backend/src/services/restart/restart-drain.service.js +298 -0
  408. package/dist/cli/backend/src/services/restart/restart-drain.service.js.map +1 -0
  409. package/dist/cli/backend/src/services/session/pty/node-pty-install.utils.d.ts +70 -0
  410. package/dist/cli/backend/src/services/session/pty/node-pty-install.utils.d.ts.map +1 -0
  411. package/dist/cli/backend/src/services/session/pty/node-pty-install.utils.js +105 -0
  412. package/dist/cli/backend/src/services/session/pty/node-pty-install.utils.js.map +1 -0
  413. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts +2 -0
  414. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  415. package/dist/cli/backend/src/services/session/pty/pty-session.js +53 -1
  416. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  417. package/dist/cli/backend/src/services/session/session-handoff.service.d.ts.map +1 -1
  418. package/dist/cli/backend/src/services/session/session-handoff.service.js +19 -0
  419. package/dist/cli/backend/src/services/session/session-handoff.service.js.map +1 -1
  420. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +10 -0
  421. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  422. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +37 -1
  423. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  424. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +4 -45
  425. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  426. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +57 -190
  427. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  428. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +18 -0
  429. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  430. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +64 -3
  431. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  432. package/dist/cli/backend/src/services/slack/slack.service.d.ts +33 -1
  433. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  434. package/dist/cli/backend/src/services/slack/slack.service.js +129 -4
  435. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  436. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts +15 -0
  437. package/dist/cli/backend/src/services/task-pool/pool-storage.d.ts.map +1 -1
  438. package/dist/cli/backend/src/services/task-pool/pool-storage.js +30 -0
  439. package/dist/cli/backend/src/services/task-pool/pool-storage.js.map +1 -1
  440. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +41 -1
  441. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  442. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +55 -1
  443. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  444. package/dist/cli/backend/src/services/v3/request.service.d.ts +7 -0
  445. package/dist/cli/backend/src/services/v3/request.service.d.ts.map +1 -1
  446. package/dist/cli/backend/src/services/v3/request.service.js +17 -0
  447. package/dist/cli/backend/src/services/v3/request.service.js.map +1 -1
  448. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts +279 -0
  449. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts.map +1 -0
  450. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +458 -0
  451. package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -0
  452. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +376 -0
  453. package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts.map +1 -0
  454. package/dist/cli/backend/src/services/v3/ticket-intake.service.js +566 -0
  455. package/dist/cli/backend/src/services/v3/ticket-intake.service.js.map +1 -0
  456. package/dist/cli/backend/src/types/slack.types.d.ts +29 -0
  457. package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
  458. package/dist/cli/backend/src/types/slack.types.js.map +1 -1
  459. package/dist/cli/backend/src/types/thread-status.types.d.ts +26 -0
  460. package/dist/cli/backend/src/types/thread-status.types.d.ts.map +1 -1
  461. package/dist/cli/backend/src/types/thread-status.types.js +17 -0
  462. package/dist/cli/backend/src/types/thread-status.types.js.map +1 -1
  463. package/dist/cli/backend/src/types/v2/index.d.ts +3 -2
  464. package/dist/cli/backend/src/types/v2/index.d.ts.map +1 -1
  465. package/dist/cli/backend/src/types/v2/index.js +1 -1
  466. package/dist/cli/backend/src/types/v2/index.js.map +1 -1
  467. package/dist/cli/backend/src/types/v2/request.types.d.ts +39 -3
  468. package/dist/cli/backend/src/types/v2/request.types.d.ts.map +1 -1
  469. package/dist/cli/backend/src/types/v2/request.types.js +11 -2
  470. package/dist/cli/backend/src/types/v2/request.types.js.map +1 -1
  471. package/dist/cli/backend/src/types/v2/ticket.types.d.ts +173 -0
  472. package/dist/cli/backend/src/types/v2/ticket.types.d.ts.map +1 -0
  473. package/dist/cli/backend/src/types/v2/ticket.types.js +203 -0
  474. package/dist/cli/backend/src/types/v2/ticket.types.js.map +1 -0
  475. package/dist/cli/backend/src/utils/gemini-auth-settings.d.ts +62 -0
  476. package/dist/cli/backend/src/utils/gemini-auth-settings.d.ts.map +1 -0
  477. package/dist/cli/backend/src/utils/gemini-auth-settings.js +104 -0
  478. package/dist/cli/backend/src/utils/gemini-auth-settings.js.map +1 -0
  479. package/dist/cli/backend/src/utils/local-api-url.utils.d.ts +56 -0
  480. package/dist/cli/backend/src/utils/local-api-url.utils.d.ts.map +1 -0
  481. package/dist/cli/backend/src/utils/local-api-url.utils.js +80 -0
  482. package/dist/cli/backend/src/utils/local-api-url.utils.js.map +1 -0
  483. package/dist/cli/cli/src/commands/doctor.d.ts +73 -2
  484. package/dist/cli/cli/src/commands/doctor.d.ts.map +1 -1
  485. package/dist/cli/cli/src/commands/doctor.js +250 -8
  486. package/dist/cli/cli/src/commands/doctor.js.map +1 -1
  487. package/dist/cli/cli/src/commands/install.js +2 -0
  488. package/dist/cli/cli/src/commands/install.js.map +1 -1
  489. package/dist/cli/cli/src/commands/onboard.d.ts +68 -0
  490. package/dist/cli/cli/src/commands/onboard.d.ts.map +1 -1
  491. package/dist/cli/cli/src/commands/onboard.js +149 -18
  492. package/dist/cli/cli/src/commands/onboard.js.map +1 -1
  493. package/dist/cli/cli/src/commands/service.d.ts +6 -0
  494. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  495. package/dist/cli/cli/src/commands/service.js +152 -50
  496. package/dist/cli/cli/src/commands/service.js.map +1 -1
  497. package/dist/cli/cli/src/commands/start.d.ts.map +1 -1
  498. package/dist/cli/cli/src/commands/start.js +25 -80
  499. package/dist/cli/cli/src/commands/start.js.map +1 -1
  500. package/dist/cli/cli/src/commands/status.d.ts +17 -1
  501. package/dist/cli/cli/src/commands/status.d.ts.map +1 -1
  502. package/dist/cli/cli/src/commands/status.js +133 -68
  503. package/dist/cli/cli/src/commands/status.js.map +1 -1
  504. package/dist/cli/cli/src/commands/stop.d.ts +28 -1
  505. package/dist/cli/cli/src/commands/stop.d.ts.map +1 -1
  506. package/dist/cli/cli/src/commands/stop.js +260 -100
  507. package/dist/cli/cli/src/commands/stop.js.map +1 -1
  508. package/dist/cli/cli/src/index.js +3 -2
  509. package/dist/cli/cli/src/index.js.map +1 -1
  510. package/dist/cli/cli/src/scripts/ensure-node-pty.d.ts +68 -0
  511. package/dist/cli/cli/src/scripts/ensure-node-pty.d.ts.map +1 -0
  512. package/dist/cli/cli/src/scripts/ensure-node-pty.js +167 -0
  513. package/dist/cli/cli/src/scripts/ensure-node-pty.js.map +1 -0
  514. package/dist/cli/cli/src/utils/backend-status.d.ts +175 -0
  515. package/dist/cli/cli/src/utils/backend-status.d.ts.map +1 -0
  516. package/dist/cli/cli/src/utils/backend-status.js +322 -0
  517. package/dist/cli/cli/src/utils/backend-status.js.map +1 -0
  518. package/dist/cli/cli/src/utils/marketplace.d.ts +31 -2
  519. package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
  520. package/dist/cli/cli/src/utils/marketplace.js +78 -20
  521. package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
  522. package/dist/cli/cli/src/utils/native-toolchain.d.ts +53 -8
  523. package/dist/cli/cli/src/utils/native-toolchain.d.ts.map +1 -1
  524. package/dist/cli/cli/src/utils/native-toolchain.js +107 -15
  525. package/dist/cli/cli/src/utils/native-toolchain.js.map +1 -1
  526. package/dist/cli/cli/src/utils/process-cleanup.d.ts +38 -6
  527. package/dist/cli/cli/src/utils/process-cleanup.d.ts.map +1 -1
  528. package/dist/cli/cli/src/utils/process-cleanup.js +83 -53
  529. package/dist/cli/cli/src/utils/process-cleanup.js.map +1 -1
  530. package/dist/cli/cli/src/utils/runtime-auth.d.ts +130 -0
  531. package/dist/cli/cli/src/utils/runtime-auth.d.ts.map +1 -0
  532. package/dist/cli/cli/src/utils/runtime-auth.js +248 -0
  533. package/dist/cli/cli/src/utils/runtime-auth.js.map +1 -0
  534. package/dist/cli/cli/src/utils/safe-shutdown.d.ts +137 -0
  535. package/dist/cli/cli/src/utils/safe-shutdown.d.ts.map +1 -0
  536. package/dist/cli/cli/src/utils/safe-shutdown.js +236 -0
  537. package/dist/cli/cli/src/utils/safe-shutdown.js.map +1 -0
  538. package/dist/cli/config/constants.d.ts +40 -0
  539. package/dist/cli/config/constants.d.ts.map +1 -1
  540. package/dist/cli/config/constants.js +41 -0
  541. package/dist/cli/config/constants.js.map +1 -1
  542. package/dist/cli/config/index.d.ts +4 -2
  543. package/dist/cli/config/index.d.ts.map +1 -1
  544. package/dist/cli/config/index.js +2 -2
  545. package/dist/cli/config/index.js.map +1 -1
  546. package/frontend/dist/assets/{index-488339c1.js → index-f7b99e81.js} +222 -222
  547. package/frontend/dist/index.html +1 -1
  548. package/package.json +4 -4
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Install-time node-pty check (#778), wired into `package.json` `postinstall`.
3
+ *
4
+ * node-pty ships prebuilt binaries for macOS and glibc Linux, so a plain
5
+ * `npm i -g crewly` needs no compiler. This script:
6
+ *
7
+ * 1. restores the exec bit on node-pty's `spawn-helper` (lost by some
8
+ * package managers / node-pty 1.1.0's tarball);
9
+ * 2. checks that node-pty actually loads — in a child process, so a bad
10
+ * binary cannot poison this one;
11
+ * 3. only if it does NOT load (musl, glibc < 2.28, unusual arch, stale
12
+ * build), compiles it from source and checks again;
13
+ * 4. says clearly when node-pty still cannot load, and exits 1 so npm
14
+ * shows that message (npm hides lifecycle output of scripts that pass).
15
+ * The backend cannot boot without node-pty, so such an install is broken.
16
+ *
17
+ * It replaces an unconditional `npm rebuild node-pty --build-from-source`,
18
+ * which deletes node-pty's prebuilds and then fails without a toolchain.
19
+ * In every other case — including a failure of this script itself — it exits
20
+ * 0, so it never turns a working install into a failing one.
21
+ *
22
+ * @module cli/scripts/ensure-node-pty
23
+ */
24
+ /** Result of a load probe. */
25
+ export interface LoadProbeResult {
26
+ ok: boolean;
27
+ /** First line of the load error when not ok. */
28
+ error?: string;
29
+ }
30
+ /** Final state reported by {@link ensureNodePty}. */
31
+ export type EnsureNodePtyStatus = 'ok' | 'rebuilt' | 'failed' | 'missing';
32
+ /** Injection points (defaults do real work). */
33
+ export interface EnsureNodePtyDeps {
34
+ /** Directory containing `package.json` and `node_modules/`. */
35
+ packageRoot: string;
36
+ /** Platform tag (defaults to the current one). */
37
+ platform?: string;
38
+ /** Arch tag (defaults to the current one). */
39
+ arch?: string;
40
+ /** Locate node-pty's package dir. */
41
+ findNodePtyDir?: (packageRoot: string) => string | null;
42
+ /** Check that `require('node-pty')` works. */
43
+ probeLoad?: (packageRoot: string) => LoadProbeResult;
44
+ /** Compile node-pty from source; true on success. */
45
+ rebuildFromSource?: (packageRoot: string) => boolean;
46
+ /** Message sink. */
47
+ log?: (message: string) => void;
48
+ /** Known reason the prebuild cannot run here (defaults to libc detection). */
49
+ prebuildProblem?: string | null;
50
+ /** Package-manager command that installs the build tools. */
51
+ installHint?: string;
52
+ }
53
+ /**
54
+ * Pick the thrown message out of a Node stack dump (`Error: ...`), skipping
55
+ * the echoed source line Node prints above it.
56
+ *
57
+ * @param stderr - Child stderr
58
+ * @returns The message line, or null when there is none
59
+ */
60
+ export declare function firstErrorLine(stderr: string): string | null;
61
+ /**
62
+ * Make node-pty usable, compiling only when the prebuilt binary does not load.
63
+ *
64
+ * @param deps - Injection points
65
+ * @returns Final status
66
+ */
67
+ export declare function ensureNodePty(deps: EnsureNodePtyDeps): EnsureNodePtyStatus;
68
+ //# sourceMappingURL=ensure-node-pty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-node-pty.d.ts","sourceRoot":"","sources":["../../../../../cli/src/scripts/ensure-node-pty.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAkBH,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qDAAqD;AACrD,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1E,gDAAgD;AAChD,MAAM,WAAW,iBAAiB;IACjC,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACxD,8CAA8C;IAC9C,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,eAAe,CAAC;IACrD,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACrD,oBAAoB;IACpB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAaD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5D;AA6CD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAkD1E"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Install-time node-pty check (#778), wired into `package.json` `postinstall`.
3
+ *
4
+ * node-pty ships prebuilt binaries for macOS and glibc Linux, so a plain
5
+ * `npm i -g crewly` needs no compiler. This script:
6
+ *
7
+ * 1. restores the exec bit on node-pty's `spawn-helper` (lost by some
8
+ * package managers / node-pty 1.1.0's tarball);
9
+ * 2. checks that node-pty actually loads — in a child process, so a bad
10
+ * binary cannot poison this one;
11
+ * 3. only if it does NOT load (musl, glibc < 2.28, unusual arch, stale
12
+ * build), compiles it from source and checks again;
13
+ * 4. says clearly when node-pty still cannot load, and exits 1 so npm
14
+ * shows that message (npm hides lifecycle output of scripts that pass).
15
+ * The backend cannot boot without node-pty, so such an install is broken.
16
+ *
17
+ * It replaces an unconditional `npm rebuild node-pty --build-from-source`,
18
+ * which deletes node-pty's prebuilds and then fails without a toolchain.
19
+ * In every other case — including a failure of this script itself — it exits
20
+ * 0, so it never turns a working install into a failing one.
21
+ *
22
+ * @module cli/scripts/ensure-node-pty
23
+ */
24
+ import { spawnSync } from 'child_process';
25
+ import { createRequire } from 'module';
26
+ import * as path from 'path';
27
+ import { pathToFileURL } from 'url';
28
+ import { detectLinuxLibc, prebuildLibcProblem, toolchainInstallHint } from '../utils/native-toolchain.js';
29
+ import { ensureSpawnHelperExecutable, resolveNodePtyDir, } from '../../../backend/src/services/session/pty/node-pty-install.utils.js';
30
+ /** Upper bound for a from-source compile (node-gyp on a slow VPS). */
31
+ const REBUILD_TIMEOUT_MS = 10 * 60 * 1000;
32
+ /** Upper bound for the load probe. */
33
+ const LOAD_PROBE_TIMEOUT_MS = 30 * 1000;
34
+ /**
35
+ * Default node-pty locator: resolve from the package root.
36
+ *
37
+ * @param packageRoot - Package root
38
+ * @returns node-pty's package directory or null
39
+ */
40
+ function defaultFindNodePtyDir(packageRoot) {
41
+ const req = createRequire(pathToFileURL(path.join(packageRoot, 'package.json')).href);
42
+ return resolveNodePtyDir((request) => req.resolve(request));
43
+ }
44
+ /**
45
+ * Pick the thrown message out of a Node stack dump (`Error: ...`), skipping
46
+ * the echoed source line Node prints above it.
47
+ *
48
+ * @param stderr - Child stderr
49
+ * @returns The message line, or null when there is none
50
+ */
51
+ export function firstErrorLine(stderr) {
52
+ const lines = stderr.split('\n').map((line) => line.trim()).filter(Boolean);
53
+ return lines.find((line) => /^[A-Za-z]*Error(\s\[[A-Z_]+\])?:/.test(line))
54
+ ?? lines.find((line) => /error/i.test(line))
55
+ ?? null;
56
+ }
57
+ /**
58
+ * Default load probe: `node -e "require('node-pty')"` in a child process.
59
+ *
60
+ * @param packageRoot - Package root (cwd for the resolver)
61
+ * @returns Whether it loaded
62
+ */
63
+ function defaultProbeLoad(packageRoot) {
64
+ const res = spawnSync(process.execPath, ['-e', "require('node-pty')"], {
65
+ cwd: packageRoot,
66
+ encoding: 'utf8',
67
+ timeout: LOAD_PROBE_TIMEOUT_MS,
68
+ });
69
+ if (res.status === 0)
70
+ return { ok: true };
71
+ return { ok: false, error: firstErrorLine(res.stderr || res.error?.message || '') ?? `exit ${res.status}` };
72
+ }
73
+ /**
74
+ * Default from-source rebuild. Runs npm in project mode against the package
75
+ * root — inside a global install's lifecycle `npm_config_global=true` would
76
+ * otherwise point `npm rebuild` at the global prefix, where node-pty is not.
77
+ *
78
+ * @param packageRoot - Package root
79
+ * @returns true when npm exited 0
80
+ */
81
+ function defaultRebuildFromSource(packageRoot) {
82
+ const env = { ...process.env };
83
+ for (const key of Object.keys(env)) {
84
+ if (/^npm_config_(global|location|prefix)$/i.test(key))
85
+ delete env[key];
86
+ }
87
+ const npmCli = process.env.npm_execpath;
88
+ const args = ['rebuild', 'node-pty', '--build-from-source', '--global=false', '--prefix', packageRoot];
89
+ const res = npmCli && /\.c?js$/.test(npmCli)
90
+ ? spawnSync(process.execPath, [npmCli, ...args], { cwd: packageRoot, env, stdio: 'inherit', timeout: REBUILD_TIMEOUT_MS })
91
+ : spawnSync(process.platform === 'win32' ? 'npm.cmd' : 'npm', args, {
92
+ cwd: packageRoot,
93
+ env,
94
+ stdio: 'inherit',
95
+ timeout: REBUILD_TIMEOUT_MS,
96
+ shell: process.platform === 'win32',
97
+ });
98
+ return res.status === 0;
99
+ }
100
+ /**
101
+ * Make node-pty usable, compiling only when the prebuilt binary does not load.
102
+ *
103
+ * @param deps - Injection points
104
+ * @returns Final status
105
+ */
106
+ export function ensureNodePty(deps) {
107
+ const platform = deps.platform ?? process.platform;
108
+ const arch = deps.arch ?? process.arch;
109
+ const log = deps.log ?? ((m) => console.error(m));
110
+ const findDir = deps.findNodePtyDir ?? defaultFindNodePtyDir;
111
+ const probeLoad = deps.probeLoad ?? defaultProbeLoad;
112
+ const rebuild = deps.rebuildFromSource ?? defaultRebuildFromSource;
113
+ const dir = findDir(deps.packageRoot);
114
+ if (!dir) {
115
+ log('[crewly] node-pty is not installed — agent terminals will not work. Reinstall with: npm i -g crewly');
116
+ return 'missing';
117
+ }
118
+ const fixHelpers = () => {
119
+ const { fixed, failed } = ensureSpawnHelperExecutable(dir, platform, arch);
120
+ for (const helper of fixed)
121
+ log(`[crewly] Made node-pty's spawn-helper executable: ${helper}`);
122
+ for (const f of failed)
123
+ log(`[crewly] node-pty's spawn-helper is not executable (${f.error}). Run: chmod +x ${f.path}`);
124
+ };
125
+ fixHelpers();
126
+ const first = probeLoad(deps.packageRoot);
127
+ if (first.ok)
128
+ return 'ok';
129
+ // node-pty's loader reports the LAST path it tried, which hides e.g. a
130
+ // musl dlopen failure — name the libc reason ourselves when we know it.
131
+ const problem = deps.prebuildProblem === undefined
132
+ ? prebuildLibcProblem(platform, detectLinuxLibc(platform))
133
+ : deps.prebuildProblem;
134
+ log(`[crewly] node-pty's prebuilt binary does not load on ${platform}-${arch}: ${problem ?? first.error ?? 'unknown error'}.`);
135
+ log('[crewly] Compiling node-pty from source (needs a C++ compiler, make and python3)...');
136
+ const rebuilt = rebuild(deps.packageRoot);
137
+ fixHelpers();
138
+ const second = probeLoad(deps.packageRoot);
139
+ if (second.ok) {
140
+ log('[crewly] node-pty compiled from source and loads.');
141
+ return 'rebuilt';
142
+ }
143
+ // The install is about to fail and npm rolls it back, so point at a
144
+ // re-install rather than at a package directory that will not exist.
145
+ log([
146
+ `[crewly] node-pty still cannot load${rebuilt ? '' : ' (the compile failed)'}: ${second.error ?? 'unknown error'}`,
147
+ '[crewly] Crewly cannot start agent terminals without it. Install the build tools, then re-run the install:',
148
+ `[crewly] ${deps.installHint ?? toolchainInstallHint()}`,
149
+ '[crewly] npm i -g crewly',
150
+ ].join('\n'));
151
+ return 'failed';
152
+ }
153
+ /* c8 ignore start — lifecycle entry, exercised by npm not by unit tests */
154
+ const invokedDirectly = process.argv[1] !== undefined && process.argv[1].endsWith('ensure-node-pty.js');
155
+ if (invokedDirectly) {
156
+ try {
157
+ if (ensureNodePty({ packageRoot: path.resolve(process.cwd()) }) === 'failed') {
158
+ process.exitCode = 1;
159
+ }
160
+ }
161
+ catch (error) {
162
+ // Never fail an install because the check itself broke.
163
+ console.error(`[crewly] node-pty install check skipped: ${error instanceof Error ? error.message : String(error)}`);
164
+ }
165
+ }
166
+ /* c8 ignore stop */
167
+ //# sourceMappingURL=ensure-node-pty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-node-pty.js","sourceRoot":"","sources":["../../../../../cli/src/scripts/ensure-node-pty.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * What is actually running: the Crewly backend on a port and its agents.
3
+ *
4
+ * Agents run in node-pty sessions owned by the backend (or in-process, with
5
+ * no PTY), not in tmux. `crewly status` and `crewly stop` used to look only
6
+ * for `crewly_*` tmux sessions, so status listed nothing and stop reported
7
+ * success after examining nothing (#776). The source of truth is the backend
8
+ * API (sessions, teams, restart readiness) plus the process table for the
9
+ * listener pid and its children.
10
+ *
11
+ * @module cli/utils/backend-status
12
+ */
13
+ import { type RestartReadiness } from './safe-shutdown.js';
14
+ /** HTTP GET returning the parsed JSON body; throws when the request fails. */
15
+ export type HttpGet = (url: string, timeoutMs: number) => Promise<unknown>;
16
+ /** Runs a shell command and returns stdout; throws on a non-zero exit. */
17
+ export type RunCommand = (command: string) => Promise<string>;
18
+ /** Subset of the backend's `/health` body the CLI shows. */
19
+ export interface BackendHealth {
20
+ status: string;
21
+ version: string | null;
22
+ uptimeSeconds: number | null;
23
+ mode: string | null;
24
+ /** Orchestrator liveness (`ok` / `degraded`) and why */
25
+ orchestratorStatus: string | null;
26
+ orchestratorReason: string | null;
27
+ /** Team health watchdog status */
28
+ teamHealthStatus: string | null;
29
+ }
30
+ /** One running agent session. */
31
+ export interface RunningAgent {
32
+ sessionName: string;
33
+ /** PTY child pid (absent for in-process agents) */
34
+ pid?: number;
35
+ cwd?: string;
36
+ /** True for in-process (AI SDK) agents, which have no PTY */
37
+ inProcess: boolean;
38
+ /** Mid-turn right now, per restart readiness */
39
+ busy: boolean;
40
+ /** When the current turn started (busy agents only) */
41
+ busySince?: string;
42
+ /** Preview of the message being worked on (busy agents only) */
43
+ busyMessage?: string;
44
+ /** Team member name, when the session belongs to a team member */
45
+ memberName?: string;
46
+ teamName?: string;
47
+ runtimeType?: string;
48
+ }
49
+ /** Everything the backend reports about itself, each part fail-soft. */
50
+ export interface BackendSnapshot {
51
+ url: string;
52
+ /** Null when `/health` does not answer (backend not running or wedged) */
53
+ health: BackendHealth | null;
54
+ /** Null when the session list could not be read */
55
+ agents: RunningAgent[] | null;
56
+ /** Why `agents` is null */
57
+ agentsError?: string;
58
+ /** Null when readiness is unavailable (older backend) — busy flags are then unknown */
59
+ readiness: RestartReadiness | null;
60
+ }
61
+ /** One row of the process table. */
62
+ export interface ProcessRow {
63
+ pid: number;
64
+ ppid: number;
65
+ command: string;
66
+ }
67
+ /**
68
+ * Backend base URL for a port. Uses `localhost`, which the API treats as
69
+ * loopback, so no API token is needed.
70
+ *
71
+ * @param port - Backend web port
72
+ * @returns Base URL without a trailing slash
73
+ */
74
+ export declare function backendUrl(port: number | string): string;
75
+ /**
76
+ * Parse the backend's `/health` body.
77
+ *
78
+ * @param body - Parsed JSON
79
+ * @returns Health summary
80
+ */
81
+ export declare function parseHealth(body: unknown): BackendHealth;
82
+ /** Team-member identity keyed by session name. */
83
+ interface MemberInfo {
84
+ memberName: string;
85
+ teamName: string;
86
+ runtimeType?: string;
87
+ }
88
+ /**
89
+ * Map session names to team members from a `GET /api/teams` body.
90
+ *
91
+ * @param body - Parsed JSON (`{ success, data: Team[] }`)
92
+ * @returns Session name → member info
93
+ */
94
+ export declare function parseTeamMembers(body: unknown): Map<string, MemberInfo>;
95
+ /**
96
+ * Build the running-agent list from the session endpoints.
97
+ *
98
+ * @param sessionsBody - `GET /api/sessions` body (`{ sessions: [{ sessionName, pid, cwd }] }`)
99
+ * @param terminalBody - `GET /api/terminal/sessions` body, or null (adds in-process agents)
100
+ * @param readiness - Restart readiness, or null (busy flags then stay false)
101
+ * @param members - Session name → member info
102
+ * @returns Agents sorted by name
103
+ */
104
+ export declare function buildAgentList(sessionsBody: unknown, terminalBody: unknown, readiness: RestartReadiness | null, members: Map<string, MemberInfo>): RunningAgent[];
105
+ /**
106
+ * Ask the backend on `port` what is running. Never throws: each part is
107
+ * null when its endpoint does not answer.
108
+ *
109
+ * @param port - Backend web port
110
+ * @param httpGet - HTTP GET (injectable for tests)
111
+ * @returns Snapshot
112
+ */
113
+ export declare function fetchBackendSnapshot(port: number | string, httpGet?: HttpGet): Promise<BackendSnapshot>;
114
+ /**
115
+ * Parse pid lines (one per line, as printed by `lsof -t`).
116
+ *
117
+ * @param stdout - Command output
118
+ * @param excludePid - A pid to leave out (this CLI process)
119
+ * @returns Unique positive pids
120
+ */
121
+ export declare function parsePidLines(stdout: string, excludePid?: number): number[];
122
+ /**
123
+ * Pids LISTENING on a TCP port (never clients connected to it).
124
+ *
125
+ * @param port - TCP port
126
+ * @param run - Shell runner
127
+ * @returns Listener pids (empty when none, or when lsof is unavailable)
128
+ */
129
+ export declare function findListenerPids(port: number | string, run: RunCommand): Promise<number[]>;
130
+ /**
131
+ * Parse `ps -A -o pid=,ppid=,command=` output.
132
+ *
133
+ * @param stdout - Command output
134
+ * @returns Rows
135
+ */
136
+ export declare function parseProcessTable(stdout: string): ProcessRow[];
137
+ /**
138
+ * Read the process table.
139
+ *
140
+ * @param run - Shell runner
141
+ * @returns Rows (empty when `ps` fails)
142
+ */
143
+ export declare function readProcessTable(run: RunCommand): Promise<ProcessRow[]>;
144
+ /**
145
+ * Every descendant of `rootPid` (children, grandchildren, ...), e.g. the
146
+ * agent runtimes node-pty spawned under the backend.
147
+ *
148
+ * @param rows - Process table
149
+ * @param rootPid - Ancestor pid
150
+ * @returns Descendant rows, parents before children
151
+ */
152
+ export declare function collectDescendants(rows: readonly ProcessRow[], rootPid: number): ProcessRow[];
153
+ /**
154
+ * Whether a command line is a Crewly backend entrypoint.
155
+ *
156
+ * @param command - Full command line
157
+ * @returns True for `backend/src/index.(js|ts)`
158
+ */
159
+ export declare function isCrewlyBackendCommand(command: string): boolean;
160
+ /**
161
+ * Human-readable duration, e.g. `3h 2m`, `45s`.
162
+ *
163
+ * @param seconds - Duration in seconds
164
+ * @returns Short string
165
+ */
166
+ export declare function formatUptime(seconds: number): string;
167
+ /**
168
+ * Label for an agent: `session (Member, Team, runtime)`.
169
+ *
170
+ * @param agent - Agent
171
+ * @returns Label
172
+ */
173
+ export declare function describeAgent(agent: RunningAgent): string;
174
+ export {};
175
+ //# sourceMappingURL=backend-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-status.d.ts","sourceRoot":"","sources":["../../../../../cli/src/utils/backend-status.ts"],"names":[],"mappings":"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"}