crewly 1.20.195 → 1.20.197

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 (595) hide show
  1. package/config/constants.ts +68 -0
  2. package/config/hooks/agent-status/report.sh +31 -12
  3. package/config/hooks/subagent-guard/subagent.sh +25 -1
  4. package/config/roles/orchestrator/fragments/lifecycle.md +1 -1
  5. package/config/roles/orchestrator/prompt.md +3 -3
  6. package/config/skills/_common/lib.sh +28 -5
  7. package/config/skills/_common/lib.test.sh +32 -1
  8. package/config/skills/agent/core/create-intent-tasks/execute.sh +2 -0
  9. package/config/skills/agent/core/decompose-intent/execute.sh +2 -0
  10. package/config/skills/agent/core/experiment-card/SKILL.md +29 -1
  11. package/config/skills/agent/core/experiment-card/execute.sh +35 -1
  12. package/config/skills/agent/core/experiment-card/execute.test.sh +11 -0
  13. package/config/skills/agent/core/project-tickets/SKILL.md +35 -2
  14. package/config/skills/agent/core/project-tickets/execute.sh +59 -6
  15. package/config/skills/agent/core/project-tickets/execute.test.sh +24 -0
  16. package/config/skills/agent/core/send-message/execute.sh +16 -0
  17. package/config/skills/agent/core/send-message/execute.test.sh +10 -0
  18. package/config/skills/agent/core/trace-read/SKILL.md +117 -0
  19. package/config/skills/agent/core/trace-read/execute.sh +116 -0
  20. package/config/skills/agent/core/update-intent-task/execute.sh +2 -0
  21. package/config/skills/agent/marketing/submit-for-approval/execute.sh +3 -2
  22. package/config/skills/orchestrator/decompose-mission/execute.sh +2 -0
  23. package/config/skills/orchestrator/decompose-okr/execute.sh +1 -0
  24. package/config/skills/orchestrator/design-team/execute.sh +2 -0
  25. package/config/skills/orchestrator/measure-kr/execute.sh +2 -0
  26. package/config/skills/orchestrator/review-mission/execute.sh +2 -0
  27. package/config/skills/orchestrator/send-message/execute.sh +10 -2
  28. package/config/skills/orchestrator/send-message/execute.test.sh +9 -0
  29. package/config/skills/team-leader/design-checklist/execute.sh +2 -0
  30. package/dist/backend/backend/src/constants.d.ts +223 -5
  31. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  32. package/dist/backend/backend/src/constants.js +206 -6
  33. package/dist/backend/backend/src/constants.js.map +1 -1
  34. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +9 -3
  35. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  36. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +38 -5
  37. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  38. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts +4 -9
  39. package/dist/backend/backend/src/controllers/approvals/approvals.controller.d.ts.map +1 -1
  40. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js +6 -14
  41. package/dist/backend/backend/src/controllers/approvals/approvals.controller.js.map +1 -1
  42. package/dist/backend/backend/src/controllers/auth/owner-session.controller.d.ts +64 -0
  43. package/dist/backend/backend/src/controllers/auth/owner-session.controller.d.ts.map +1 -0
  44. package/dist/backend/backend/src/controllers/auth/owner-session.controller.js +164 -0
  45. package/dist/backend/backend/src/controllers/auth/owner-session.controller.js.map +1 -0
  46. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  47. package/dist/backend/backend/src/controllers/browser/browser.controller.js +54 -8
  48. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  49. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
  50. package/dist/backend/backend/src/controllers/browser/browser.routes.js +18 -5
  51. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
  52. package/dist/backend/backend/src/controllers/canva/canva.routes.d.ts.map +1 -1
  53. package/dist/backend/backend/src/controllers/canva/canva.routes.js +8 -1
  54. package/dist/backend/backend/src/controllers/canva/canva.routes.js.map +1 -1
  55. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  56. package/dist/backend/backend/src/controllers/chat/chat.controller.js +10 -1
  57. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  58. package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.d.ts.map +1 -1
  59. package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js +3 -5
  60. package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js.map +1 -1
  61. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts +4 -2
  62. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts.map +1 -1
  63. package/dist/backend/backend/src/controllers/connector/connector.controller.js +17 -2
  64. package/dist/backend/backend/src/controllers/connector/connector.controller.js.map +1 -1
  65. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts.map +1 -1
  66. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js +2 -3
  67. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js.map +1 -1
  68. package/dist/backend/backend/src/controllers/decisions/decisions.controller.d.ts +4 -2
  69. package/dist/backend/backend/src/controllers/decisions/decisions.controller.d.ts.map +1 -1
  70. package/dist/backend/backend/src/controllers/decisions/decisions.controller.js +31 -20
  71. package/dist/backend/backend/src/controllers/decisions/decisions.controller.js.map +1 -1
  72. package/dist/backend/backend/src/controllers/desktop/desktop.controller.d.ts.map +1 -1
  73. package/dist/backend/backend/src/controllers/desktop/desktop.controller.js +16 -0
  74. package/dist/backend/backend/src/controllers/desktop/desktop.controller.js.map +1 -1
  75. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  76. package/dist/backend/backend/src/controllers/google/google.controller.js +9 -5
  77. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  78. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  79. package/dist/backend/backend/src/controllers/google/google.routes.js +16 -3
  80. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  81. package/dist/backend/backend/src/controllers/harness/harness.controller.d.ts.map +1 -1
  82. package/dist/backend/backend/src/controllers/harness/harness.controller.js +3 -5
  83. package/dist/backend/backend/src/controllers/harness/harness.controller.js.map +1 -1
  84. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts.map +1 -1
  85. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js +8 -1
  86. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js.map +1 -1
  87. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js +1 -1
  88. package/dist/backend/backend/src/controllers/mission/mission-policy.routes.js.map +1 -1
  89. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.d.ts.map +1 -1
  90. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js +3 -5
  91. package/dist/backend/backend/src/controllers/owner-receipt/owner-receipt.controller.js.map +1 -1
  92. package/dist/backend/backend/src/controllers/people/people.routes.d.ts.map +1 -1
  93. package/dist/backend/backend/src/controllers/people/people.routes.js +3 -5
  94. package/dist/backend/backend/src/controllers/people/people.routes.js.map +1 -1
  95. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +35 -2
  96. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  97. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +138 -4
  98. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  99. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts +2 -0
  100. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.d.ts.map +1 -1
  101. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js +7 -1
  102. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.routes.js.map +1 -1
  103. package/dist/backend/backend/src/controllers/request/open-items.controller.d.ts.map +1 -1
  104. package/dist/backend/backend/src/controllers/request/open-items.controller.js +2 -4
  105. package/dist/backend/backend/src/controllers/request/open-items.controller.js.map +1 -1
  106. package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.js +1 -1
  107. package/dist/backend/backend/src/controllers/signal-digest/signal-digest.controller.js.map +1 -1
  108. package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
  109. package/dist/backend/backend/src/controllers/slack/slack.controller.js +9 -0
  110. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  111. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
  112. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +11 -0
  113. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
  114. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts +6 -4
  115. package/dist/backend/backend/src/controllers/system/system-control.controller.d.ts.map +1 -1
  116. package/dist/backend/backend/src/controllers/system/system-control.controller.js +20 -13
  117. package/dist/backend/backend/src/controllers/system/system-control.controller.js.map +1 -1
  118. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  119. package/dist/backend/backend/src/controllers/team/team.controller.js +14 -7
  120. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  121. package/dist/backend/backend/src/controllers/tickets/tickets.controller.d.ts.map +1 -1
  122. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js +5 -7
  123. package/dist/backend/backend/src/controllers/tickets/tickets.controller.js.map +1 -1
  124. package/dist/backend/backend/src/controllers/trace/trace.controller.d.ts +30 -4
  125. package/dist/backend/backend/src/controllers/trace/trace.controller.d.ts.map +1 -1
  126. package/dist/backend/backend/src/controllers/trace/trace.controller.js +278 -10
  127. package/dist/backend/backend/src/controllers/trace/trace.controller.js.map +1 -1
  128. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts +3 -3
  129. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.d.ts.map +1 -1
  130. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js +4 -2
  131. package/dist/backend/backend/src/controllers/whatsapp/whatsapp-inbox.controller.js.map +1 -1
  132. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.d.ts.map +1 -1
  133. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js +10 -2
  134. package/dist/backend/backend/src/controllers/whatsapp/whatsapp.controller.js.map +1 -1
  135. package/dist/backend/backend/src/index.d.ts +34 -0
  136. package/dist/backend/backend/src/index.d.ts.map +1 -1
  137. package/dist/backend/backend/src/index.js +313 -42
  138. package/dist/backend/backend/src/index.js.map +1 -1
  139. package/dist/backend/backend/src/middleware/agent-origin-correction.d.ts +31 -0
  140. package/dist/backend/backend/src/middleware/agent-origin-correction.d.ts.map +1 -0
  141. package/dist/backend/backend/src/middleware/agent-origin-correction.js +31 -0
  142. package/dist/backend/backend/src/middleware/agent-origin-correction.js.map +1 -0
  143. package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts +6 -0
  144. package/dist/backend/backend/src/middleware/agent-origin.middleware.d.ts.map +1 -1
  145. package/dist/backend/backend/src/middleware/agent-origin.middleware.js +4 -1
  146. package/dist/backend/backend/src/middleware/agent-origin.middleware.js.map +1 -1
  147. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts +20 -17
  148. package/dist/backend/backend/src/middleware/api-token.middleware.d.ts.map +1 -1
  149. package/dist/backend/backend/src/middleware/api-token.middleware.js +27 -37
  150. package/dist/backend/backend/src/middleware/api-token.middleware.js.map +1 -1
  151. package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts +213 -0
  152. package/dist/backend/backend/src/middleware/caller-identity.middleware.d.ts.map +1 -0
  153. package/dist/backend/backend/src/middleware/caller-identity.middleware.js +481 -0
  154. package/dist/backend/backend/src/middleware/caller-identity.middleware.js.map +1 -0
  155. package/dist/backend/backend/src/middleware/caller-identity.testing.d.ts +67 -0
  156. package/dist/backend/backend/src/middleware/caller-identity.testing.d.ts.map +1 -0
  157. package/dist/backend/backend/src/middleware/caller-identity.testing.js +108 -0
  158. package/dist/backend/backend/src/middleware/caller-identity.testing.js.map +1 -0
  159. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  160. package/dist/backend/backend/src/services/agent/agent-registration.service.js +12 -2
  161. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  162. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +7 -5
  163. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  164. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +19 -10
  165. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  166. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  167. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -1
  168. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  169. package/dist/backend/backend/src/services/agent/restore-filter.d.ts +5 -2
  170. package/dist/backend/backend/src/services/agent/restore-filter.d.ts.map +1 -1
  171. package/dist/backend/backend/src/services/agent/restore-filter.js +5 -2
  172. package/dist/backend/backend/src/services/agent/restore-filter.js.map +1 -1
  173. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +4 -0
  175. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  176. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +29 -0
  177. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +77 -1
  179. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  180. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  182. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  183. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts +34 -1
  184. package/dist/backend/backend/src/services/browser/browser-session.service.d.ts.map +1 -1
  185. package/dist/backend/backend/src/services/browser/browser-session.service.js +38 -1
  186. package/dist/backend/backend/src/services/browser/browser-session.service.js.map +1 -1
  187. package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts +98 -10
  188. package/dist/backend/backend/src/services/browser/owner-browser-input.d.ts.map +1 -1
  189. package/dist/backend/backend/src/services/browser/owner-browser-input.js +126 -11
  190. package/dist/backend/backend/src/services/browser/owner-browser-input.js.map +1 -1
  191. package/dist/backend/backend/src/services/chat/chat.service.d.ts +99 -2
  192. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  193. package/dist/backend/backend/src/services/chat/chat.service.js +265 -40
  194. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  195. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -5
  196. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  197. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +34 -4
  198. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  199. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts +18 -11
  200. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
  201. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js +19 -25
  202. package/dist/backend/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
  203. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +7 -4
  204. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  205. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +8 -4
  206. package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  207. package/dist/backend/backend/src/services/chat-v2/types.d.ts +0 -1
  208. package/dist/backend/backend/src/services/chat-v2/types.d.ts.map +1 -1
  209. package/dist/backend/backend/src/services/chat-v2/types.js +0 -1
  210. package/dist/backend/backend/src/services/chat-v2/types.js.map +1 -1
  211. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.d.ts.map +1 -1
  212. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js +5 -0
  213. package/dist/backend/backend/src/services/cloud/mobile-api-relay.service.js.map +1 -1
  214. package/dist/backend/backend/src/services/core/api-token.service.d.ts +28 -0
  215. package/dist/backend/backend/src/services/core/api-token.service.d.ts.map +1 -1
  216. package/dist/backend/backend/src/services/core/api-token.service.js +46 -0
  217. package/dist/backend/backend/src/services/core/api-token.service.js.map +1 -1
  218. package/dist/backend/backend/src/services/core/dashboard-build.d.ts +49 -0
  219. package/dist/backend/backend/src/services/core/dashboard-build.d.ts.map +1 -0
  220. package/dist/backend/backend/src/services/core/dashboard-build.js +68 -0
  221. package/dist/backend/backend/src/services/core/dashboard-build.js.map +1 -0
  222. package/dist/backend/backend/src/services/core/owner-auth.service.d.ts +127 -0
  223. package/dist/backend/backend/src/services/core/owner-auth.service.d.ts.map +1 -0
  224. package/dist/backend/backend/src/services/core/owner-auth.service.js +205 -0
  225. package/dist/backend/backend/src/services/core/owner-auth.service.js.map +1 -0
  226. package/dist/backend/backend/src/services/core/peer-process.service.d.ts +168 -0
  227. package/dist/backend/backend/src/services/core/peer-process.service.d.ts.map +1 -0
  228. package/dist/backend/backend/src/services/core/peer-process.service.js +352 -0
  229. package/dist/backend/backend/src/services/core/peer-process.service.js.map +1 -0
  230. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts +97 -1
  231. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts.map +1 -1
  232. package/dist/backend/backend/src/services/experiments/experiment.service.js +372 -1
  233. package/dist/backend/backend/src/services/experiments/experiment.service.js.map +1 -1
  234. package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts.map +1 -1
  235. package/dist/backend/backend/src/services/experiments/experiment.wiring.js +19 -2
  236. package/dist/backend/backend/src/services/experiments/experiment.wiring.js.map +1 -1
  237. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.d.ts.map +1 -1
  238. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +2 -1
  239. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
  240. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts +0 -8
  241. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  242. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js +0 -18
  243. package/dist/backend/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  244. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +19 -0
  245. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  246. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +41 -5
  247. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  248. package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts +184 -0
  249. package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -0
  250. package/dist/backend/backend/src/services/monitoring/agent-turn-state.js +391 -0
  251. package/dist/backend/backend/src/services/monitoring/agent-turn-state.js.map +1 -0
  252. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts +35 -1
  253. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
  254. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +138 -2
  255. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
  256. package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.d.ts +73 -0
  257. package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.d.ts.map +1 -0
  258. package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.js +258 -0
  259. package/dist/backend/backend/src/services/monitoring/claude-transcript-turn.js.map +1 -0
  260. package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.d.ts +82 -0
  261. package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.d.ts.map +1 -0
  262. package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.js +141 -0
  263. package/dist/backend/backend/src/services/monitoring/deferred-idle-settle.js.map +1 -0
  264. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts +51 -1
  265. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.d.ts.map +1 -1
  266. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js +118 -2
  267. package/dist/backend/backend/src/services/monitoring/system-resource-alert.service.js.map +1 -1
  268. package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.d.ts +103 -0
  269. package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.d.ts.map +1 -0
  270. package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.js +86 -0
  271. package/dist/backend/backend/src/services/monitoring/transcript-cost-repair.js.map +1 -0
  272. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +57 -0
  273. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  274. package/dist/backend/backend/src/services/open-items/open-items.service.js +100 -4
  275. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  276. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
  277. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +13 -0
  278. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
  279. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts +36 -0
  280. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  281. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js +42 -3
  282. package/dist/backend/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  283. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts.map +1 -1
  284. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js +2 -1
  285. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js.map +1 -1
  286. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
  287. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +3 -0
  288. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
  289. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.d.ts +156 -0
  290. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.d.ts.map +1 -0
  291. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js +308 -0
  292. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-retro.js.map +1 -0
  293. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts +212 -0
  294. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.d.ts.map +1 -0
  295. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js +515 -0
  296. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-stats.js.map +1 -0
  297. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts +186 -0
  298. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.d.ts.map +1 -0
  299. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js +341 -0
  300. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-trace.js.map +1 -0
  301. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +309 -0
  302. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  303. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +726 -1
  304. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  305. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +34 -3
  306. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
  307. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js +57 -2
  308. package/dist/backend/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
  309. package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts +61 -3
  310. package/dist/backend/backend/src/services/restart/interrupted-turns.d.ts.map +1 -1
  311. package/dist/backend/backend/src/services/restart/interrupted-turns.js +106 -9
  312. package/dist/backend/backend/src/services/restart/interrupted-turns.js.map +1 -1
  313. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts +22 -0
  314. package/dist/backend/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  315. package/dist/backend/backend/src/services/restart/restart-drain.service.js +37 -5
  316. package/dist/backend/backend/src/services/restart/restart-drain.service.js.map +1 -1
  317. package/dist/backend/backend/src/services/restart/supervisor-stop-budget.d.ts +62 -0
  318. package/dist/backend/backend/src/services/restart/supervisor-stop-budget.d.ts.map +1 -0
  319. package/dist/backend/backend/src/services/restart/supervisor-stop-budget.js +126 -0
  320. package/dist/backend/backend/src/services/restart/supervisor-stop-budget.js.map +1 -0
  321. package/dist/backend/backend/src/services/restart/turn-probe.d.ts +17 -2
  322. package/dist/backend/backend/src/services/restart/turn-probe.d.ts.map +1 -1
  323. package/dist/backend/backend/src/services/restart/turn-probe.js +29 -4
  324. package/dist/backend/backend/src/services/restart/turn-probe.js.map +1 -1
  325. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  326. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +4 -0
  327. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  328. package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts +29 -0
  329. package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -1
  330. package/dist/backend/backend/src/services/slack/slack-auto-working.service.js +66 -3
  331. package/dist/backend/backend/src/services/slack/slack-auto-working.service.js.map +1 -1
  332. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +79 -15
  333. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  334. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +200 -41
  335. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  336. package/dist/backend/backend/src/services/slack/slack.service.d.ts +18 -0
  337. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  338. package/dist/backend/backend/src/services/slack/slack.service.js +32 -0
  339. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  340. package/dist/backend/backend/src/services/trace/trace-analysis.service.d.ts +99 -0
  341. package/dist/backend/backend/src/services/trace/trace-analysis.service.d.ts.map +1 -0
  342. package/dist/backend/backend/src/services/trace/trace-analysis.service.js +148 -0
  343. package/dist/backend/backend/src/services/trace/trace-analysis.service.js.map +1 -0
  344. package/dist/backend/backend/src/services/trace/trace-context.service.d.ts +17 -0
  345. package/dist/backend/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
  346. package/dist/backend/backend/src/services/trace/trace-context.service.js +58 -1
  347. package/dist/backend/backend/src/services/trace/trace-context.service.js.map +1 -1
  348. package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts +4 -0
  349. package/dist/backend/backend/src/services/trace/trace-http.middleware.d.ts.map +1 -1
  350. package/dist/backend/backend/src/services/trace/trace-http.middleware.js +32 -2
  351. package/dist/backend/backend/src/services/trace/trace-http.middleware.js.map +1 -1
  352. package/dist/backend/backend/src/services/trace/trace-metrics.d.ts +262 -0
  353. package/dist/backend/backend/src/services/trace/trace-metrics.d.ts.map +1 -0
  354. package/dist/backend/backend/src/services/trace/trace-metrics.js +810 -0
  355. package/dist/backend/backend/src/services/trace/trace-metrics.js.map +1 -0
  356. package/dist/backend/backend/src/services/trace/trace-recorder.d.ts +48 -0
  357. package/dist/backend/backend/src/services/trace/trace-recorder.d.ts.map +1 -1
  358. package/dist/backend/backend/src/services/trace/trace-recorder.js +121 -1
  359. package/dist/backend/backend/src/services/trace/trace-recorder.js.map +1 -1
  360. package/dist/backend/backend/src/services/trace/trace-store.d.ts +40 -1
  361. package/dist/backend/backend/src/services/trace/trace-store.d.ts.map +1 -1
  362. package/dist/backend/backend/src/services/trace/trace-store.js +126 -14
  363. package/dist/backend/backend/src/services/trace/trace-store.js.map +1 -1
  364. package/dist/backend/backend/src/services/trace/trace-summary.d.ts +77 -0
  365. package/dist/backend/backend/src/services/trace/trace-summary.d.ts.map +1 -0
  366. package/dist/backend/backend/src/services/trace/trace-summary.js +239 -0
  367. package/dist/backend/backend/src/services/trace/trace-summary.js.map +1 -0
  368. package/dist/backend/backend/src/services/trace/trace-timeline.d.ts +74 -0
  369. package/dist/backend/backend/src/services/trace/trace-timeline.d.ts.map +1 -0
  370. package/dist/backend/backend/src/services/trace/trace-timeline.js +162 -0
  371. package/dist/backend/backend/src/services/trace/trace-timeline.js.map +1 -0
  372. package/dist/backend/backend/src/services/trace/trace.types.d.ts +22 -3
  373. package/dist/backend/backend/src/services/trace/trace.types.d.ts.map +1 -1
  374. package/dist/backend/backend/src/services/trace/trace.types.js +20 -1
  375. package/dist/backend/backend/src/services/trace/trace.types.js.map +1 -1
  376. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.d.ts +80 -0
  377. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.d.ts.map +1 -0
  378. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.js +184 -0
  379. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt-format-ask.js.map +1 -0
  380. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts +7 -0
  381. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.d.ts.map +1 -1
  382. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js +16 -0
  383. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.service.js.map +1 -1
  384. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts +16 -0
  385. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.d.ts.map +1 -1
  386. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.types.js.map +1 -1
  387. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.d.ts.map +1 -1
  388. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js +2 -1
  389. package/dist/backend/backend/src/services/v3/tl-auto-verify.service.js.map +1 -1
  390. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +8 -0
  391. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  392. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +24 -2
  393. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  394. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts +4 -3
  395. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.d.ts.map +1 -1
  396. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js +3 -2
  397. package/dist/backend/backend/src/services/whatsapp/whatsapp-draft-gate.js.map +1 -1
  398. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  399. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  400. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  401. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
  402. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +3 -0
  403. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
  404. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  405. package/dist/backend/backend/src/services/workflow/scheduler.service.js +3 -0
  406. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  407. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.d.ts.map +1 -1
  408. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js +2 -1
  409. package/dist/backend/backend/src/services/worktree/workitem-worktree.subscriber.js.map +1 -1
  410. package/dist/backend/backend/src/types/decision.types.d.ts +3 -1
  411. package/dist/backend/backend/src/types/decision.types.d.ts.map +1 -1
  412. package/dist/backend/backend/src/types/experiment.types.d.ts +57 -0
  413. package/dist/backend/backend/src/types/experiment.types.d.ts.map +1 -1
  414. package/dist/backend/backend/src/types/experiment.types.js.map +1 -1
  415. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts +9 -0
  416. package/dist/backend/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  417. package/dist/backend/backend/src/types/ticket-autopilot.types.js +14 -0
  418. package/dist/backend/backend/src/types/ticket-autopilot.types.js.map +1 -1
  419. package/dist/backend/backend/src/types/v2/open-item.types.d.ts +4 -0
  420. package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  421. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +1 -1
  422. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  423. package/dist/backend/backend/src/types/v2/work-item.types.js +1 -0
  424. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  425. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts +44 -37
  426. package/dist/backend/backend/src/utils/agent-caller.utils.d.ts.map +1 -1
  427. package/dist/backend/backend/src/utils/agent-caller.utils.js +48 -42
  428. package/dist/backend/backend/src/utils/agent-caller.utils.js.map +1 -1
  429. package/dist/backend/backend/src/utils/secret-env.d.ts.map +1 -1
  430. package/dist/backend/backend/src/utils/secret-env.js +8 -1
  431. package/dist/backend/backend/src/utils/secret-env.js.map +1 -1
  432. package/dist/backend/build-info.json +2 -2
  433. package/dist/backend/config/constants.d.ts +67 -0
  434. package/dist/backend/config/constants.d.ts.map +1 -1
  435. package/dist/backend/config/constants.js +67 -0
  436. package/dist/backend/config/constants.js.map +1 -1
  437. package/dist/cli/backend/src/constants.d.ts +223 -5
  438. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  439. package/dist/cli/backend/src/constants.js +206 -6
  440. package/dist/cli/backend/src/constants.js.map +1 -1
  441. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  442. package/dist/cli/backend/src/services/agent/agent-registration.service.js +12 -2
  443. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  444. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +7 -5
  445. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  446. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +19 -10
  447. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  448. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  449. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +10 -1
  450. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  451. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  452. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +4 -0
  453. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  454. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +29 -0
  455. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  456. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +77 -1
  457. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  458. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  459. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  460. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  461. package/dist/cli/backend/src/services/chat/chat.service.d.ts +99 -2
  462. package/dist/cli/backend/src/services/chat/chat.service.d.ts.map +1 -1
  463. package/dist/cli/backend/src/services/chat/chat.service.js +265 -40
  464. package/dist/cli/backend/src/services/chat/chat.service.js.map +1 -1
  465. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -5
  466. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  467. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +34 -4
  468. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  469. package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts +18 -11
  470. package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.d.ts.map +1 -1
  471. package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js +19 -25
  472. package/dist/cli/backend/src/services/chat-v2/sqlite/channel.store.js.map +1 -1
  473. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +7 -4
  474. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
  475. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +8 -4
  476. package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
  477. package/dist/cli/backend/src/services/chat-v2/types.d.ts +0 -1
  478. package/dist/cli/backend/src/services/chat-v2/types.d.ts.map +1 -1
  479. package/dist/cli/backend/src/services/chat-v2/types.js +0 -1
  480. package/dist/cli/backend/src/services/chat-v2/types.js.map +1 -1
  481. package/dist/cli/backend/src/services/core/api-token.service.d.ts +28 -0
  482. package/dist/cli/backend/src/services/core/api-token.service.d.ts.map +1 -1
  483. package/dist/cli/backend/src/services/core/api-token.service.js +46 -0
  484. package/dist/cli/backend/src/services/core/api-token.service.js.map +1 -1
  485. package/dist/cli/backend/src/services/core/owner-auth.service.d.ts +127 -0
  486. package/dist/cli/backend/src/services/core/owner-auth.service.d.ts.map +1 -0
  487. package/dist/cli/backend/src/services/core/owner-auth.service.js +205 -0
  488. package/dist/cli/backend/src/services/core/owner-auth.service.js.map +1 -0
  489. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts +0 -8
  490. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.d.ts.map +1 -1
  491. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js +0 -18
  492. package/dist/cli/backend/src/services/messaging/thread-status-queue.service.js.map +1 -1
  493. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +19 -0
  494. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  495. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +41 -5
  496. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  497. package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts +184 -0
  498. package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -0
  499. package/dist/cli/backend/src/services/monitoring/agent-turn-state.js +391 -0
  500. package/dist/cli/backend/src/services/monitoring/agent-turn-state.js.map +1 -0
  501. package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.d.ts +73 -0
  502. package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.d.ts.map +1 -0
  503. package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.js +258 -0
  504. package/dist/cli/backend/src/services/monitoring/claude-transcript-turn.js.map +1 -0
  505. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +57 -0
  506. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  507. package/dist/cli/backend/src/services/open-items/open-items.service.js +100 -4
  508. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  509. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts +36 -0
  510. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.d.ts.map +1 -1
  511. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js +42 -3
  512. package/dist/cli/backend/src/services/project-tickets/project-ticket.service.js.map +1 -1
  513. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts +34 -3
  514. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.d.ts.map +1 -1
  515. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js +57 -2
  516. package/dist/cli/backend/src/services/restart/in-flight-turn-tracker.service.js.map +1 -1
  517. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts +22 -0
  518. package/dist/cli/backend/src/services/restart/restart-drain.service.d.ts.map +1 -1
  519. package/dist/cli/backend/src/services/restart/restart-drain.service.js +37 -5
  520. package/dist/cli/backend/src/services/restart/restart-drain.service.js.map +1 -1
  521. package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts +29 -0
  522. package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -1
  523. package/dist/cli/backend/src/services/slack/slack-auto-working.service.js +66 -3
  524. package/dist/cli/backend/src/services/slack/slack-auto-working.service.js.map +1 -1
  525. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +79 -15
  526. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  527. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +200 -41
  528. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  529. package/dist/cli/backend/src/services/slack/slack.service.d.ts +18 -0
  530. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  531. package/dist/cli/backend/src/services/slack/slack.service.js +32 -0
  532. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  533. package/dist/cli/backend/src/services/trace/trace-context.service.d.ts +17 -0
  534. package/dist/cli/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
  535. package/dist/cli/backend/src/services/trace/trace-context.service.js +58 -1
  536. package/dist/cli/backend/src/services/trace/trace-context.service.js.map +1 -1
  537. package/dist/cli/backend/src/services/trace/trace-recorder.d.ts +48 -0
  538. package/dist/cli/backend/src/services/trace/trace-recorder.d.ts.map +1 -1
  539. package/dist/cli/backend/src/services/trace/trace-recorder.js +121 -1
  540. package/dist/cli/backend/src/services/trace/trace-recorder.js.map +1 -1
  541. package/dist/cli/backend/src/services/trace/trace-store.d.ts +40 -1
  542. package/dist/cli/backend/src/services/trace/trace-store.d.ts.map +1 -1
  543. package/dist/cli/backend/src/services/trace/trace-store.js +126 -14
  544. package/dist/cli/backend/src/services/trace/trace-store.js.map +1 -1
  545. package/dist/cli/backend/src/services/trace/trace.types.d.ts +22 -3
  546. package/dist/cli/backend/src/services/trace/trace.types.d.ts.map +1 -1
  547. package/dist/cli/backend/src/services/trace/trace.types.js +20 -1
  548. package/dist/cli/backend/src/services/trace/trace.types.js.map +1 -1
  549. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  550. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  551. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  552. package/dist/cli/backend/src/types/decision.types.d.ts +3 -1
  553. package/dist/cli/backend/src/types/decision.types.d.ts.map +1 -1
  554. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts +9 -0
  555. package/dist/cli/backend/src/types/ticket-autopilot.types.d.ts.map +1 -1
  556. package/dist/cli/backend/src/types/ticket-autopilot.types.js +14 -0
  557. package/dist/cli/backend/src/types/ticket-autopilot.types.js.map +1 -1
  558. package/dist/cli/backend/src/types/v2/open-item.types.d.ts +4 -0
  559. package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
  560. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +1 -1
  561. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  562. package/dist/cli/backend/src/types/v2/work-item.types.js +1 -0
  563. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  564. package/dist/cli/backend/src/utils/secret-env.d.ts.map +1 -1
  565. package/dist/cli/backend/src/utils/secret-env.js +8 -1
  566. package/dist/cli/backend/src/utils/secret-env.js.map +1 -1
  567. package/dist/cli/cli/src/commands/service.d.ts +12 -0
  568. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  569. package/dist/cli/cli/src/commands/service.js +36 -2
  570. package/dist/cli/cli/src/commands/service.js.map +1 -1
  571. package/dist/cli/cli/src/index.js +4 -0
  572. package/dist/cli/cli/src/index.js.map +1 -1
  573. package/dist/cli/cli/src/utils/owner-token-fetch.d.ts +41 -0
  574. package/dist/cli/cli/src/utils/owner-token-fetch.d.ts.map +1 -0
  575. package/dist/cli/cli/src/utils/owner-token-fetch.js +83 -0
  576. package/dist/cli/cli/src/utils/owner-token-fetch.js.map +1 -0
  577. package/dist/cli/cli/src/utils/safe-shutdown.d.ts +13 -3
  578. package/dist/cli/cli/src/utils/safe-shutdown.d.ts.map +1 -1
  579. package/dist/cli/cli/src/utils/safe-shutdown.js +26 -4
  580. package/dist/cli/cli/src/utils/safe-shutdown.js.map +1 -1
  581. package/dist/cli/config/constants.d.ts +67 -0
  582. package/dist/cli/config/constants.d.ts.map +1 -1
  583. package/dist/cli/config/constants.js +67 -0
  584. package/dist/cli/config/constants.js.map +1 -1
  585. package/frontend/dist/assets/index-5cbcf45b.css +42 -0
  586. package/frontend/dist/assets/{index-800118ca.js → index-63a33dbf.js} +291 -291
  587. package/frontend/dist/index.html +2 -2
  588. package/package.json +1 -1
  589. package/packages/crewly-agent/src/runtime/api-client.test.ts +42 -0
  590. package/packages/crewly-agent/src/runtime/api-client.ts +6 -0
  591. package/dist/backend/backend/src/services/v3/request-notification.service.d.ts +0 -52
  592. package/dist/backend/backend/src/services/v3/request-notification.service.d.ts.map +0 -1
  593. package/dist/backend/backend/src/services/v3/request-notification.service.js +0 -161
  594. package/dist/backend/backend/src/services/v3/request-notification.service.js.map +0 -1
  595. package/frontend/dist/assets/index-5e967795.css +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"approvals.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/approvals/approvals.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approvals.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/approvals/approvals.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Owner session for the dashboard (#999, specs/2026-10-03-owner-auth.md §3).
3
+ *
4
+ * - The served UI sets the owner session cookie on page load
5
+ * ({@link createOwnerSessionPageMiddleware}, in front of the static files).
6
+ * - `GET /api/auth/session` issues or confirms it and returns the CSRF token
7
+ * the dashboard sends on every write (`X-Crewly-CSRF`). The frontend calls
8
+ * it on start and after a `401 owner_auth_required` (a tab that outlived a
9
+ * backend restart), and the Vite dev server relies on it.
10
+ *
11
+ * Who gets a session:
12
+ * - a caller that already holds an owner credential (session, API token,
13
+ * relay credential);
14
+ * - a caller on this machine with no agent sign whose client process is not
15
+ * an agent's (see PeerProcessService) — the owner's browser.
16
+ * Agents and agent processes get 403; remote callers without the API token 401.
17
+ *
18
+ * @module controllers/auth/owner-session.controller
19
+ */
20
+ import { Router, type Request, type RequestHandler } from 'express';
21
+ import type { PeerProcessService } from '../../services/core/peer-process.service.js';
22
+ import { type CallerIdentity } from '../../middleware/caller-identity.middleware.js';
23
+ /** Outcome of an issue attempt. */
24
+ export type OwnerSessionDecision = {
25
+ ok: true;
26
+ existingSessionId?: string;
27
+ } | {
28
+ ok: false;
29
+ status: 401 | 403;
30
+ reason: string;
31
+ };
32
+ /**
33
+ * Decide whether this caller may hold an owner session.
34
+ *
35
+ * @param req - Request
36
+ * @param identity - The caller's identity
37
+ * @param peers - Process classifier
38
+ * @returns The decision
39
+ */
40
+ export declare function decideOwnerSession(req: Request, identity: CallerIdentity, peers: PeerProcessService): Promise<OwnerSessionDecision>;
41
+ /**
42
+ * The `/api/auth/session` router (mounted under `/api`, after the
43
+ * caller-identity middleware).
44
+ *
45
+ * @param peers - Process classifier
46
+ * @returns Router
47
+ */
48
+ export declare function createOwnerSessionRouter(peers: PeerProcessService): Router;
49
+ /**
50
+ * Whether a request is a page load of the dashboard (not an asset or API call).
51
+ *
52
+ * @param req - Request
53
+ * @returns True for an HTML navigation
54
+ */
55
+ export declare function isDashboardPageLoad(req: Request): boolean;
56
+ /**
57
+ * Middleware in front of the dashboard's static files: a page load from the
58
+ * owner's browser gets the session cookie. Never blocks the page.
59
+ *
60
+ * @param peers - Process classifier
61
+ * @returns Express middleware
62
+ */
63
+ export declare function createOwnerSessionPageMiddleware(peers: PeerProcessService): RequestHandler;
64
+ //# sourceMappingURL=owner-session.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-session.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/auth/owner-session.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,MAAM,EAAqB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,SAAS,CAAC;AAGtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAuD,KAAK,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAK1I,mCAAmC;AACnC,MAAM,MAAM,oBAAoB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAgCzI;AAyCD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAgB1E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOzD;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc,CAa1F"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Owner session for the dashboard (#999, specs/2026-10-03-owner-auth.md §3).
3
+ *
4
+ * - The served UI sets the owner session cookie on page load
5
+ * ({@link createOwnerSessionPageMiddleware}, in front of the static files).
6
+ * - `GET /api/auth/session` issues or confirms it and returns the CSRF token
7
+ * the dashboard sends on every write (`X-Crewly-CSRF`). The frontend calls
8
+ * it on start and after a `401 owner_auth_required` (a tab that outlived a
9
+ * backend restart), and the Vite dev server relies on it.
10
+ *
11
+ * Who gets a session:
12
+ * - a caller that already holds an owner credential (session, API token,
13
+ * relay credential);
14
+ * - a caller on this machine with no agent sign whose client process is not
15
+ * an agent's (see PeerProcessService) — the owner's browser.
16
+ * Agents and agent processes get 403; remote callers without the API token 401.
17
+ *
18
+ * @module controllers/auth/owner-session.controller
19
+ */
20
+ import * as path from 'path';
21
+ import { Router } from 'express';
22
+ import { OWNER_AUTH_CONSTANTS } from '../../constants.js';
23
+ import { csrfTokenFor, mintOwnerSession, ownerSessionCookieName } from '../../services/core/owner-auth.service.js';
24
+ import { classifyCaller, getCallerIdentity, readOwnerSession } from '../../middleware/caller-identity.middleware.js';
25
+ import { LoggerService } from '../../services/core/logger.service.js';
26
+ const logger = LoggerService.getInstance().createComponentLogger('OwnerSession');
27
+ /**
28
+ * Decide whether this caller may hold an owner session.
29
+ *
30
+ * @param req - Request
31
+ * @param identity - The caller's identity
32
+ * @param peers - Process classifier
33
+ * @returns The decision
34
+ */
35
+ export async function decideOwnerSession(req, identity, peers) {
36
+ if (identity.kind === 'owner' || identity.kind === 'relay-owner') {
37
+ return identity.via === 'owner-session' && identity.ownerSessionId ? { ok: true, existingSessionId: identity.ownerSessionId } : { ok: true };
38
+ }
39
+ if (identity.kind === 'agent')
40
+ return { ok: false, status: 403, reason: 'agents cannot hold an owner session' };
41
+ if (identity.note === 'invalid agent badge')
42
+ return { ok: false, status: 403, reason: 'invalid agent badge' };
43
+ // A session cookie whose CSRF is missing is still a valid session for a read
44
+ // like this one; anything else needs the process check.
45
+ const existing = readOwnerSession(req);
46
+ const verdict = await peers.classify(req.socket);
47
+ switch (verdict.kind) {
48
+ case 'remote':
49
+ return { ok: false, status: 401, reason: 'remote callers need the API token' };
50
+ case 'agent':
51
+ logger.warn('Refused an owner session to an agent process', { session: verdict.session, signal: verdict.signal, path: req.path });
52
+ return { ok: false, status: 403, reason: 'agent process' };
53
+ case 'gone':
54
+ // The sender was gone before it could be looked up (an agent can do
55
+ // that on purpose with a raw socket). Fail closed.
56
+ logger.warn('Refused an owner session: the local client process could not be found', { reason: verdict.reason, path: req.path });
57
+ return { ok: false, status: 401, reason: 'client process not found' };
58
+ case 'unknown':
59
+ logger.warn('Could not tell which local process asked for an owner session — issuing it (fail open)', { reason: verdict.reason });
60
+ return existing ? { ok: true, existingSessionId: existing.id } : { ok: true };
61
+ case 'self':
62
+ case 'not-agent':
63
+ return existing ? { ok: true, existingSessionId: existing.id } : { ok: true };
64
+ default: {
65
+ const unhandled = verdict;
66
+ throw new Error(`Unhandled peer verdict: ${JSON.stringify(unhandled)}`);
67
+ }
68
+ }
69
+ }
70
+ /**
71
+ * Write the session cookie.
72
+ *
73
+ * @param req - Request (port, protocol)
74
+ * @param res - Response
75
+ * @param value - Cookie value
76
+ */
77
+ function setSessionCookie(req, res, value) {
78
+ const name = ownerSessionCookieName(req.socket?.localPort);
79
+ const secure = req.secure ? '; Secure' : '';
80
+ res.append('Set-Cookie', `${name}=${value}; Path=/; HttpOnly; SameSite=Strict; Max-Age=${OWNER_AUTH_CONSTANTS.OWNER_SESSION_MAX_AGE_S}${secure}`);
81
+ }
82
+ /**
83
+ * Issue a session when allowed.
84
+ *
85
+ * @param req - Request
86
+ * @param res - Response (cookie appended)
87
+ * @param identity - The caller's identity
88
+ * @param peers - Process classifier
89
+ * @returns The CSRF token, or the refusal
90
+ */
91
+ async function issue(req, res, identity, peers) {
92
+ const decision = await decideOwnerSession(req, identity, peers);
93
+ if (!decision.ok)
94
+ return { status: decision.status, reason: decision.reason };
95
+ if (decision.existingSessionId)
96
+ return { csrfToken: csrfTokenFor(decision.existingSessionId) };
97
+ const session = mintOwnerSession();
98
+ setSessionCookie(req, res, session.value);
99
+ return { csrfToken: session.csrfToken };
100
+ }
101
+ /**
102
+ * The `/api/auth/session` router (mounted under `/api`, after the
103
+ * caller-identity middleware).
104
+ *
105
+ * @param peers - Process classifier
106
+ * @returns Router
107
+ */
108
+ export function createOwnerSessionRouter(peers) {
109
+ const router = Router();
110
+ router.get(OWNER_AUTH_CONSTANTS.SESSION_ROUTE, async (req, res) => {
111
+ res.setHeader('Cache-Control', 'no-store');
112
+ try {
113
+ const result = await issue(req, res, getCallerIdentity(req), peers);
114
+ if ('status' in result) {
115
+ res.status(result.status).json({ success: false, error: OWNER_AUTH_CONSTANTS.ERRORS.OWNER_AUTH_REQUIRED, message: result.reason });
116
+ return;
117
+ }
118
+ res.json({ success: true, data: { kind: 'owner', csrfToken: result.csrfToken, csrfHeader: OWNER_AUTH_CONSTANTS.CSRF_HEADER } });
119
+ }
120
+ catch (error) {
121
+ res.status(500).json({ success: false, error: error instanceof Error ? error.message : String(error) });
122
+ }
123
+ });
124
+ return router;
125
+ }
126
+ /**
127
+ * Whether a request is a page load of the dashboard (not an asset or API call).
128
+ *
129
+ * @param req - Request
130
+ * @returns True for an HTML navigation
131
+ */
132
+ export function isDashboardPageLoad(req) {
133
+ if (req.method !== 'GET' && req.method !== 'HEAD')
134
+ return false;
135
+ const p = req.path;
136
+ if (p.startsWith('/api/') || p === '/api' || p === '/health' || p.startsWith('/socket.io') || p.startsWith('/ws'))
137
+ return false;
138
+ const ext = path.extname(p);
139
+ if (ext && ext !== '.html')
140
+ return false;
141
+ return typeof req.accepts === 'function' ? req.accepts(['html']) === 'html' : true;
142
+ }
143
+ /**
144
+ * Middleware in front of the dashboard's static files: a page load from the
145
+ * owner's browser gets the session cookie. Never blocks the page.
146
+ *
147
+ * @param peers - Process classifier
148
+ * @returns Express middleware
149
+ */
150
+ export function createOwnerSessionPageMiddleware(peers) {
151
+ return (req, res, next) => {
152
+ if (!isDashboardPageLoad(req)) {
153
+ next();
154
+ return;
155
+ }
156
+ classifyCaller(req, peers)
157
+ .then((identity) => issue(req, res, identity, peers))
158
+ .catch((error) => {
159
+ logger.debug('Owner session not issued on page load', { error: error instanceof Error ? error.message : String(error) });
160
+ })
161
+ .finally(() => next());
162
+ };
163
+ }
164
+ //# sourceMappingURL=owner-session.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"owner-session.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/auth/owner-session.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,9 @@ import { BrowserProxyService } from '../../services/browser/browser-proxy.servic
12
12
  import { CloudClientService } from '../../services/cloud/cloud-client.service.js';
13
13
  import { getBrowserSessions } from '../../services/browser/browser-session.service.js';
14
14
  import { getBrowserApprovals } from '../../services/browser/browser-approval.service.js';
15
- import { parseOwnerInput, planOwnerInput, describeOwnerInput, ownerInputLogFields, parseViewportProbe, estimateViewportFromFrame, VIEWPORT_PROBE_SCRIPT, } from '../../services/browser/owner-browser-input.js';
15
+ import { parseOwnerInput, planOwnerInput, describeOwnerInput, ownerInputLogFields, legacyScrollFor, isUnknownToolError, parseViewportProbe, estimateViewportFromFrame, VIEWPORT_PROBE_SCRIPT, } from '../../services/browser/owner-browser-input.js';
16
16
  import { TaskPoolService } from '../../services/task-pool/task-pool.service.js';
17
- import { BROWSER_BRIDGE_CONSTANTS, BROWSER_OWNER_INPUT_CONSTANTS, BROWSER_SESSION_CONSTANTS } from '../../constants.js';
17
+ import { BROWSER_BRIDGE_CONSTANTS, BROWSER_OWNER_INPUT_CONSTANTS } from '../../constants.js';
18
18
  import { LoggerService } from '../../services/core/logger.service.js';
19
19
  const logger = LoggerService.getInstance().createComponentLogger('BrowserController');
20
20
  /**
@@ -575,6 +575,9 @@ export async function getTabs(req, res) {
575
575
  * @param res - Express response
576
576
  */
577
577
  export async function reloadExtension(req, res) {
578
+ // A reload may bring in a newer build: let each session find out again
579
+ // whether it has `wheel` and scroll-aware frames.
580
+ getBrowserSessions().clearLegacyExtensionMarks();
578
581
  await sendToolCommand(req, res, 'reloadExtension');
579
582
  }
580
583
  /**
@@ -1136,6 +1139,40 @@ const viewportCache = new Map();
1136
1139
  * @returns The viewport in CSS pixels
1137
1140
  */
1138
1141
  async function viewportFor(sessionId, tabId, frameWidth, frameHeight) {
1142
+ const measured = await measuredViewport(sessionId, tabId);
1143
+ if (measured)
1144
+ return measured;
1145
+ const frame = getBrowserSessions().getFrame(sessionId);
1146
+ return estimateViewportFromFrame(frameWidth, frameHeight, frame?.devicePixelRatio, frame?.scale);
1147
+ }
1148
+ /**
1149
+ * The viewport an owner input needs, if any.
1150
+ *
1151
+ * Taps and swipes are mapped from frame pixels; the scroll buttons wheel at
1152
+ * the middle of the page. Text, keys, navigation and Back need none.
1153
+ *
1154
+ * @param sessionId - Session being driven
1155
+ * @param tabId - Its tab
1156
+ * @param input - What the owner did
1157
+ * @returns The viewport, or undefined when the input does not need one
1158
+ */
1159
+ async function ownerInputViewport(sessionId, tabId, input) {
1160
+ if (input.kind === 'tap' || input.kind === 'swipe') {
1161
+ return viewportFor(sessionId, tabId, input.frameWidth, input.frameHeight);
1162
+ }
1163
+ if (input.kind === 'scroll')
1164
+ return measuredViewport(sessionId, tabId);
1165
+ return undefined;
1166
+ }
1167
+ /**
1168
+ * The CSS viewport of a session's tab as measured in the page, cached for
1169
+ * {@link BROWSER_OWNER_INPUT_CONSTANTS.VIEWPORT_CACHE_MS}.
1170
+ *
1171
+ * @param sessionId - Session being driven
1172
+ * @param tabId - Its tab
1173
+ * @returns The viewport, or undefined when the page could not be measured
1174
+ */
1175
+ async function measuredViewport(sessionId, tabId) {
1139
1176
  const cached = viewportCache.get(sessionId);
1140
1177
  if (cached && Date.now() - cached.at <= BROWSER_OWNER_INPUT_CONSTANTS.VIEWPORT_CACHE_MS)
1141
1178
  return cached.viewport;
@@ -1148,10 +1185,9 @@ async function viewportFor(sessionId, tabId, frameWidth, frameHeight) {
1148
1185
  }
1149
1186
  }
1150
1187
  catch {
1151
- // Fall through to the estimate.
1188
+ // Not measurable; the caller decides what to do without it.
1152
1189
  }
1153
- const dpr = getBrowserSessions().getFrame(sessionId)?.devicePixelRatio;
1154
- return estimateViewportFromFrame(frameWidth, frameHeight, dpr, BROWSER_SESSION_CONSTANTS.FRAME_SCALE);
1190
+ return undefined;
1155
1191
  }
1156
1192
  /** Forget cached viewports (tests). */
1157
1193
  export function clearOwnerViewportCache() {
@@ -1221,9 +1257,19 @@ export async function sendOwnerBrowserInput(req, res) {
1221
1257
  return;
1222
1258
  }
1223
1259
  try {
1224
- const viewport = input.kind === 'tap' ? await viewportFor(sessionId, tabId, input.frameWidth, input.frameHeight) : undefined;
1225
- const command = planOwnerInput(input, viewport);
1226
- const result = await sendOwnerCommand(command.tool, { ...command.params, tabId });
1260
+ const viewport = await ownerInputViewport(sessionId, tabId, input);
1261
+ const planned = planOwnerInput(input, viewport);
1262
+ // Extensions before 0.4.23 have no `wheel` (and clip scrolled frames
1263
+ // white). Once a session's extension has said so, go straight to the
1264
+ // document scroll instead of asking again on every swipe.
1265
+ const legacy = legacyScrollFor(planned);
1266
+ const command = legacy && sessions.isLegacyExtension(sessionId) ? legacy : planned;
1267
+ let result = await sendOwnerCommand(command.tool, { ...command.params, tabId });
1268
+ if (legacy && command === planned && result.success === false && isUnknownToolError(result.error, command.tool)) {
1269
+ sessions.markLegacyExtension(sessionId);
1270
+ logger.info('Extension has no wheel; using document scroll and unscaled frames for this session', { sessionId });
1271
+ result = await sendOwnerCommand(legacy.tool, { ...legacy.params, tabId });
1272
+ }
1227
1273
  const failure = classifyExtensionFailure(result);
1228
1274
  const insertFailed = command.tool === 'insertText' &&
1229
1275
  result.result?.success === false;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA4CjC;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAoH5C"}
1
+ {"version":3,"file":"browser.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA2DjC;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAoH5C"}
@@ -9,6 +9,19 @@
9
9
  */
10
10
  import { Router } from 'express';
11
11
  import { getStatus, getInstances, connectProxy, navigate, screenshot, readText, getTabs, reloadExtension, execute, executeJs, click, fill, type, scroll, scrollInElement, hover, pressKey, getElement, waitForSelector, getCookies, getLocalStorage, getConsole, fullPageScreenshot, getInteractiveElements, searchText, listOptions, selectOption, setFileInput, bindTab, unbindTab, getBindings, listBrowserSessions, getBrowserSession, getBrowserSessionFrame, getBrowserSessionFrameJson, stopBrowserSession, takeBrowserControl, releaseBrowserControl, sendOwnerBrowserInput, resolveBrowserPending, } from './browser.controller.js';
12
+ import { ownerOnly } from '../../middleware/caller-identity.middleware.js';
13
+ /** 403 for an agent on the owner's live-browser controls (#999: these had no caller check). */
14
+ const OWNER_ONLY_BROWSER = Object.freeze({
15
+ success: false,
16
+ code: 'agent_not_owner',
17
+ error: 'Only the owner can stop, take over, hand back or answer a held action in a browser session.',
18
+ });
19
+ /** 403 for an agent driving a browser the owner took over. */
20
+ const OWNER_ONLY_BROWSER_INPUT = Object.freeze({
21
+ success: false,
22
+ code: 'agent_not_owner',
23
+ error: 'Only the owner can drive a browser they have taken over. Agents use the normal browser tools.',
24
+ });
12
25
  /**
13
26
  * Create the browser bridge router with all browser control endpoints.
14
27
  *
@@ -88,15 +101,15 @@ export function createBrowserRouter() {
88
101
  // JSON variant for callers reaching this instance over the relay, whose
89
102
  // REST passthrough cannot carry raw bytes.
90
103
  router.get('/sessions/:id/frame.json', getBrowserSessionFrameJson);
91
- router.post('/sessions/:id/stop', stopBrowserSession);
104
+ router.post('/sessions/:id/stop', ownerOnly(OWNER_ONLY_BROWSER), stopBrowserSession);
92
105
  // Taking the wheel. While the owner holds it the agent is refused, so the
93
106
  // two can never drive the same page at once.
94
- router.post('/sessions/:id/take-control', takeBrowserControl);
95
- router.post('/sessions/:id/release-control', releaseBrowserControl);
107
+ router.post('/sessions/:id/take-control', ownerOnly(OWNER_ONLY_BROWSER), takeBrowserControl);
108
+ router.post('/sessions/:id/release-control', ownerOnly(OWNER_ONLY_BROWSER), releaseBrowserControl);
96
109
  // The owner's own taps, text and keys while they hold the wheel — so an
97
110
  // owner on a phone can actually drive, not just lock the agent out.
98
- router.post('/sessions/:id/input', sendOwnerBrowserInput);
99
- router.post('/sessions/:id/pending/:pendingId', resolveBrowserPending);
111
+ router.post('/sessions/:id/input', ownerOnly(OWNER_ONLY_BROWSER_INPUT), sendOwnerBrowserInput);
112
+ router.post('/sessions/:id/pending/:pendingId', ownerOnly(OWNER_ONLY_BROWSER), resolveBrowserPending);
100
113
  return router;
101
114
  }
102
115
  //# sourceMappingURL=browser.routes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.routes.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/browser/browser.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EACN,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,EACP,eAAe,EACf,OAAO,EACP,SAAS,EACT,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,eAAe,EACf,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,EACf,UAAU,EACV,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAE3E,+FAA+F;AAC/F,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,6FAA6F;CACpG,CAAC,CAAC;AAEH,8DAA8D;AAC9D,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,+FAA+F;CACtG,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IAClC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,2EAA2E;IAC3E,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEjC,gEAAgE;IAChE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAEvC,0EAA0E;IAC1E,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE5C,yCAAyC;IACzC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7B,kFAAkF;IAClF,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IAElD,6DAA6D;IAC7D,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnC,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAEnC,+CAA+C;IAC/C,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEnC,oDAAoD;IACpD,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEvC,+CAA+C;IAC/C,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpC,iEAAiE;IACjE,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAEjC,mEAAmE;IACnE,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAEtC,yDAAyD;IACzD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7B,2CAA2C;IAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3B,gDAAgD;IAChD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE3B,yCAAyC;IACzC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE/B,8DAA8D;IAC9D,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE7B,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEpC,mDAAmD;IACnD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAExC,yDAAyD;IACzD,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;IAEnD,sDAAsD;IACtD,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAE/C,6DAA6D;IAC7D,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,CAAC;IAEzD,yEAAyE;IACzE,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,CAAC,CAAC;IAEjE,0DAA0D;IAC1D,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAExC,uDAAuD;IACvD,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAE1C,0EAA0E;IAC1E,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAE5C,qEAAqE;IACrE,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAE7C,sCAAsC;IACtC,kEAAkE;IAClE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9B,mEAAmE;IACnE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,4EAA4E;IAC5E,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAErC,4EAA4E;IAC5E,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;IAC1D,wEAAwE;IACxE,2CAA2C;IAC3C,MAAM,CAAC,GAAG,CAAC,0BAA0B,EAAE,0BAA0B,CAAC,CAAC;IACnE,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAErF,0EAA0E;IAC1E,6CAA6C;IAC7C,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7F,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACnG,wEAAwE;IACxE,oEAAoE;IACpE,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAC/F,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,SAAS,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAC;IAEtG,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"canva.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/canva/canva.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C"}
1
+ {"version":3,"file":"canva.routes.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/canva/canva.routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAajC;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAe1C"}