crewly 1.20.106 → 1.20.108

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 +42 -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 +148 -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 +271 -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 +443 -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 +383 -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 +175 -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 +42 -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 +148 -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 +271 -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 +443 -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 +383 -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 +175 -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
@@ -35,6 +35,14 @@ export interface BrowserCommand {
35
35
  params?: Record<string, unknown>;
36
36
  /** Name of the agent sending this command (displayed in extension banner) */
37
37
  agentName?: string;
38
+ /**
39
+ * This backend's stable device id. The extension records it as the owner
40
+ * of tabs bound by this backend and refuses commands naming them from any
41
+ * other client (extension >= 0.4.20).
42
+ */
43
+ clientId?: string;
44
+ /** What the agent is trying to accomplish (displayed in extension banner) */
45
+ agentGoal?: string;
38
46
  }
39
47
  /** Response from Chrome Extension */
40
48
  export interface BrowserCommandResponse {
@@ -46,6 +54,11 @@ export interface BrowserCommandResponse {
46
54
  result?: unknown;
47
55
  /** Error message on failure */
48
56
  error?: string;
57
+ /**
58
+ * Browser instance that answered, when the command went over the relay.
59
+ * Set by BrowserProxyService, never by the extension.
60
+ */
61
+ instanceId?: string;
49
62
  }
50
63
  /** Status information about the Crewly in Chrome bridge */
51
64
  export interface BrowserBridgeStatus {
@@ -76,6 +89,12 @@ export interface AgentTabBinding {
76
89
  tabId: number;
77
90
  /** Window id the tab lives in (tracked for cross-window heuristics). */
78
91
  windowId?: number;
92
+ /**
93
+ * Relay browser instance the tab lives in; undefined when bound over a
94
+ * direct WS socket. Reconcile only judges a binding against inventories
95
+ * from this same instance.
96
+ */
97
+ instanceId?: string;
79
98
  /** Wall-clock time when the binding was first established. */
80
99
  boundAt: Date;
81
100
  /** Wall-clock time of the last command that touched this binding. Reset on activity. */
@@ -117,6 +136,21 @@ export declare class BrowserBridgeService {
117
136
  * tab-removed events from the Extension, TTL expiry, or shutdown.
118
137
  */
119
138
  private agentTabBindings;
139
+ /**
140
+ * Tab ids THIS backend created via `bindTab`, kept after the binding is
141
+ * released and only forgotten when the Extension reports the tab removed
142
+ * (or on shutdown). Orphan reconcile may close only these tabs.
143
+ *
144
+ * Why this set exists: every client on an account shares one "Crewly" tab
145
+ * group, and the relay broadcasts each browser's tab inventory to every
146
+ * backend on the account. `crewlyOwned` therefore means "some Crewly
147
+ * client's tab", not "ours". Closing every unbound Crewly tab made each
148
+ * backend close the other backends' agent tabs (tab-isolation incident,
149
+ * 2026-09-23). A tab we cannot attribute to this backend is left open.
150
+ */
151
+ private ownedTabIds;
152
+ /** This backend's device id, sent as `clientId` with every command. Cached once resolved. */
153
+ private clientId;
120
154
  /** Periodic timer that evicts idle bindings (§4.2). Only running while attached. */
121
155
  private sweepTimer;
122
156
  /** Last time we logged the soft-cap warning, used to throttle to once per sweep cycle. */
@@ -159,10 +193,18 @@ export declare class BrowserBridgeService {
159
193
  * @param params - Tool parameters
160
194
  * @param timeoutMs - Command timeout in milliseconds
161
195
  * @param agentName - Optional agent name to display in the extension banner
196
+ * @param agentGoal - Optional agent goal/objective to display in the banner
162
197
  * @returns Response from the Chrome Extension
163
198
  * @throws Error if no client is connected or command times out
164
199
  */
165
- sendCommand(tool: string, params?: Record<string, unknown>, timeoutMs?: number, agentName?: string): Promise<BrowserCommandResponse>;
200
+ sendCommand(tool: string, params?: Record<string, unknown>, timeoutMs?: number, agentName?: string, agentGoal?: string): Promise<BrowserCommandResponse>;
201
+ /**
202
+ * This backend's device id, sent as `clientId` so the extension can tell
203
+ * this backend's tabs from another backend's on the same account.
204
+ *
205
+ * @returns The device id, or undefined when it cannot be resolved
206
+ */
207
+ getClientId(): Promise<string | undefined>;
166
208
  /**
167
209
  * Look up the current binding for an agent session, if any. Read-only —
168
210
  * does NOT update `lastActivityAt`. Use `sendCommandForAgent` for the
@@ -227,8 +269,9 @@ export declare class BrowserBridgeService {
227
269
  * @param params Tool params; if it contains `tabId` we treat as explicit override.
228
270
  * @param timeoutMs Optional command timeout.
229
271
  * @param agentName Optional agent name for the Extension banner.
272
+ * @param agentGoal Optional agent goal/objective for the Extension banner.
230
273
  */
231
- sendCommandForAgent(agentSession: string | undefined, tool: string, params?: Record<string, unknown>, timeoutMs?: number, agentName?: string): Promise<BrowserCommandResponse>;
274
+ sendCommandForAgent(agentSession: string | undefined, tool: string, params?: Record<string, unknown>, timeoutMs?: number, agentName?: string, agentGoal?: string): Promise<BrowserCommandResponse>;
232
275
  /**
233
276
  * Handle a `tabRemoved` event from the Extension (§4.3 — fires when
234
277
  * the user manually closes a Crewly tab or when Chrome reaps it).
@@ -242,8 +285,17 @@ export declare class BrowserBridgeService {
242
285
  *
243
286
  * - For each backend binding whose tabId no longer exists in the
244
287
  * Extension → drop the binding (`reconcile_extension_missing`).
245
- * - For each Extension tab that is Crewly-owned but unknown to any
246
- * binding → ask the Extension to close it (orphan cleanup).
288
+ * - For each Extension tab that is Crewly-owned, not currently bound,
289
+ * AND was created by this backend (`ownedTabIds`) → ask the Extension
290
+ * to close it (orphan cleanup).
291
+ * - A Crewly-owned tab this backend never created is left open and
292
+ * logged at debug: it may belong to another Crewly client on the same
293
+ * account (the relay broadcasts inventories to every backend, and all
294
+ * clients share one Crewly tab group). After a backend restart this
295
+ * leaves our own stray tabs open, which is the safe direction.
296
+ *
297
+ * A binding is only judged against an inventory from its own browser
298
+ * instance (`instanceId`); undefined on both sides means the direct-WS path.
247
299
  *
248
300
  * Caller is responsible for actually sending the close commands; this
249
301
  * method returns the orphan list rather than firing `unbindTab` itself
@@ -251,7 +303,7 @@ export declare class BrowserBridgeService {
251
303
  *
252
304
  * @returns Orphan tabs the caller should close.
253
305
  */
254
- handleTabInventory(extensionTabs: ExtensionTabDescriptor[]): {
306
+ handleTabInventory(extensionTabs: ExtensionTabDescriptor[], instanceId?: string): {
255
307
  orphans: number[];
256
308
  };
257
309
  /** Effective hard cap, allowing env override `CREWLY_TAB_BIND_MAX`. */
@@ -1 +1 @@
1
- {"version":3,"file":"browser-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,21 @@ export class BrowserBridgeService {
46
46
  * tab-removed events from the Extension, TTL expiry, or shutdown.
47
47
  */
48
48
  agentTabBindings = new Map();
49
+ /**
50
+ * Tab ids THIS backend created via `bindTab`, kept after the binding is
51
+ * released and only forgotten when the Extension reports the tab removed
52
+ * (or on shutdown). Orphan reconcile may close only these tabs.
53
+ *
54
+ * Why this set exists: every client on an account shares one "Crewly" tab
55
+ * group, and the relay broadcasts each browser's tab inventory to every
56
+ * backend on the account. `crewlyOwned` therefore means "some Crewly
57
+ * client's tab", not "ours". Closing every unbound Crewly tab made each
58
+ * backend close the other backends' agent tabs (tab-isolation incident,
59
+ * 2026-09-23). A tab we cannot attribute to this backend is left open.
60
+ */
61
+ ownedTabIds = new Set();
62
+ /** This backend's device id, sent as `clientId` with every command. Cached once resolved. */
63
+ clientId = null;
49
64
  /** Periodic timer that evicts idle bindings (§4.2). Only running while attached. */
50
65
  sweepTimer = null;
51
66
  /** Last time we logged the soft-cap warning, used to throttle to once per sweep cycle. */
@@ -85,6 +100,8 @@ export class BrowserBridgeService {
85
100
  * @param httpServer - The HTTP server to attach to
86
101
  */
87
102
  attach(httpServer) {
103
+ // Resolve now: the orphan sweep sends from a sync handler and reads the cache.
104
+ void this.getClientId();
88
105
  if (this.wss) {
89
106
  this.logger.warn('WebSocket server already attached');
90
107
  return;
@@ -195,7 +212,13 @@ export class BrowserBridgeService {
195
212
  for (const tabId of orphans) {
196
213
  try {
197
214
  const id = `cmd-orphan-${++this.commandCounter}-${Date.now()}`;
198
- client.ws.send(JSON.stringify({ id, tool: 'unbindTab', params: { tabId } }));
215
+ client.ws.send(JSON.stringify({
216
+ id,
217
+ tool: 'unbindTab',
218
+ params: { tabId },
219
+ // Without it the extension refuses to close a tab this backend owns.
220
+ ...(this.clientId ? { clientId: this.clientId } : {}),
221
+ }));
199
222
  }
200
223
  catch (err) {
201
224
  this.logger.warn('Failed to send orphan unbindTab', {
@@ -232,10 +255,11 @@ export class BrowserBridgeService {
232
255
  * @param params - Tool parameters
233
256
  * @param timeoutMs - Command timeout in milliseconds
234
257
  * @param agentName - Optional agent name to display in the extension banner
258
+ * @param agentGoal - Optional agent goal/objective to display in the banner
235
259
  * @returns Response from the Chrome Extension
236
260
  * @throws Error if no client is connected or command times out
237
261
  */
238
- async sendCommand(tool, params, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS, agentName) {
262
+ async sendCommand(tool, params, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS, agentName, agentGoal) {
239
263
  const client = this.getActiveClient();
240
264
  // Fallback when no direct WS client is connected.
241
265
  //
@@ -257,21 +281,27 @@ export class BrowserBridgeService {
257
281
  const proxy = BrowserProxyService.getInstance();
258
282
  if (proxy.isAvailable()) {
259
283
  this.logger.info('No direct WS client, routing via BrowserProxy', { tool });
260
- return proxy.sendCommand(tool, params, undefined, timeoutMs, agentName);
284
+ return proxy.sendCommand(tool, params, undefined, timeoutMs, agentName, undefined, agentGoal);
261
285
  }
262
286
  const { BrowserRelayAdapter } = await import('./browser-relay-adapter.service.js');
263
287
  const relayAdapter = BrowserRelayAdapter.getInstance();
264
288
  if (relayAdapter.isAvailable()) {
265
289
  this.logger.info('No direct WS client and no proxy, routing via legacy adapter', { tool });
266
- return relayAdapter.sendViaRelay(tool, params, timeoutMs, agentName);
290
+ return relayAdapter.sendViaRelay(tool, params, timeoutMs, agentName, agentGoal);
267
291
  }
268
292
  throw new Error('No Chrome Extension connected (direct WS, BrowserProxy, or Cloud relay)');
269
293
  }
270
294
  const id = `cmd-${++this.commandCounter}-${Date.now()}`;
271
295
  const command = { id, tool, params };
296
+ const clientId = await this.getClientId();
297
+ if (clientId)
298
+ command.clientId = clientId;
272
299
  if (agentName) {
273
300
  command.agentName = agentName;
274
301
  }
302
+ if (agentGoal) {
303
+ command.agentGoal = agentGoal;
304
+ }
275
305
  return new Promise((resolve, reject) => {
276
306
  const timer = setTimeout(() => {
277
307
  this.pendingCommands.delete(id);
@@ -291,6 +321,26 @@ export class BrowserBridgeService {
291
321
  // -------------------------------------------------------------------------
292
322
  // Per-tab dispatch (§3.2 — 1 agent : 1 tab binding)
293
323
  // -------------------------------------------------------------------------
324
+ /**
325
+ * This backend's device id, sent as `clientId` so the extension can tell
326
+ * this backend's tabs from another backend's on the same account.
327
+ *
328
+ * @returns The device id, or undefined when it cannot be resolved
329
+ */
330
+ async getClientId() {
331
+ if (this.clientId)
332
+ return this.clientId;
333
+ try {
334
+ const { DeviceIdentityService } = await import('../cloud/device-identity.service.js');
335
+ this.clientId = await DeviceIdentityService.getInstance().getDeviceId();
336
+ }
337
+ catch (err) {
338
+ this.logger.debug('Could not resolve clientId for browser commands (non-fatal)', {
339
+ error: err instanceof Error ? err.message : String(err),
340
+ });
341
+ }
342
+ return this.clientId ?? undefined;
343
+ }
294
344
  /**
295
345
  * Look up the current binding for an agent session, if any. Read-only —
296
346
  * does NOT update `lastActivityAt`. Use `sendCommandForAgent` for the
@@ -350,10 +400,12 @@ export class BrowserBridgeService {
350
400
  agentSession,
351
401
  tabId: result.tabId,
352
402
  windowId: result.windowId,
403
+ ...(response.instanceId ? { instanceId: response.instanceId } : {}),
353
404
  boundAt: new Date(),
354
405
  lastActivityAt: new Date(),
355
406
  };
356
407
  this.agentTabBindings.set(agentSession, binding);
408
+ this.ownedTabIds.add(binding.tabId);
357
409
  this.maybeWarnSoftCap();
358
410
  this.logger.info('Agent tab bound', {
359
411
  agentSession,
@@ -418,8 +470,9 @@ export class BrowserBridgeService {
418
470
  * @param params Tool params; if it contains `tabId` we treat as explicit override.
419
471
  * @param timeoutMs Optional command timeout.
420
472
  * @param agentName Optional agent name for the Extension banner.
473
+ * @param agentGoal Optional agent goal/objective for the Extension banner.
421
474
  */
422
- async sendCommandForAgent(agentSession, tool, params, timeoutMs, agentName) {
475
+ async sendCommandForAgent(agentSession, tool, params, timeoutMs, agentName, agentGoal) {
423
476
  // Path 1: explicit tabId override — pass through, log so it's auditable.
424
477
  if (params && typeof params.tabId === 'number') {
425
478
  this.logger.debug('sendCommandForAgent: explicit tabId override', {
@@ -427,11 +480,11 @@ export class BrowserBridgeService {
427
480
  tabId: params.tabId,
428
481
  tool,
429
482
  });
430
- return this.sendCommand(tool, params, timeoutMs, agentName);
483
+ return this.sendCommand(tool, params, timeoutMs, agentName, agentGoal);
431
484
  }
432
485
  // Path 4: no agent session — legacy active-tab path.
433
486
  if (!agentSession) {
434
- return this.sendCommand(tool, params, timeoutMs, agentName);
487
+ return this.sendCommand(tool, params, timeoutMs, agentName, agentGoal);
435
488
  }
436
489
  // Path 2 / 3: resolve binding, auto-bind on miss.
437
490
  let binding = this.agentTabBindings.get(agentSession);
@@ -440,7 +493,7 @@ export class BrowserBridgeService {
440
493
  }
441
494
  binding.lastActivityAt = new Date();
442
495
  const merged = { ...(params ?? {}), tabId: binding.tabId };
443
- return this.sendCommand(tool, merged, timeoutMs, agentName);
496
+ return this.sendCommand(tool, merged, timeoutMs, agentName, agentGoal);
444
497
  }
445
498
  /**
446
499
  * Handle a `tabRemoved` event from the Extension (§4.3 — fires when
@@ -448,6 +501,8 @@ export class BrowserBridgeService {
448
501
  * Idempotent: tabs not in any binding are ignored.
449
502
  */
450
503
  handleTabRemoved(tabId) {
504
+ // The tab is gone, so it can no longer be ours to close.
505
+ this.ownedTabIds.delete(tabId);
451
506
  for (const [agentSession, binding] of this.agentTabBindings) {
452
507
  if (binding.tabId === tabId) {
453
508
  this.agentTabBindings.delete(agentSession);
@@ -468,8 +523,17 @@ export class BrowserBridgeService {
468
523
  *
469
524
  * - For each backend binding whose tabId no longer exists in the
470
525
  * Extension → drop the binding (`reconcile_extension_missing`).
471
- * - For each Extension tab that is Crewly-owned but unknown to any
472
- * binding → ask the Extension to close it (orphan cleanup).
526
+ * - For each Extension tab that is Crewly-owned, not currently bound,
527
+ * AND was created by this backend (`ownedTabIds`) → ask the Extension
528
+ * to close it (orphan cleanup).
529
+ * - A Crewly-owned tab this backend never created is left open and
530
+ * logged at debug: it may belong to another Crewly client on the same
531
+ * account (the relay broadcasts inventories to every backend, and all
532
+ * clients share one Crewly tab group). After a backend restart this
533
+ * leaves our own stray tabs open, which is the safe direction.
534
+ *
535
+ * A binding is only judged against an inventory from its own browser
536
+ * instance (`instanceId`); undefined on both sides means the direct-WS path.
473
537
  *
474
538
  * Caller is responsible for actually sending the close commands; this
475
539
  * method returns the orphan list rather than firing `unbindTab` itself
@@ -477,11 +541,16 @@ export class BrowserBridgeService {
477
541
  *
478
542
  * @returns Orphan tabs the caller should close.
479
543
  */
480
- handleTabInventory(extensionTabs) {
544
+ handleTabInventory(extensionTabs, instanceId) {
481
545
  const extensionTabIds = new Set(extensionTabs.filter((t) => typeof t.tabId === 'number').map((t) => t.tabId));
482
546
  const boundTabIds = new Set(Array.from(this.agentTabBindings.values()).map((b) => b.tabId));
483
547
  // Drop stale bindings.
484
548
  for (const [agentSession, binding] of this.agentTabBindings) {
549
+ // An inventory only speaks for the browser that sent it. With several
550
+ // browsers on one account, a tab missing from browser B's list says
551
+ // nothing about a binding that lives in browser A.
552
+ if (binding.instanceId !== instanceId)
553
+ continue;
485
554
  if (!extensionTabIds.has(binding.tabId)) {
486
555
  this.agentTabBindings.delete(agentSession);
487
556
  this.logger.info('Binding cleared (tab missing from Extension inventory)', {
@@ -491,21 +560,31 @@ export class BrowserBridgeService {
491
560
  });
492
561
  }
493
562
  }
494
- // Identify Crewly-owned orphans (tabs in Crewly group with no binding).
563
+ // Identify orphans: Crewly-group tabs that THIS backend created and no
564
+ // longer has bound. Unattributable tabs are never closed.
495
565
  const orphans = [];
566
+ const unattributed = [];
496
567
  for (const tab of extensionTabs) {
497
568
  if (typeof tab.tabId !== 'number')
498
569
  continue;
499
570
  if (!tab.crewlyOwned)
500
571
  continue; // never auto-close user's regular tabs
501
- if (!boundTabIds.has(tab.tabId)) {
502
- orphans.push(tab.tabId);
572
+ if (boundTabIds.has(tab.tabId))
573
+ continue; // still in use by one of our agents
574
+ if (!this.ownedTabIds.has(tab.tabId)) {
575
+ unattributed.push(tab.tabId);
576
+ continue;
503
577
  }
578
+ orphans.push(tab.tabId);
579
+ this.logger.info('Reconcile closing orphan tab', {
580
+ tabId: tab.tabId,
581
+ reason: BROWSER_BRIDGE_CONSTANTS.RECONCILE_CLOSE_REASON_OWN_UNBOUND,
582
+ });
504
583
  }
505
- if (orphans.length > 0) {
506
- this.logger.info('Reconcile found Crewly-owned orphan tabs', {
507
- orphanCount: orphans.length,
508
- orphanTabIds: orphans,
584
+ if (unattributed.length > 0) {
585
+ this.logger.debug('Reconcile left unattributed Crewly tabs open (not created by this backend)', {
586
+ count: unattributed.length,
587
+ tabIds: unattributed,
509
588
  });
510
589
  }
511
590
  return { orphans };
@@ -709,6 +788,7 @@ export class BrowserBridgeService {
709
788
  });
710
789
  this.agentTabBindings.clear();
711
790
  }
791
+ this.ownedTabIds.clear();
712
792
  // Clear all pending commands
713
793
  for (const [id, pending] of this.pendingCommands) {
714
794
  clearTimeout(pending.timer);
@@ -1 +1 @@
1
- {"version":3,"file":"browser-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"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"}
@@ -274,6 +274,15 @@ export declare class BrowserProxyService {
274
274
  * @returns The device id, or null if not yet resolved
275
275
  */
276
276
  getDeviceId(): string | null;
277
+ /**
278
+ * Get the session id the relay assigned this backend, when registered.
279
+ *
280
+ * Observability only — logged with each browser dispatch so a relay
281
+ * re-registration can be lined up against the commands around it.
282
+ *
283
+ * @returns The relay session id, or null while not registered
284
+ */
285
+ getSessionId(): string | null;
277
286
  /**
278
287
  * Send a browser command to a specific instance (or the only connected one).
279
288
  *
@@ -286,10 +295,12 @@ export declare class BrowserProxyService {
286
295
  * @param instance - Target instance name or ID (optional if only 1 connected)
287
296
  * @param timeoutMs - Command timeout in milliseconds
288
297
  * @param agentName - Agent name for extension banner display
298
+ * @param agentSession - Owning agent session (per-tab binding lookup)
299
+ * @param agentGoal - What the agent is trying to accomplish (banner display)
289
300
  * @returns Response from the Chrome Extension
290
301
  * @throws Error if no instances available, target not found, or timeout
291
302
  */
292
- sendCommand(tool: string, params?: Record<string, unknown>, instance?: string, timeoutMs?: number, agentName?: string, agentSession?: string): Promise<BrowserCommandResponse>;
303
+ sendCommand(tool: string, params?: Record<string, unknown>, instance?: string, timeoutMs?: number, agentName?: string, agentSession?: string, agentGoal?: string): Promise<BrowserCommandResponse>;
293
304
  /**
294
305
  * Resolve which browser instance to target.
295
306
  *
@@ -1 +1 @@
1
- {"version":3,"file":"browser-proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-proxy.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-proxy.service.ts"],"names":[],"mappings":"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"}
@@ -398,6 +398,17 @@ export class BrowserProxyService {
398
398
  getDeviceId() {
399
399
  return this.deviceId;
400
400
  }
401
+ /**
402
+ * Get the session id the relay assigned this backend, when registered.
403
+ *
404
+ * Observability only — logged with each browser dispatch so a relay
405
+ * re-registration can be lined up against the commands around it.
406
+ *
407
+ * @returns The relay session id, or null while not registered
408
+ */
409
+ getSessionId() {
410
+ return this.sessionId;
411
+ }
401
412
  /**
402
413
  * Send a browser command to a specific instance (or the only connected one).
403
414
  *
@@ -410,10 +421,12 @@ export class BrowserProxyService {
410
421
  * @param instance - Target instance name or ID (optional if only 1 connected)
411
422
  * @param timeoutMs - Command timeout in milliseconds
412
423
  * @param agentName - Agent name for extension banner display
424
+ * @param agentSession - Owning agent session (per-tab binding lookup)
425
+ * @param agentGoal - What the agent is trying to accomplish (banner display)
413
426
  * @returns Response from the Chrome Extension
414
427
  * @throws Error if no instances available, target not found, or timeout
415
428
  */
416
- async sendCommand(tool, params, instance, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS, agentName, agentSession) {
429
+ async sendCommand(tool, params, instance, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS, agentName, agentSession, agentGoal) {
417
430
  if (this.state !== 'connected' || !this.ws) {
418
431
  throw new Error('Browser proxy not connected to relay');
419
432
  }
@@ -466,18 +479,25 @@ export class BrowserProxyService {
466
479
  }
467
480
  }
468
481
  const id = `proxy-${++this.commandCounter}-${Date.now()}`;
482
+ // The extension records this as the owner of tabs we bind, and refuses
483
+ // another backend's commands on them (extension >= 0.4.20). Resolved at
484
+ // relay registration; read synchronously so sending stays synchronous.
485
+ if (!this.deviceId)
486
+ void this.ensureDeviceId();
469
487
  const payload = JSON.stringify({
470
488
  id,
471
489
  tool,
472
490
  params: resolvedParams,
473
491
  agentName,
492
+ ...(this.deviceId ? { clientId: this.deviceId } : {}),
493
+ agentGoal,
474
494
  });
475
495
  return new Promise((resolve, reject) => {
476
496
  const timer = setTimeout(() => {
477
497
  this.pendingCommands.delete(id);
478
498
  reject(new Error(`Browser command '${tool}' timed out after ${timeoutMs}ms`));
479
499
  }, timeoutMs);
480
- this.pendingCommands.set(id, { resolve, reject, timer });
500
+ this.pendingCommands.set(id, { resolve, reject, timer, instanceId: targetInstance.instanceId });
481
501
  this.sendRaw({
482
502
  type: 'relay_to',
483
503
  targetInstance: targetInstance.instanceName,
@@ -826,7 +846,7 @@ export class BrowserProxyService {
826
846
  break;
827
847
  const rawTabs = Array.isArray(msg.tabs) ? msg.tabs : [];
828
848
  const tabs = rawTabs.filter((t) => typeof t === 'object' && t !== null && typeof t.tabId === 'number');
829
- const { orphans } = bridge.handleTabInventory(tabs);
849
+ const { orphans } = bridge.handleTabInventory(tabs, instanceId);
830
850
  // Same sweep the bridge performs on the direct path, addressed to the
831
851
  // browser that reported the inventory. Best-effort: a failure only means
832
852
  // the tab lingers, and the user can close it.
@@ -871,7 +891,8 @@ export class BrowserProxyService {
871
891
  if (pending) {
872
892
  clearTimeout(pending.timer);
873
893
  this.pendingCommands.delete(response.id);
874
- pending.resolve(response);
894
+ // Tell the caller which browser answered, so a binding can be tied to it.
895
+ pending.resolve(pending.instanceId ? { ...response, instanceId: pending.instanceId } : response);
875
896
  this.logger.debug('Command response received', {
876
897
  id: response.id,
877
898
  success: response.success,